ChangeLog 225 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268
  1. RCS file: RCS/imapsync,v
  2. Working file: imapsync
  3. head: 2.229
  4. branch:
  5. locks: strict
  6. gilles: 2.229
  7. access list:
  8. symbolic names:
  9. keyword substitution: kv
  10. total revisions: 1129; selected revisions: 1129
  11. description:
  12. ----------------------------
  13. revision 2.229 locked by: gilles;
  14. date: 2022/09/14 18:08:24; author: gilles; state: Exp; lines: +16 -16
  15. Make pass "make linuxtests win32tests win64tests mactests"
  16. ----------------------------
  17. revision 2.228
  18. date: 2022/09/13 12:14:02; author: gilles; state: Exp; lines: +10 -9
  19. Doc. --oauthaccesstoken1 needs --password1 presence. This is a bug.
  20. ----------------------------
  21. revision 2.227
  22. date: 2022/07/28 15:59:38; author: gilles; state: Exp; lines: +347 -112
  23. Bugfix. Fixed memory measurement on MacOS and Win32 Win64
  24. ----------------------------
  25. revision 2.226
  26. date: 2022/07/15 12:02:47; author: gilles; state: Exp; lines: +30 -26
  27. 1966 unit tests
  28. ----------------------------
  29. revision 2.225
  30. date: 2022/07/14 16:56:11; author: gilles; state: Exp; lines: +14 -11
  31. *** empty log message ***
  32. ----------------------------
  33. revision 2.224
  34. date: 2022/07/13 17:33:42; author: gilles; state: Exp; lines: +8 -8
  35. typo connexions connections
  36. ----------------------------
  37. revision 2.223
  38. date: 2022/07/03 10:39:30; author: gilles; state: Exp; lines: +48 -11
  39. Default is now like --noemailreport1 --noemailreport2, no final email report. Popular demand.
  40. Added a stat value: memory footprint times time spent during the sync. Unity MiB * hour. Line "Memory consumption at the end".
  41. ----------------------------
  42. revision 2.222
  43. date: 2022/06/29 12:13:58; author: gilles; state: Exp; lines: +9 -10
  44. Remove --memorystress from CGI options.
  45. ----------------------------
  46. revision 2.221
  47. date: 2022/06/28 23:12:01; author: gilles; state: Exp; lines: +72 -63
  48. CGI context. Refuse to serve when the cpu load is greater than 1 per cpu. A load of 3.9 with 4 cores is ok.
  49. ----------------------------
  50. revision 2.220
  51. date: 2022/06/28 19:01:18; author: gilles; state: Exp; lines: +8 -8
  52. CGI context. Refuse to server when memory left is less than 1 GB.
  53. ----------------------------
  54. revision 2.219
  55. date: 2022/06/25 21:33:30; author: gilles; state: Exp; lines: +24 -19
  56. heavy load by cpu limit from 6 to 3. Because 6 is too big on ks6
  57. ----------------------------
  58. revision 2.218
  59. date: 2022/06/25 06:38:24; author: gilles; state: Exp; lines: +12 -9
  60. Typo. memory_consumption_all_pids_percent with only 2 decimals.
  61. ----------------------------
  62. revision 2.217
  63. date: 2022/06/25 06:16:42; author: gilles; state: Exp; lines: +148 -52
  64. CGI context. Bring back to exit on heavy load by cpu. limit is a load of 6 per core, roughly the number of processes running constantly per core.
  65. ----------------------------
  66. revision 2.216
  67. date: 2022/06/22 18:49:55; author: gilles; state: Exp; lines: +9 -9
  68. typo seconde second
  69. ----------------------------
  70. revision 2.215
  71. date: 2022/06/22 01:44:01; author: gilles; state: Exp; lines: +34 -21
  72. Added --exitonload option. Only available in CGI context for now.
  73. ----------------------------
  74. revision 2.214
  75. date: 2022/06/08 21:28:34; author: gilles; state: Exp; lines: +11 -11
  76. load_percent_threshold is now room for two average imapsync processes.
  77. ----------------------------
  78. revision 2.213
  79. date: 2022/05/20 11:57:22; author: gilles; state: Exp; lines: +48 -33
  80. Filtering buggy flags is now case insensitive. \Junk or \JUNK or \jUnK etc.
  81. Refactoring. Added sub tests_filterbuggyflags()
  82. ----------------------------
  83. revision 2.212
  84. date: 2022/05/19 11:18:09; author: gilles; state: Exp; lines: +67 -16
  85. Bugfix. Do not crash when Proc::ProcessTable field pctmem does not exist.
  86. ----------------------------
  87. revision 2.211
  88. date: 2022/05/19 08:37:14; author: gilles; state: Exp; lines: +10 -10
  89. Last commit 2.210 did not pass the unit tests. Fixed.
  90. ----------------------------
  91. revision 2.210
  92. date: 2022/05/19 08:09:57; author: gilles; state: Exp; lines: +10 -10
  93. Added filtering \JUNK flag in cgi context or with --filterbuggyflags
  94. ----------------------------
  95. revision 2.209
  96. date: 2022/05/15 11:03:02; author: gilles; state: Exp; lines: +37 -9
  97. Enhancement. heavy_load_percent_threshold now based on memory_footprint_average_bytes 300 MB
  98. ----------------------------
  99. revision 2.208
  100. date: 2022/05/13 20:14:25; author: gilles; state: Exp; lines: +8 -8
  101. 90%
  102. ----------------------------
  103. revision 2.207
  104. date: 2022/05/12 16:31:10; author: gilles; state: Exp; lines: +21 -21
  105. memory limit to quit from 100% to 50%. Quick fix.
  106. ----------------------------
  107. revision 2.206
  108. date: 2022/05/12 11:07:07; author: gilles; state: Exp; lines: +139 -54
  109. Added dependency. Perl module Proc::ProcessTable. Not mandatory anyway. For now.
  110. CGI context. Exit when 100% of RAM memory is used by processes. Exit with status value 69 and message "EX_UNAVAILABLE: service unavailable".
  111. Added the % of RAM used by all processes in the memory infi line.
  112. ----------------------------
  113. revision 2.205
  114. date: 2022/05/09 21:29:07; author: gilles; state: Exp; lines: +264 -247
  115. perlcritic. Change all "= shift ;" to " = shift @ARG ;"
  116. ----------------------------
  117. revision 2.204
  118. date: 2022/05/03 22:28:53; author: gilles; state: Exp; lines: +34 -9
  119. Do not report final emails when --dry or --justfolders
  120. ----------------------------
  121. revision 2.203
  122. date: 2022/04/26 22:57:46; author: gilles; state: Exp; lines: +42 -17
  123. Bugfix. Allow quota like: QUOTA "user-defined quota (konsoleH)" (STORAGE 988 48829 MESSAGE 20 20)
  124. Enhancement. Added --memorystress to check memory crunching in normal run.
  125. ----------------------------
  126. revision 2.202
  127. date: 2022/04/18 23:40:20; author: gilles; state: Exp; lines: +89 -20
  128. CGI context. Do not append the log file name to ../list_all_logs_auto.txt when there is no parameters.
  129. ----------------------------
  130. revision 2.201
  131. date: 2022/04/09 08:45:27; author: gilles; state: Exp; lines: +12 -12
  132. Moved all getppid to mygetppid (it adds a comment on Windows, where ppid is too complicated to get.
  133. ----------------------------
  134. revision 2.200
  135. date: 2022/04/04 16:05:55; author: gilles; state: Exp; lines: +14 -10
  136. typo. "check the certificate server" => "check the server certificate."
  137. ----------------------------
  138. revision 2.199
  139. date: 2022/04/01 19:45:33; author: gilles; state: Exp; lines: +15 -14
  140. Enhancement. Added the local ip address for the imap connexions. It can help configuring firewalls to allow the imap source IP.
  141. ----------------------------
  142. revision 2.198
  143. date: 2022/04/01 11:13:01; author: gilles; state: Exp; lines: +10 -12
  144. Added SERVER_NAME SERVER_ADDR SERVER_ADMIN variables and values to the output.
  145. ----------------------------
  146. revision 2.197
  147. date: 2022/03/30 10:43:22; author: gilles; state: Exp; lines: +29 -28
  148. Bugfix. --tests --testslive was listing 0 folders.
  149. Added message "Use --noemailreport1 to avoid it" after putting the email final report in INBOX.
  150. ----------------------------
  151. revision 2.196
  152. date: 2022/03/25 20:35:59; author: gilles; state: Exp; lines: +120 -67
  153. Bugfix. Dates were not displayed under Windows because POSIX::strftime %e is not portable.
  154. Bugfix. Several other places where dates were wrong on Windows.
  155. ----------------------------
  156. revision 2.195
  157. date: 2022/03/24 10:00:09; author: gilles; state: Exp; lines: +26 -29
  158. Added warning "parsing headers of folder ... It can take time for huge folders. Be patient."
  159. ----------------------------
  160. revision 2.194
  161. date: 2022/03/17 11:04:16; author: gilles; state: Exp; lines: +16 -15
  162. Bugfix. --var HTTP_COOKIE=proximapsync_runs=31 was not working because of the second =
  163. ----------------------------
  164. revision 2.193
  165. date: 2022/03/15 11:30:02; author: gilles; state: Exp; lines: +101 -105
  166. Refactor. Deglobalized $debuglist $debugflags
  167. Refactor. Added sync->{ permanentflags2 }
  168. ----------------------------
  169. revision 2.192
  170. date: 2022/03/11 18:26:06; author: gilles; state: Exp; lines: +88 -46
  171. Bugfix. Do not allow --skipcrossduplicates and --usecache. Exit EX_USAGE 64
  172. ----------------------------
  173. revision 2.191
  174. date: 2022/03/08 10:55:21; author: gilles; state: Exp; lines: +131 -48
  175. Added --var to pass values from proximapsync for variables REMOTE_ADDR REMOTE_HOST HTTP_REFERER HTTP_USER_AGENT SERVER_SOFTWARE SERVER_PORT HTTP_COOKIE
  176. ----------------------------
  177. revision 2.190
  178. date: 2022/03/01 21:48:11; author: gilles; state: Exp; lines: +31 -8
  179. Bugfix. Do not turn on --delete2duplicates when --syncduplicates is on, unless --delete2duplicates is given.
  180. ----------------------------
  181. revision 2.189
  182. date: 2022/02/28 18:10:10; author: gilles; state: Exp; lines: +9 -11
  183. Upped ERRORS_MAX_CGI from 20 to 500
  184. ----------------------------
  185. revision 2.188
  186. date: 2022/02/26 22:43:55; author: gilles; state: Exp; lines: +182 -100
  187. Refactor. Changed setlogfile() to be usable for different logs by proximapsync.
  188. ----------------------------
  189. revision 2.187
  190. date: 2022/02/23 12:01:25; author: gilles; state: Exp; lines: +26 -7
  191. Documented why total sizes can differ even when the sync is perfect.
  192. ----------------------------
  193. revision 2.186
  194. date: 2022/02/22 22:39:50; author: gilles; state: Exp; lines: +27 -21
  195. Bugfix. Redirect STDERR to STDOUT in all cases, --log or --nolog
  196. ----------------------------
  197. revision 2.185
  198. date: 2022/02/11 21:36:18; author: gilles; state: Exp; lines: +19 -11
  199. Added option --emailreport1 and --emailreport2. On by default. Use --noemailreport1 and --noemailreport2 to avoid final emails reports in each INBOX.
  200. ----------------------------
  201. revision 2.184
  202. date: 2022/02/10 17:37:57; author: gilles; state: Exp; lines: +91 -31
  203. Added final report to source account also.
  204. ----------------------------
  205. revision 2.183
  206. date: 2022/02/06 13:14:33; author: gilles; state: Exp; lines: +29 -29
  207. Added folder name in the debug output of header identificators
  208. ----------------------------
  209. revision 2.182
  210. date: 2022/02/01 20:49:51; author: gilles; state: Exp; lines: +10 -10
  211. Bugfix. GMT is good but the tests had to be changed also...
  212. ----------------------------
  213. revision 2.181
  214. date: 2022/02/01 20:19:22; author: gilles; state: Exp; lines: +23 -10
  215. Bugfix. Use GMT in tests_email_report_message_id
  216. Bugfix. Make the email report w3c validated. Crazy man!
  217. ----------------------------
  218. revision 2.180
  219. date: 2022/02/01 15:14:51; author: gilles; state: Exp; lines: +373 -30
  220. Enhancement. Append a final email report on account2 at the end of the synchronization. Will be optionnal soon.
  221. ----------------------------
  222. revision 2.179
  223. date: 2022/01/26 14:32:19; author: gilles; state: Exp; lines: +134 -139
  224. README reread, grammarly on it.
  225. Added "Posta inviata" so \Sent with --automap
  226. ----------------------------
  227. revision 2.178
  228. date: 2022/01/12 21:28:37; author: gilles; state: Exp; lines: +75 -13
  229. Added tests_compress_ssl()
  230. ----------------------------
  231. revision 2.177
  232. date: 2021/12/23 20:38:44; author: gilles; state: Exp; lines: +8 -8
  233. Bugfix. 1849 -> 1848 unit tests
  234. ----------------------------
  235. revision 2.176
  236. date: 2021/12/23 20:19:04; author: gilles; state: Exp; lines: +35 -23
  237. Bugfix. memory consumption on Mac was not relevant. Use RSS instead of VSZ, on Mac only. Linux stays with VSZ.
  238. ----------------------------
  239. revision 2.175
  240. date: 2021/12/21 17:46:14; author: gilles; state: Exp; lines: +23 -21
  241. Bugix. Darwin, fixed loadavg tests, no more W/t/loadavg.out needed.
  242. ----------------------------
  243. revision 2.174
  244. date: 2021/12/14 15:51:58; author: gilles; state: Exp; lines: +62 -17
  245. Added advice for:
  246. ERR_APPEND_SIZE
  247. ERR_CONNECTION_FAILURE_HOST1
  248. ERR_CONNECTION_FAILURE_HOST2
  249. ERR_AUTHENTICATION_FAILURE_USER1
  250. ERR_AUTHENTICATION_FAILURE_USER2
  251. ----------------------------
  252. revision 2.173
  253. date: 2021/12/09 18:30:34; author: gilles; state: Exp; lines: +61 -40
  254. Bugfix. Made reconnect mechanism works with --oauthdirect1 --oauthdirect2 --oauthaccesstoken1 --oauthaccesstoken2
  255. ----------------------------
  256. revision 2.172
  257. date: 2021/12/07 18:19:42; author: gilles; state: Exp; lines: +27 -17
  258. Added some tests to tests_get_options_from_string() and tests_get_options_extra()
  259. I can not have the unknown options back with Getopt::Long::GetOptionsFromString(), just the unknown values, ie, caca but not --caca
  260. ----------------------------
  261. revision 2.171
  262. date: 2021/12/07 17:50:12; author: gilles; state: Exp; lines: +14 -8
  263. Added --ssl1 --ssl2 --tls1 --tls2 --compress1 --compress2 to get_options_from_string()
  264. ----------------------------
  265. revision 2.170
  266. date: 2021/12/07 17:19:44; author: gilles; state: Exp; lines: +12 -8
  267. Added --keepalive1 --keepalive2 --reconnectretry1 --reconnectretry2 in get_options_from_string()
  268. ----------------------------
  269. revision 2.169
  270. date: 2021/12/07 17:13:44; author: gilles; state: Exp; lines: +101 -36
  271. Added --keepalive1 and --keepalive2 options. On by default.
  272. See https://metacpan.org/pod/Mail::IMAPClient#Keepalive
  273. Use --nokeepalive1 and --nokeepalive2 to disable Keepalive.
  274. ----------------------------
  275. revision 2.168
  276. date: 2021/12/05 23:27:27; author: gilles; state: Exp; lines: +29 -11
  277. Added --debugflags --errorsmax --folder --timeout in options from file
  278. ----------------------------
  279. revision 2.167
  280. date: 2021/12/02 16:59:51; author: gilles; state: Exp; lines: +9 -9
  281. Moved the call to extra options after the chdir of the CGI context.
  282. ----------------------------
  283. revision 2.166
  284. date: 2021/12/02 15:23:37; author: gilles; state: Exp; lines: +107 -9
  285. Now read extra options on the first line of the file ./options_extra.txt if it is present and readable.
  286. ----------------------------
  287. revision 2.165
  288. date: 2021/11/30 20:27:38; author: gilles; state: Exp; lines: +30 -11
  289. cpu_time rounded with 2 decimals.
  290. Added 4 tests when no compression is on.
  291. ----------------------------
  292. revision 2.164
  293. date: 2021/11/24 21:26:46; author: gilles; state: Exp; lines: +12 -11
  294. Compression no more on by default. Just to see.
  295. ----------------------------
  296. revision 2.163
  297. date: 2021/11/20 20:11:46; author: gilles; state: Exp; lines: +8 -7
  298. Bugfix. imapsync --version was buggy in docker context.
  299. ----------------------------
  300. revision 2.162
  301. date: 2021/11/20 10:16:33; author: gilles; state: Exp; lines: +14 -12
  302. Docker. Current working directory changed from /var/tmp to /var/tmp/uid_$EFFECTIVE_USER_ID
  303. ----------------------------
  304. revision 2.161
  305. date: 2021/11/19 18:17:48; author: gilles; state: Exp; lines: +8 -8
  306. Bugfix. inline doc mentioned always --nocompress1
  307. ----------------------------
  308. revision 2.160
  309. date: 2021/11/19 14:40:58; author: gilles; state: Exp; lines: +10 -7
  310. Added inline documentation about --nocompress1 and --nocompress2
  311. ----------------------------
  312. revision 2.159
  313. date: 2021/11/19 14:29:31; author: gilles; state: Exp; lines: +113 -12
  314. Dependency. Added use Compress::Zlib
  315. Enhancement. Added compression in imap. On by default no matter the capability announced. Use --nocompress1 and --nocompress2 to turn it off.
  316. ----------------------------
  317. revision 2.158
  318. date: 2021/11/13 20:01:35; author: gilles; state: Exp; lines: +13 -7
  319. Added README help for --truncmess
  320. ----------------------------
  321. revision 2.157
  322. date: 2021/10/23 21:51:43; author: gilles; state: Exp; lines: +61 -16
  323. Refactor. Deglobalized $debugcontent. Added debugcontent() function.
  324. 1800 unit tests.
  325. ----------------------------
  326. revision 2.156
  327. date: 2021/10/12 13:36:36; author: gilles; state: Exp; lines: +72 -71
  328. Added comment for ERR_FLAGS "Many STORE errors with FLAGS. Retry with the option --noresyncflags"
  329. Refactored errors_incr() and errors_listing()
  330. Bugfix. errors_incr() existed with CATCH_ALL
  331. ----------------------------
  332. revision 2.155
  333. date: 2021/10/01 07:46:55; author: gilles; state: Exp; lines: +9 -8
  334. Like --useheader X-Gmail-Received --useheader Message-Id when --gmail1 --gmail2
  335. ----------------------------
  336. revision 2.154
  337. date: 2021/09/29 20:38:04; author: gilles; state: Exp; lines: +8 -8
  338. Bugfix. Added 'E&AwE-le&AwE-ments envoye&AwE-s' in possible_special
  339. ----------------------------
  340. revision 2.153
  341. date: 2021/09/29 13:56:15; author: gilles; state: Exp; lines: +34 -12
  342. Does not checknoabletosearch if --justfolders
  343. When creating folder check if selectable and consider ok if selectable
  344. ----------------------------
  345. revision 2.152
  346. date: 2021/09/29 12:03:12; author: gilles; state: Exp; lines: +362 -58
  347. Added inline advice on error ERR_OVERQUOTA
  348. Added inline advice on error ERR_TRANSFER_EXCEEDED
  349. Renamed function bytes_display_string() bytes_display_string_bin()
  350. bytes_display_string_bin converts bytes to human KiB MiB GiB TiB PiB
  351. Added function bytes_display_string_dec() to convert bytes to human decimal KB MB GB TB PB (1000 base)
  352. ----------------------------
  353. revision 2.151
  354. date: 2021/09/08 10:34:25; author: gilles; state: Exp; lines: +23 -18
  355. Bugfix. load average on macosx was sometimes buggy. locale float 3,14 instead of 3.14
  356. ----------------------------
  357. revision 2.150
  358. date: 2021/08/08 12:10:51; author: gilles; state: Exp; lines: +9 -10
  359. Refactor. Deglobalized warn_release variable
  360. ----------------------------
  361. revision 2.149
  362. date: 2021/07/31 11:24:24; author: gilles; state: Exp; lines: +7 -26
  363. Removed --fast option.
  364. ----------------------------
  365. revision 2.148
  366. date: 2021/07/22 14:21:09; author: gilles; state: Exp; lines: +10 -10
  367. Bugfix. abort didn't do charset=UTF-8; same for heavy load 503 Service Unavailable
  368. ----------------------------
  369. revision 2.147
  370. date: 2021/07/22 13:13:50; author: gilles; state: Exp; lines: +12 -12
  371. Bugfix. The maximum number a pid can be is 2^22, not 2^32.
  372. ----------------------------
  373. revision 2.146
  374. date: 2021/07/22 12:48:21; author: gilles; state: Exp; lines: +8 -8
  375. 1742 unit tests.
  376. ----------------------------
  377. revision 2.145
  378. date: 2021/07/22 12:45:31; author: gilles; state: Exp; lines: +16 -13
  379. Bugfix. Up the maximum number a pid can be. From 99999 to 2^32. See https://unix.stackexchange.com/questions/16883/what-is-the-maximum-value-of-the-process-id
  380. ----------------------------
  381. revision 2.144
  382. date: 2021/07/17 18:07:59; author: gilles; state: Exp; lines: +13 -10
  383. Just an experimental loaddelay forced to 0.
  384. ----------------------------
  385. revision 2.143
  386. date: 2021/07/12 19:45:44; author: gilles; state: Exp; lines: +111 -15
  387. Bugfix. Under docker context --version was buggy, too verbose.
  388. ----------------------------
  389. revision 2.142
  390. date: 2021/07/12 14:04:01; author: gilles; state: Exp; lines: +17 -19
  391. Removed that hard limit --maxsize 35_651_584 set by --gmail2 since CAPABILITY is used and good.
  392. ----------------------------
  393. revision 2.141
  394. date: 2021/07/06 02:59:19; author: gilles; state: Exp; lines: +8 -8
  395. cpu_time param
  396. ----------------------------
  397. revision 2.140
  398. date: 2021/07/05 20:14:18; author: gilles; state: Exp; lines: +14 -10
  399. Fixed perlcrit 4 severity 4 violations.
  400. ----------------------------
  401. revision 2.139
  402. date: 2021/07/04 21:03:28; author: gilles; state: Exp; lines: +14 -14
  403. Adapted to oauth2/generate_gmail_token
  404. ----------------------------
  405. revision 2.138
  406. date: 2021/07/01 08:40:50; author: gilles; state: Exp; lines: +13 -10
  407. Moved oauthgenerateaccess() call.
  408. ----------------------------
  409. revision 2.137
  410. date: 2021/07/01 08:13:52; author: gilles; state: Exp; lines: +32 -10
  411. Bugfix. imapsync did nothing with the previous change.
  412. ----------------------------
  413. revision 2.136
  414. date: 2021/06/30 23:16:13; author: gilles; state: Exp; lines: +295 -176
  415. Review the README part.
  416. Added option --filterbuggyflags to filter the well known buggy flags that generate errors "BAD Invalid system flag" or "NO APPEND Invalid flag list".
  417. 1734 unit tests.
  418. Some refactoring.
  419. ----------------------------
  420. revision 2.135
  421. date: 2021/06/29 20:38:40; author: gilles; state: Exp; lines: +58 -46
  422. Reviewed README section until flags options.
  423. ----------------------------
  424. revision 2.134
  425. date: 2021/06/29 12:14:49; author: gilles; state: Exp; lines: +40 -14
  426. Avoid unit tests on polarhome macosx where "ssl3_get_server_certificate:certificate verify failed". No clue to fix that.
  427. ----------------------------
  428. revision 2.133
  429. date: 2021/06/28 08:07:25; author: gilles; state: Exp; lines: +13 -12
  430. Fixed some unit tests for polarhome macosx
  431. ----------------------------
  432. revision 2.132
  433. date: 2021/06/26 23:19:40; author: gilles; state: Exp; lines: +40 -17
  434. Added tests to test cpu_number() on Windows MacOS
  435. ----------------------------
  436. revision 2.131
  437. date: 2021/06/25 16:20:38; author: gilles; state: Exp; lines: +57 -13
  438. Bugfix. cpu_number was accurate only on Linux. Added Freebsd
  439. ----------------------------
  440. revision 2.130
  441. date: 2021/06/25 11:11:03; author: gilles; state: Exp; lines: +108 -36
  442. Added percentage of all cpu in stats
  443. ----------------------------
  444. revision 2.129
  445. date: 2021/06/24 16:59:49; author: gilles; state: Exp; lines: +8 -8
  446. Removed a debug print
  447. ----------------------------
  448. revision 2.128
  449. date: 2021/06/24 16:54:00; author: gilles; state: Exp; lines: +8 -8
  450. 1702 tests
  451. ----------------------------
  452. revision 2.127
  453. date: 2021/06/24 15:42:11; author: gilles; state: Exp; lines: +46 -16
  454. Added statistic line "CPU time and %cpu"
  455. ----------------------------
  456. revision 2.126
  457. date: 2021/06/24 09:37:47; author: gilles; state: Exp; lines: +87 -33
  458. Added --loglogfile option. Append ../list_all_logs_auto.txt with the logfile name. On by default in CGI context.
  459. Some refactoring, file_to_array file_to_string functions.
  460. ----------------------------
  461. revision 2.125
  462. date: 2021/06/20 16:50:46; author: gilles; state: Exp; lines: +66 -25
  463. Do not check selectable folders for huge accounts with more than 152 folders. 98percentile of /X
  464. ----------------------------
  465. revision 2.124
  466. date: 2021/06/17 12:29:22; author: gilles; state: Exp; lines: +8 -8
  467. Testfix. Sometimes GMT is output UTC.
  468. ----------------------------
  469. revision 2.123
  470. date: 2021/06/17 11:56:20; author: gilles; state: Exp; lines: +30 -27
  471. CGI context. Sync duplicates by default in cgi context.
  472. ----------------------------
  473. revision 2.122
  474. date: 2021/06/16 19:36:21; author: gilles; state: Exp; lines: +15 -17
  475. Stats. Final line "Biggest message" was in fact "Biggest message" to be transferred. Now it is "Biggest message transferred".
  476. ----------------------------
  477. revision 2.121
  478. date: 2021/06/15 22:43:18; author: gilles; state: Exp; lines: +150 -89
  479. Refactor. Splited sub myGetOptions() into sub setvalfromcgikey sub setvalfromlist sub setvalfromhash sub setvalfromcheckbox. Not very clean but better than the huge old one.
  480. ----------------------------
  481. revision 2.120
  482. date: 2021/06/15 22:32:28; author: gilles; state: Exp; lines: +54 -38
  483. Change time presentation on ETA and in final stats. Example: Wednesday 16 June 2021-06-16 00:32:05 +0200 CEST
  484. Added the timezone and full day
  485. ----------------------------
  486. revision 2.119
  487. date: 2021/06/06 10:21:34; author: gilles; state: Exp; lines: +162 -109
  488. Added localtimez function to replace localtime, date and time with the timezone added. Not replaced yet.
  489. Remove a useless warning "File xxx.pid does not exist" in tail function.
  490. Made oauth2 tests dependent on oauth2_string_for_oauthdirect.txt oauth2_access_token.txt presence.
  491. Added info "Exiting because of --justbanner" with --justbanner
  492. ----------------------------
  493. revision 2.118
  494. date: 2021/05/31 22:18:16; author: gilles; state: Exp; lines: +16 -11
  495. In CGI context, the log directory is no longer ./LOG_imapsync/ but simply ./ It should fasten the searches and grep
  496. ----------------------------
  497. revision 2.117
  498. date: 2021/05/27 18:04:12; author: gilles; state: Exp; lines: +20 -16
  499. Load limit 3x => 6x
  500. ----------------------------
  501. revision 2.116
  502. date: 2021/05/21 16:41:12; author: gilles; state: Exp; lines: +39 -53
  503. load limit upped to 3
  504. ----------------------------
  505. revision 2.115
  506. date: 2021/05/05 23:41:12; author: gilles; state: Exp; lines: +11 -8
  507. Advantage of a file when using --oauthaccesstoken1 str
  508. ----------------------------
  509. revision 2.114
  510. date: 2021/05/05 19:03:24; author: gilles; state: Exp; lines: +48 -21
  511. Documented --oauthaccesstoken1 and --oauthdirect1 and the 2 sisters.
  512. ----------------------------
  513. revision 2.113
  514. date: 2021/05/03 20:47:18; author: gilles; state: Exp; lines: +118 -35
  515. Implemented --oauthaccesstoken1 and --oauthaccesstoken2
  516. 1691 unit tests
  517. ----------------------------
  518. revision 2.112
  519. date: 2021/04/30 17:55:05; author: gilles; state: Exp; lines: +257 -248
  520. Added --noabletosearch README
  521. Removed trailing blanks, perlcrit "Found "\N{SPACE}" at the end of the line"
  522. ----------------------------
  523. revision 2.111
  524. date: 2021/04/30 07:40:41; author: gilles; state: Exp; lines: +615 -408
  525. Added options --oauthdirect1 and --oauthdirect2
  526. to support OAUTH2 authentication.
  527. The parameter value is the direct string given to the XOAUTH2 imap command.
  528. Added option --syncduplicates to sync duplicates.
  529. Added option --trylogin on by default.
  530. After a login failure of any king, imapsync tries to login
  531. with the LOGIN command. Use --notrylogin to avoid that.
  532. Reduced sub login_imap() number of parameters from 19 to 10.
  533. Added options --oauthaccesstoken1 and --oauthaccesstoken2, not implemented yet.
  534. Removed old OAUTH1 support. I hope no one will be touched by this removal, if
  535. yes, I'll bring it back.
  536. ----------------------------
  537. revision 2.110
  538. date: 2021/03/28 17:34:29; author: gilles; state: Exp; lines: +25 -16
  539. --timeout can now be a float (was only integer). Same for --timeout1 --timeout2
  540. Warning about a timeout by the webserver in CGI mode.
  541. $timeout no longer a variable (global).
  542. ----------------------------
  543. revision 2.109
  544. date: 2021/03/13 19:39:37; author: gilles; state: Exp; lines: +59 -25
  545. Added message ""No log file because of option --nolog".
  546. Added possibility of no logging in cgi context, with log=0 or log= in the parameters
  547. Added possibility of float number for --simulong instead of integer.
  548. 1672 unit tests.
  549. ----------------------------
  550. revision 2.108
  551. date: 2021/02/25 10:35:33; author: gilles; state: Exp; lines: +27 -23
  552. Bugfix. In sub delete_messages_on_any, the uidexpunge_or_expunge call was
  553. always done with an empty array so no expunge was done there.
  554. Fortunately, expunge was done elsewhere so this bug was not disastrous.
  555. There is functionnal tests to check expunge behaviour anyway.
  556. ----------------------------
  557. revision 2.107
  558. date: 2021/02/09 20:02:55; author: gilles; state: Exp; lines: +9 -9
  559. Back from Message-Id to Message-Id Received in cgisetcontext
  560. ----------------------------
  561. revision 2.106
  562. date: 2021/02/09 19:59:13; author: gilles; state: Exp; lines: +222 -16
  563. Added some tests in sub tests_regexmess to remove a buggy header on multi-lines not all starting with a blank. 's{X-Spam-Report:.*?\n(^[^\n]+:|^\r?\n)}{$1}xms'
  564. ----------------------------
  565. revision 2.105
  566. date: 2021/02/02 11:17:15; author: gilles; state: Exp; lines: +30 -14
  567. Added tests "Add a final \r\n if missing" in sub tests_regexmess
  568. ----------------------------
  569. revision 2.104
  570. date: 2021/01/27 15:14:09; author: gilles; state: Exp; lines: +76 -70
  571. Added test to "Change 8bit characters in whole email to X characters" in sub tests_regexmess
  572. ----------------------------
  573. revision 2.103
  574. date: 2021/01/20 16:28:06; author: gilles; state: Exp; lines: +46 -20
  575. Removed the exit_clean call when "Can not go to tls encryption on" in sub login_imap()
  576. 1652 tests
  577. ----------------------------
  578. revision 2.102
  579. date: 2020/12/13 23:48:30; author: gilles; state: Exp; lines: +43 -20
  580. Bugfix. EXIT_ERR_APPEND_VIRUS had no message upon exit.
  581. Bugfix. In --dry mode the final "Messages transferred : 0 (could be 1264 without dry mode)" is ok when the folders does not exist yet.
  582. ----------------------------
  583. revision 2.101
  584. date: 2020/12/08 23:47:13; author: gilles; state: Exp; lines: +171 -40
  585. Added EXIT_CONNECTION_FAILURE_HOST1 101 return code
  586. Added EXIT_CONNECTION_FAILURE_HOST2 102 return code
  587. Added EXIT_AUTHENTICATION_FAILURE_USER1 161 return code
  588. Added EXIT_AUTHENTICATION_FAILURE_USER2 162 return code
  589. Do both side login and authentication before exiting on falure.
  590. ----------------------------
  591. revision 2.100
  592. date: 2020/12/07 00:45:50; author: gilles; state: Exp; lines: +24 -9
  593. New numbering from 1.999 directly to 2.100 I want to avoid 1.1000 and sorting issues in directory listing.
  594. Added option --dry1 it avoids to fetch the message on host1. --dry1 is on when --dry is on. It speeds up --dry very much.
  595. ----------------------------
  596. revision 1.999
  597. date: 2020/12/02 20:41:50; author: gilles; state: Exp; lines: +69 -34
  598. Added a section "How do you know a sync is finished and well done?"
  599. When creating a directory, now the current directory is also printed.
  600. It helps when the directory created is relative.
  601. Bugfix. resolv: imapsync.lamiral.info => 2001:41d0:2:84e0::1 (was 91.121.221.224)
  602. ----------------------------
  603. revision 1.998
  604. date: 2020/08/17 10:18:25; author: gilles; state: Exp; lines: +302 -108
  605. 1638 regression tests.
  606. Added option --abortbyfile to be able to be aborted by a file presence (context: webserver on windows)
  607. Reviewed and fixed sub acls_sync(). Did not work and made bad things.
  608. Added exit value EXIT_BY_FILE => 7
  609. Added exit value EXIT_TRANSFER_EXCEEDED => 118
  610. ----------------------------
  611. revision 1.997
  612. date: 2020/07/16 10:58:14; author: gilles; state: Exp; lines: +20 -17
  613. Gmail update
  614. gmail12: maxbytespersecond 20_000 maxbytesafter 1_000_000_000
  615. gmail1 : maxbytespersecond 40_000 maxbytesafter 3_000_000_000 (was 2_500_000_000)
  616. gmail2 : maxbytespersecond 20_000 maxbytesafter 1_000_000_000
  617. ----------------------------
  618. revision 1.996
  619. date: 2020/06/19 09:53:38; author: gilles; state: Exp; lines: +69 -20
  620. Added exit 118 EXIT_TRANSFER_EXCEEDED when "Maximum bytes transferred reached" with option --exitwhenover
  621. Added error type ERR_TRANSFER_EXCEEDED.
  622. ----------------------------
  623. revision 1.995
  624. date: 2020/06/17 18:55:01; author: gilles; state: Exp; lines: +9 -8
  625. Added exitwhenover as an option in cgi context.
  626. ----------------------------
  627. revision 1.994
  628. date: 2020/06/14 12:10:30; author: gilles; state: Exp; lines: +76 -22
  629. Bugfix. Fixed some "Exiting with return value ()". Added ERR_NOTHING_REPORTED error and exit EXIT_CATCH_ALL ie 1 in case.
  630. ----------------------------
  631. revision 1.993
  632. date: 2020/06/12 09:10:20; author: gilles; state: Exp; lines: +10 -8
  633. Docfix. Fixed issue https://github.com/imapsync/imapsync/issues/213
  634. Precision about --delete2duplicates
  635. ----------------------------
  636. revision 1.992
  637. date: 2020/05/29 12:14:53; author: gilles; state: Exp; lines: +156 -34
  638. Bugfix. fatal string causing "Wide character in subroutine entry"
  639. ----------------------------
  640. revision 1.991
  641. date: 2020/05/12 20:37:48; author: gilles; state: Exp; lines: +86 -25
  642. Bugfix. --checknoabletosearch was not adaptive.
  643. Fix. tests sslheck now use test1.lamiral.info instead of imapsync.lamiral.info
  644. Fix. tests_resolv now use ks6ipv6.lamiral.info instead of ks2ipv6.lamiral.info
  645. Bugfix. Better closing of logfile at the end in order to avoid in Apache error log "AH01215: print() on closed filehandle $logfile_handle"
  646. ----------------------------
  647. revision 1.990
  648. date: 2020/05/03 17:07:36; author: gilles; state: Exp; lines: +7 -7
  649. Bugfix. Forgot to map ERR_Host1_FETCH to EXIT_ERR_FETCH,
  650. ----------------------------
  651. revision 1.989
  652. date: 2020/05/03 17:07:17; author: gilles; state: Exp; lines: +8 -7
  653. *** empty log message ***
  654. ----------------------------
  655. revision 1.988
  656. date: 2020/04/29 21:52:20; author: gilles; state: Exp; lines: +37 -8
  657. Sanitize host1 and host2 values. Remove blanks and / characters.
  658. ----------------------------
  659. revision 1.987
  660. date: 2020/04/29 02:34:00; author: gilles; state: Exp; lines: +253 -18
  661. Added an analyse and classification of the errors encountered.
  662. Most common error encountered is printed at the end.
  663. Exit value 112 is now replaced by the most common error encountered exit value
  664. 113 is EXIT_OVERQUOTA
  665. 114 is EXIT_ERR_APPEND
  666. 115 is EXIT_ERR_FETCH
  667. 116 is EXIT_ERR_CREATE
  668. 117 is EXIT_ERR_SELECT
  669. 111 is EXIT_WITH_ERRORS ERR_UNCLASSIFIED
  670. ----------------------------
  671. revision 1.986
  672. date: 2020/04/26 11:05:55; author: gilles; state: Exp; lines: +37 -36
  673. Changed filter_forbidden_characters() to replace non-ascii and control characters and spaces by character _
  674. ----------------------------
  675. revision 1.985
  676. date: 2020/04/25 14:50:30; author: gilles; state: Exp; lines: +48 -23
  677. Added unit tests to prepare "Wide character in subroutine entry".
  678. ----------------------------
  679. revision 1.984
  680. date: 2020/04/22 10:35:44; author: gilles; state: Exp; lines: +30 -15
  681. Bugfix. Empty subject https://github.com/imapsync/imapsync/pull/216 added unit test regression.
  682. ----------------------------
  683. revision 1.983
  684. date: 2020/03/19 02:08:12; author: gilles; state: Exp; lines: +96 -13
  685. Filter flags \PRIORITY \READRCPT in cgi context.
  686. Now check if SEARCH ALL works on both accounts and then add --noabletosearch if one can not. Use --nochecknoabletosearch to avoid that behavior.
  687. ----------------------------
  688. revision 1.982
  689. date: 2020/03/16 15:17:02; author: gilles; state: Exp; lines: +60 -29
  690. Rewrote tests in tests_msgs_from_maxmin() (same ones anyway)
  691. ----------------------------
  692. revision 1.981
  693. date: 2020/02/14 12:10:13; author: gilles; state: Exp; lines: +18 -8
  694. Bugfix. CGI not fatal with imapsync --tests
  695. ----------------------------
  696. revision 1.980
  697. date: 2020/01/18 20:37:27; author: gilles; state: Exp; lines: +9 -9
  698. Updated @regexflag in cgi context.
  699. ----------------------------
  700. revision 1.979
  701. date: 2020/01/14 22:26:11; author: gilles; state: Exp; lines: +47 -30
  702. Added regex --regexflag from /X analyse in cgi context.
  703. ----------------------------
  704. revision 1.978
  705. date: 2020/01/08 21:56:12; author: gilles; state: Exp; lines: +11 -11
  706. Added single quote ' filtering in filter_forbidden_characters()
  707. ----------------------------
  708. revision 1.977
  709. date: 2019/12/23 20:18:02; author: gilles; state: Exp; lines: +10 -10
  710. No tests_resolv( ) since resolv is not really used and tests_resolv( ) fails on mac (I do not have write to /etc/hosts)
  711. ----------------------------
  712. revision 1.976
  713. date: 2019/12/19 15:37:33; author: gilles; state: Exp; lines: +16 -12
  714. Moved tests tests_probe_imapssl tests_mailimapclient_connect tests_resolv at the end.
  715. ----------------------------
  716. revision 1.975
  717. date: 2019/12/19 10:44:23; author: gilles; state: Exp; lines: +21 -13
  718. Commented the tests_kill* tests
  719. Added a resolv petiteipv6.lamiral.info before check it (frequent failure)
  720. ----------------------------
  721. revision 1.974
  722. date: 2019/12/16 13:01:18; author: gilles; state: Exp; lines: +18 -9
  723. Enhancement, internal. Use Debug_fh to set where go the --debugimap outputs.
  724. ----------------------------
  725. revision 1.973
  726. date: 2019/12/15 00:27:10; author: gilles; state: Exp; lines: +8 -8
  727. Bugfix. Upgraded ks2 Dovecot and now logout in ssl does not cause failure
  728. ----------------------------
  729. revision 1.972
  730. date: 2019/12/14 23:45:12; author: gilles; state: Exp; lines: +9 -9
  731. Added -utf8 when requiring CGI. Hope it will allow utf8 characters in passwords.
  732. ----------------------------
  733. revision 1.971
  734. date: 2019/12/14 23:41:41; author: gilles; state: Exp; lines: +8 -8
  735. Bugfix. CGI context. charset was charset=ISO-8859-1 in header (CGI.pm default). Now "text/plain; charset=UTF-8"
  736. ----------------------------
  737. revision 1.970
  738. date: 2019/12/09 23:09:05; author: gilles; state: Exp; lines: +297 -259
  739. Reread README part.
  740. Change tests. ks2ipv6.lamiral.info replaced by petiteipv6.lamiral.info
  741. 1510 unit tests
  742. ----------------------------
  743. revision 1.969
  744. date: 2019/11/29 13:00:32; author: gilles; state: Exp; lines: +9 -9
  745. 1509 unit tests
  746. ----------------------------
  747. revision 1.968
  748. date: 2019/11/29 12:42:13; author: gilles; state: Exp; lines: +29 -19
  749. Bugfix. binmode UTF-8 for log and output.
  750. ----------------------------
  751. revision 1.967
  752. date: 2019/11/27 20:41:34; author: gilles; state: Exp; lines: +9 -9
  753. Bugfix. Bad tests count under docker
  754. ----------------------------
  755. revision 1.966
  756. date: 2019/11/27 20:23:08; author: gilles; state: Exp; lines: +10 -9
  757. Commented test probe_imapssl: ks2ipv6.lamiral.info
  758. ----------------------------
  759. revision 1.965
  760. date: 2019/11/27 20:16:32; author: gilles; state: Exp; lines: +13 -11
  761. Removed some tests that take time and sometimes fail (ipv6 related)
  762. ----------------------------
  763. revision 1.964
  764. date: 2019/11/27 15:50:39; author: gilles; state: Exp; lines: +52 -27
  765. CGI context. Adaptation to a local http server webserver. pidfile and cgidir.
  766. Added Encode Encode::IMAPUTF7 and MIME::Base64 modules versions.
  767. Removed doublon "use MIME::Base64".
  768. Bugfix. Make --tests pass on docker context and under root.
  769. ----------------------------
  770. revision 1.963
  771. date: 2019/11/25 12:38:44; author: gilles; state: Exp; lines: +52 -18
  772. Skip tests under Win Win64 and Mac that fail. ipv6 related or fork ones.
  773. ----------------------------
  774. revision 1.962
  775. date: 2019/11/22 09:51:29; author: gilles; state: Exp; lines: +19 -9
  776. Added dependencies:
  777. * MIME::Base64
  778. * Encode
  779. Added test for Encode::find_encoding that fails with the binaries not cmpiled with perl -x
  780. ----------------------------
  781. revision 1.961
  782. date: 2019/11/19 19:45:02; author: gilles; state: Exp; lines: +117 -47
  783. Added module dependency to Encode::IMAPUTF7
  784. Bugfix. Folders names with + characters must stay as they are.
  785. Bugfix. When using --subfolder2 SUB --delete2folders, do not delete the folder SUB.
  786. ----------------------------
  787. revision 1.960
  788. date: 2019/10/31 23:08:18; author: gilles; state: Exp; lines: +54 -7
  789. Added test to remove header bad.
  790. ----------------------------
  791. revision 1.959
  792. date: 2019/10/07 21:21:45; author: gilles; state: Exp; lines: +318 -92
  793. Added tests:
  794. tests_kill_zero()
  795. tests_killpid_by_parent()
  796. tests_killpid_by_brother()
  797. tests_abort()
  798. cgidir is . when used by Net::Server::HTTP
  799. Bugfix. Added SSL_cipher_list => 'DEFAULT:!DH' to tests with ssl
  800. Bugfix. PIDs can be negative under Windows.
  801. Bugfix. --resynclabels was not on with --gmail1 --gmail2
  802. 1502 unit tests under Unix
  803. ----------------------------
  804. revision 1.958
  805. date: 2019/09/11 21:16:40; author: gilles; state: Exp; lines: +40 -37
  806. cgi context is now set on with env variables SERVER_SOFTWARE and SERVER_PORT
  807. it is because Net::Server::HTTP does not set SERVER_SOFTWARE but SERVER_PORT
  808. It is a preparation to a homemade web server to serve on imapsync as a cgi and
  809. get free from Apache or a complicated web server stuff configuration.
  810. ----------------------------
  811. revision 1.957
  812. date: 2019/08/29 17:40:13; author: gilles; state: Exp; lines: +34 -25
  813. Bugfix. Do not compute a folder size if the folder does not exist. Happened with --skipemptyfolders
  814. ----------------------------
  815. revision 1.956
  816. date: 2019/08/02 20:18:52; author: gilles; state: Exp; lines: +118 -55
  817. Bugfix. Reviewed all exit_clean to include a final CR on the error message.
  818. Bugfix. New foldersize tried to select non existent folder that caused a premature exit
  819. when host2 account is mostly empty.
  820. Bugfix. --justconnect did not show the line "IP address:"
  821. ----------------------------
  822. revision 1.955
  823. date: 2019/07/31 20:30:27; author: gilles; state: Exp; lines: +69 -36
  824. Bugfix in docker context. killing myself in docker context doesn't seem to work well, as well as sending signals several times.
  825. So just install catch_exit with INT (ctr-c on terminals) and exits if still alive after killing myself.
  826. ----------------------------
  827. revision 1.954
  828. date: 2019/07/29 18:04:07; author: gilles; state: Exp; lines: +19 -14
  829. Bufix. In docker context, print "context detected" only with --debug. imapsync --version printed the release on the third line instead of the first.
  830. ----------------------------
  831. revision 1.953
  832. date: 2019/07/29 05:12:18; author: gilles; state: Exp; lines: +9 -9
  833. Bugfix. tests_imapsync_context under Docker bugfix.
  834. ----------------------------
  835. revision 1.952
  836. date: 2019/07/29 04:52:52; author: gilles; state: Exp; lines: +8 -8
  837. 1477 regression tests
  838. ----------------------------
  839. revision 1.951
  840. date: 2019/07/29 04:40:48; author: gilles; state: Exp; lines: +66 -9
  841. Added context in --releasecheck user_agent. CGI or Docker or Standard.
  842. ----------------------------
  843. revision 1.950
  844. date: 2019/07/28 02:24:17; author: gilles; state: Exp; lines: +604 -189
  845. Folders sizes are now presented per folder from host1 and host2 as well as the differrences between them.
  846. ----------------------------
  847. revision 1.949
  848. date: 2019/07/18 03:44:00; author: gilles; state: Exp; lines: +59 -32
  849. Refactor. timenext() deglobalized.
  850. Added tests_timenext().
  851. ----------------------------
  852. revision 1.948
  853. date: 2019/07/17 16:51:50; author: gilles; state: Exp; lines: +153 -128
  854. Refactor. Moved main instructions into sub single_sync(). Goal is to prepare multiple different syncs.
  855. ----------------------------
  856. revision 1.947
  857. date: 2019/07/15 01:10:05; author: gilles; state: Exp; lines: +119 -45
  858. Bugfix. Count all fatal errors.
  859. ----------------------------
  860. revision 1.946
  861. date: 2019/07/09 18:01:42; author: gilles; state: Exp; lines: +136 -48
  862. Usability. Added the number of errors and the max number of errors allowed at the final line "Exiting with return value xx"
  863. Deglobalized $foldersizes to $sync->{ foldersizes }
  864. Usability. Added ETA at the beginning of a folder process.
  865. 1467 regression tests
  866. ----------------------------
  867. revision 1.945
  868. date: 2019/06/26 19:30:56; author: gilles; state: Exp; lines: +151 -94
  869. Proofread the documentation part, what will go to README.
  870. The pod at the beginning.
  871. ----------------------------
  872. revision 1.944
  873. date: 2019/06/25 16:44:08; author: gilles; state: Exp; lines: +8 -8
  874. Bugfix. Readonly syntax. "Readonly my %EXIT_TXT => ("
  875. ----------------------------
  876. revision 1.943
  877. date: 2019/06/25 08:34:51; author: gilles; state: Exp; lines: +47 -30
  878. Usability. Added the error message text after "Exiting with return value xx". Example: Exiting with return value 16 (EXIT_AUTHENTICATION_FAILURE)
  879. Usability. Added what function is called when installing a signal. Example: "kill -QUIT 19839 # special behavior: call to sub catch_exit"
  880. ----------------------------
  881. revision 1.942
  882. date: 2019/06/24 20:43:43; author: gilles; state: Exp; lines: +51 -37
  883. Bugfix. USR1 signal for toggle_sleep call was never installed.
  884. Usability. Now --justfolders will activate --foldersizesatend
  885. Enhancement. Added PROCESS_ID when "Tail -f finished."
  886. Bugfix. The number of messages deleted was not accurate at all.
  887. Usability. masked the warning "no header by parse_headers so taking whole header with BODY.PEEK[HEADER]" to --debug mode.
  888. Usability. Moved the warning "no header found so adding our own" to --debug mode.
  889. Tests. Added ETA simulation with --simulong (for the progress info on /X)
  890. Bugfix. Change the longest line in --exchange2 and --office from 10500 to 10239. (\n inserted for those long lines)
  891. Enhancement. --maxage and --minage can take float as value in order to filter with less than a day. (Need --noabletosearch also).
  892. ----------------------------
  893. revision 1.941
  894. date: 2019/06/04 22:55:24; author: gilles; state: Exp; lines: +54 -19
  895. Usability. Now "imapsync --host1 ks" or "imapsync --host2" is ok and do like a --justconnect on servers. Useful to cjeck rapidely a imap server.
  896. ----------------------------
  897. revision 1.940
  898. date: 2019/06/04 06:29:31; author: gilles; state: Exp; lines: +14 -9
  899. Added 'junk', 'Junk E-Mail', 'Junk Email' as possible_special of \Junk
  900. Added 'Deleted Messages' as possible_special of \Trash
  901. ----------------------------
  902. revision 1.939
  903. date: 2019/05/27 21:58:33; author: gilles; state: Exp; lines: +10 -9
  904. Back to a test Mail::IMAPClient 3.40 failed but Mail::IMAPClient 3.42 succeed.
  905. ----------------------------
  906. revision 1.938
  907. date: 2019/05/27 18:45:06; author: gilles; state: Exp; lines: +111 -33
  908. CGI context. --addheader is on by default.
  909. Added option --appendlimit xxxx in order to override the value got by APPENDLIMIT in CAPABILITY.
  910. Added option --truncmess to allow transfer of too big messages. When you think it's better to have a truncated message than no message at all.
  911. 1453 regression tests.
  912. ----------------------------
  913. revision 1.937
  914. date: 2019/05/01 22:14:00; author: gilles; state: Exp; lines: +328 -326
  915. CGI context. Only Message-Id to identify messages, instead of Message-Id Received.
  916. Fixed perl critic about blanks.
  917. Fixed tests comments
  918. ----------------------------
  919. revision 1.936
  920. date: 2019/04/29 05:26:19; author: gilles; state: Exp; lines: +26 -23
  921. Bugfix. Do not tail when abort.
  922. Usability. --testslive values can be overwritten like --testslive --user1 empty
  923. Same thing for --testslive6
  924. ----------------------------
  925. revision 1.935
  926. date: 2019/04/28 02:10:24; author: gilles; state: Exp; lines: +293 -44
  927. Added File::Tail dependency.
  928. Added --tail option. Will do like a tail -f on the logfile of another imapsync with the same pidfile.
  929. Good in CGI context. Maybe...
  930. We'll see. It was one of my first whishes for cgi behaviour
  931. 1441 unit tests.
  932. ----------------------------
  933. revision 1.934
  934. date: 2019/04/26 08:23:24; author: gilles; state: Exp; lines: +134 -52
  935. Added following options available in cgi context:
  936. --subfolder1
  937. --subfolder2
  938. --justfolders
  939. --justfoldersizes
  940. --delete1
  941. --delete2
  942. CGI context. Added the equivalent command line parameters like:
  943. Command line used, run by /usr/bin/perl:
  944. /usr/lib/cgi-bin/imapsync --host1 test1.lamiral.info
  945. Usability. Turns off --automap when --subfolder1 or --subfolder2 is used.
  946. ----------------------------
  947. revision 1.933
  948. date: 2019/04/23 11:42:42; author: gilles; state: Exp; lines: +47 -98
  949. CGI context. Added default like --maxsize 1_000_000_000 (Out of memory prevention?)
  950. Usability. maxsize is the minimum of --maxsize and APPENDLIMIT=xxx or each one if the other no exists.
  951. ----------------------------
  952. revision 1.932
  953. date: 2019/04/13 22:09:04; author: gilles; state: Exp; lines: +93 -24
  954. Added --sanitize to remove egding blanks on host1 user1 password1 etc.
  955. --sanitize on by default. Use --noanitize to avoid it
  956. ----------------------------
  957. revision 1.931
  958. date: 2019/04/13 16:10:24; author: gilles; state: Exp; lines: +109 -22
  959. Added test tests_check_binary_embed_all_dyn_libs to detect non embedded dynamic libraries in binaries Darwin and Win32
  960. ----------------------------
  961. revision 1.930
  962. date: 2019/04/11 22:32:38; author: gilles; state: Exp; lines: +467 -211
  963. All exits are now done with a specific return code related to the error causing the exit.
  964. Removed sub die_clean()
  965. die_clean() calls replaced by exit_clean() calls
  966. ----------------------------
  967. revision 1.929
  968. date: 2019/04/08 09:14:13; author: gilles; state: Exp; lines: +425 -300
  969. Bug fix. With --gmail1 or --gmail2 do not sync [Gmail]/All Mail if it is not requested.
  970. Bug fix. When asked to terminate by a signal, kill myself by the signal instead of an exit call.
  971. Applied Martin Cracauer's advice on https://www.cons.org/cracauer/sigint.html
  972. "Proper handling of SIGINT/SIGQUIT"
  973. I hope it fixes the not always working double-ctrl-c to end the sync.
  974. See bug report https://github.com/imapsync/imapsync/issues/142
  975. ----------------------------
  976. revision 1.928
  977. date: 2019/03/28 11:12:44; author: gilles; state: Exp; lines: +648 -317
  978. Added --subfolder1 Foo/Bar option in order to restore a backup made with --subfolder2 Foo/Bar
  979. --folderrec Foo/Bar is imply by --subfolder1 Foo/Bar because it's the most common purpose.
  980. Deglobalized $debug @regextrans2 $sep1 $sep2 $fixslash2
  981. Added --resynclabels to resync the Gmail labels X-GM-LABELS
  982. Bugfix. --synclabels now create sublabels with --subfolder2
  983. Bugfix. --subfolder2 Pf2/Sub2 and --subfolder2 Sub2 perform the same when Pf2 is the --prefix2
  984. 1336 non-regression tests
  985. ----------------------------
  986. revision 1.927
  987. date: 2019/03/22 14:45:55; author: gilles; state: Exp; lines: +9 -8
  988. Active --resynclabels when --gmail1 --gmail2
  989. ----------------------------
  990. revision 1.926
  991. date: 2019/03/22 14:06:38; author: gilles; state: Exp; lines: +283 -88
  992. Call abort() before simulong() to be able to abort a long simulong.
  993. Bugfix. --synclabels --subfolder2 create sublabels only and not a mixture.
  994. Enhancement. Added --resynclabels
  995. 1286 non-regression tests
  996. ----------------------------
  997. revision 1.925
  998. date: 2019/03/03 12:25:02; author: gilles; state: Exp; lines: +8 -8
  999. 1268 tests
  1000. ----------------------------
  1001. revision 1.924
  1002. date: 2019/03/03 12:22:37; author: gilles; state: Exp; lines: +50 -27
  1003. Tolerate more load. Double the threshold. accept load at 2 per core instead of 1 per core
  1004. ----------------------------
  1005. revision 1.923
  1006. date: 2019/03/03 12:00:05; author: gilles; state: Exp; lines: +29 -20
  1007. Moved cgiload( $sync ) in order to log exites on heavy load
  1008. ----------------------------
  1009. revision 1.922
  1010. date: 2019/02/26 13:03:58; author: gilles; state: Exp; lines: +43 -35
  1011. Fixed tests to pass under the docker image
  1012. ----------------------------
  1013. revision 1.921
  1014. date: 2019/02/18 10:21:03; author: gilles; state: Exp; lines: +10 -8
  1015. Bugfix. Errors of APPEND were not counted as missing messages on host2!
  1016. ----------------------------
  1017. revision 1.920
  1018. date: 2019/02/09 15:45:31; author: gilles; state: Exp; lines: +37 -33
  1019. Better "Extra arguments found" error message, added "or some misspelling options"
  1020. ----------------------------
  1021. revision 1.919
  1022. date: 2019/02/09 14:20:41; author: gilles; state: Exp; lines: +74 -32
  1023. Added authmech X-MASTERAUTH. To be used for Kerio with --authmech1 X-MASTERAUTH or --authmech2 X-MASTERAUTH
  1024. Patch from https://github.com/imapsync/imapsync/pull/53/files
  1025. ----------------------------
  1026. revision 1.918
  1027. date: 2019/02/07 12:16:28; author: gilles; state: Exp; lines: +79 -44
  1028. Fixed test since macosx.polarhome.com can not do ipv6 these days.
  1029. Allow --tests --testslive for cover analyse
  1030. ----------------------------
  1031. revision 1.917
  1032. date: 2019/02/06 12:13:44; author: gilles; state: Exp; lines: +279 -110
  1033. Added --addheader description in the README part.
  1034. Bugfix --debugssl 0 was impossible and equivalent to --debugssl 1
  1035. Deglobalized $justfolders now $sync->{ justfolders }
  1036. Deglobalized %h2_folders_of_md5 it's now $sync->{ h2_folders_of_md5 }
  1037. Bugfix. Now split the deletion of messages in several chunks (--split)
  1038. Added stat "Messages found in host1 not in host2"
  1039. Added stat "Messages found in host2 not in host1"
  1040. Removed stat "Total bytes duplicate hostX"
  1041. Removed stat "Total bytes error"
  1042. Added stat "Load end is"
  1043. Added comments on final stat about messages in 1 not in 2
  1044. Added comments on final stat about messages in 2 not in 1
  1045. Added comment on final stat about unidentified messages
  1046. 1264 unit tests.
  1047. ----------------------------
  1048. revision 1.916
  1049. date: 2019/01/05 14:45:10; author: gilles; state: Exp; lines: +550 -470
  1050. Added missing "Entering tests_..." and "Leaving tests_..." in tests_* subroutines.
  1051. Some perlcritic fixes.
  1052. ----------------------------
  1053. revision 1.915
  1054. date: 2019/01/04 12:39:56; author: gilles; state: Exp; lines: +12 -15
  1055. Remove the unit test $imap->new() $imap->connect() because IO::Socket::IP kills us on this.
  1056. ----------------------------
  1057. revision 1.914
  1058. date: 2019/01/03 04:38:10; author: gilles; state: Exp; lines: +10 -10
  1059. unit test revised for match_a_pid_number()
  1060. ----------------------------
  1061. revision 1.913
  1062. date: 2019/01/03 04:31:11; author: gilles; state: Exp; lines: +9 -8
  1063. A pid can be up to 99999 on FreeBSD
  1064. ----------------------------
  1065. revision 1.912
  1066. date: 2019/01/03 04:18:54; author: gilles; state: Exp; lines: +14 -14
  1067. Added prints in sub remove_pidfile_not_running() in order to debug bad behavior on freeBSD
  1068. ----------------------------
  1069. revision 1.911
  1070. date: 2019/01/03 02:52:43; author: gilles; state: Exp; lines: +29 -11
  1071. Added --sigprint HUP in order to allow some asynchronous prints in CGI mode and avoid timeouts from browser
  1072. ----------------------------
  1073. revision 1.910
  1074. date: 2018/12/25 18:20:48; author: gilles; state: Exp; lines: +77 -38
  1075. Added --addheader suggestion at the final stats.
  1076. Added a counter of crossduplicates on host2, presented on final stats.
  1077. ----------------------------
  1078. revision 1.909
  1079. date: 2018/12/09 21:23:54; author: gilles; state: Exp; lines: +8 -8
  1080. Typo. loose lose
  1081. ----------------------------
  1082. revision 1.908
  1083. date: 2018/11/20 13:22:07; author: gilles; state: Exp; lines: +80 -39
  1084. Played with IO::Prompt and IO::Prompter to remove <STDIN> perl critic. Failed...
  1085. Deglobalized $passfile1 and $passfile2
  1086. ----------------------------
  1087. revision 1.907
  1088. date: 2018/11/16 10:08:11; author: gilles; state: Exp; lines: +142 -135
  1089. Localized %SIG
  1090. Fixed Host1 Host2 prints to be more homogene
  1091. ----------------------------
  1092. revision 1.906
  1093. date: 2018/11/08 18:37:18; author: gilles; state: Exp; lines: +120 -47
  1094. Added tests_operators_and_exclam_precedence()
  1095. Added tests_teelaunch()
  1096. Added tests_logfileprepa()
  1097. ----------------------------
  1098. revision 1.905
  1099. date: 2018/10/22 17:28:02; author: gilles; state: Exp; lines: +10 -9
  1100. Added IO::Socket::IP in the list of modules versions.
  1101. ----------------------------
  1102. revision 1.904
  1103. date: 2018/10/19 11:57:24; author: gilles; state: Exp; lines: +157 -59
  1104. 1238 unit tests
  1105. Refactored appendlimit() to use Mail::IMAPClient::capability like the API. No hack from internal $imap->{ APPENDLIMIT }
  1106. With --office1 option, folder "Files" is excluded because it's a "special" folder. Like --exclude "^Files$". Unless --noexclude is used.
  1107. With --office2 option, folder "Files" on host1 is renamed like --f1f2 "Files=Files_renamed_by_imapsync". Unless --nof1f2 is used.
  1108. ----------------------------
  1109. revision 1.903
  1110. date: 2018/10/06 09:16:57; author: gilles; state: Exp; lines: +9 -9
  1111. --noskipcrossduplicates with --gmail12
  1112. ----------------------------
  1113. revision 1.902
  1114. date: 2018/10/05 19:50:23; author: gilles; state: Exp; lines: +12 -10
  1115. Added --folderlast '[Gmail]/All Mail' within --gmail12
  1116. ----------------------------
  1117. revision 1.901
  1118. date: 2018/10/03 23:49:51; author: gilles; state: Exp; lines: +815 -412
  1119. Removed --maxsize 25_000_000 from --gmail2 because now it's get from APPENDLIMIT in CAPABILITY (and it is currently 35651584, greater than 25_000_000)
  1120. Moved opening { in all sub to next line.
  1121. ----------------------------
  1122. revision 1.900
  1123. date: 2018/10/03 23:17:11; author: gilles; state: Exp; lines: +16 -16
  1124. Deglobalized $maxsize
  1125. ----------------------------
  1126. revision 1.899
  1127. date: 2018/10/03 22:50:23; author: gilles; state: Exp; lines: +332 -14
  1128. Added automatic --maxsize from CAPABILITY APPENDLIMIT=xxxx (Gmail)
  1129. ----------------------------
  1130. revision 1.898
  1131. date: 2018/09/28 14:12:21; author: gilles; state: Exp; lines: +89 -29
  1132. Added --maxsize 35_651_584 with --gmail2
  1133. (Should me replaced by automatic APPEND_LIMIT in CAPABILITY). Soon.
  1134. Added --exclude '^Files$' with --office2
  1135. ----------------------------
  1136. revision 1.897
  1137. date: 2018/09/19 14:54:26; author: gilles; state: Exp; lines: +96 -74
  1138. Deglobalized $delete1, $delete2, $delete2duplicates, $expunge2, $uidexpunge2
  1139. Started sub tests_uidexpunge_or_expunge() sub uidexpunge_or_expunge()
  1140. ----------------------------
  1141. revision 1.896
  1142. date: 2018/09/19 11:51:17; author: gilles; state: Exp; lines: +81 -60
  1143. Deletions on host1 are done by batch during a resync.
  1144. ----------------------------
  1145. revision 1.895
  1146. date: 2018/09/13 17:38:53; author: gilles; state: Exp; lines: +97 -87
  1147. Refactor. Deglobarized variable
  1148. * $exitwhenover,
  1149. * $total_bytes_skipped
  1150. * $nb_msg_skipped
  1151. ----------------------------
  1152. revision 1.894
  1153. date: 2018/09/11 13:59:54; author: gilles; state: Exp; lines: +19 -14
  1154. Commented test for @regexflag = ( 's/\\Flagged/X/g' ) since \F is new and was a bug anyway.
  1155. ----------------------------
  1156. revision 1.893
  1157. date: 2018/09/11 09:09:34; author: gilles; state: Exp; lines: +89 -75
  1158. Bugfix. --exchange1 and --exchange2 were not options! No one complained...
  1159. Added inline explanations for --office1 --office2 --exchange1 --exchange2 (what they set and how to unset)
  1160. Added --noregexmess to avoid the regexmess setting with --office2 and --exchange2 (wrap long lines >= 10500 char)
  1161. Added --noregexflag to avoid the regexflag set by exchange2 (remove \Flagged flag)
  1162. Bugfix. The regex to remove flag \Flagged was wrong. It worked because of another filter run after...
  1163. ----------------------------
  1164. revision 1.892
  1165. date: 2018/09/04 04:04:34; author: gilles; state: Exp; lines: +9 -9
  1166. --skipcrossduplicates activated with --gmail1 --gmail2
  1167. ----------------------------
  1168. revision 1.891
  1169. date: 2018/09/04 03:28:09; author: gilles; state: Exp; lines: +175 -123
  1170. Enhancement. Added option --synclabels to sync Gmail labels. It should speed up Gmail to Gmail syncs.
  1171. --synclabels applies only during a copy of a message for now. resyncing labels will be coded later.
  1172. ----------------------------
  1173. revision 1.890
  1174. date: 2018/09/01 21:45:41; author: gilles; state: Exp; lines: +117 -114
  1175. Refactoring. Replaced $imap1 and $imap2 by $sync->{imap1} and $sync->{imap2}
  1176. ----------------------------
  1177. revision 1.889
  1178. date: 2018/08/31 01:02:06; author: gilles; state: Exp; lines: +19 -7
  1179. Applied https://github.com/imapsync/imapsync/issues/95
  1180. Thanks jh1995!
  1181. ----------------------------
  1182. revision 1.888
  1183. date: 2018/08/29 11:02:59; author: gilles; state: Exp; lines: +9 -9
  1184. Gives CGI.pm release.
  1185. Calls memory_consumption_of_pids_win32() with Cygwin (https://github.com/imapsync/imapsync/pull/22)
  1186. ----------------------------
  1187. revision 1.887
  1188. date: 2018/08/23 19:10:44; author: gilles; state: Exp; lines: +11 -10
  1189. --maxsleep override $MAX_SLEEP in gmail*() subroutines.
  1190. Default $sync->{ sigignore } to empty list.
  1191. ----------------------------
  1192. revision 1.886
  1193. date: 2018/08/06 15:02:51; author: gilles; state: Exp; lines: +28 -11
  1194. Added mygetppid because getppid is not available on Windows.
  1195. Removed --nosubscribed since it is not coded and useless anyway.
  1196. ----------------------------
  1197. revision 1.885
  1198. date: 2018/07/07 04:14:26; author: gilles; state: Exp; lines: +8 -8
  1199. Sheband uses env now. Fed up to change freebsd /usr/local/bin/perl
  1200. ----------------------------
  1201. revision 1.884
  1202. date: 2018/07/07 03:40:54; author: gilles; state: Exp; lines: +18 -15
  1203. Added PPID info where PID is printed.
  1204. ----------------------------
  1205. revision 1.883
  1206. date: 2018/07/03 03:55:03; author: gilles; state: Exp; lines: +32 -8
  1207. Added freebsd support for loadavg and cpu_cores
  1208. ----------------------------
  1209. revision 1.882
  1210. date: 2018/05/05 21:10:43; author: gilles; state: Exp; lines: +8 -8
  1211. typo
  1212. ----------------------------
  1213. revision 1.881
  1214. date: 2018/05/05 20:43:36; author: gilles; state: Exp; lines: +96 -61
  1215. proofread the doc part. ispell on README.
  1216. ----------------------------
  1217. revision 1.880
  1218. date: 2018/05/05 12:44:21; author: gilles; state: Exp; lines: +26 -21
  1219. Splitted sub usage() with call to sub mypod2usage(). Crit level 4 on open/close not far away.
  1220. ----------------------------
  1221. revision 1.879
  1222. date: 2018/04/20 13:02:13; author: gilles; state: Exp; lines: +20 -13
  1223. Back to `` because of backtick() does not work always on Darwin
  1224. ----------------------------
  1225. revision 1.878
  1226. date: 2018/04/19 00:51:45; author: gilles; state: Exp; lines: +76 -40
  1227. Perlcrit. Removed the select in teelaunch()
  1228. Perlcrit. *STDERR change is now localized.
  1229. Perlcrit. Hard 'LOG_imapsync' is now $DEFAULT_LOGDIR
  1230. Proxy mode. Log file will be named with a suffix "_remote.txt"
  1231. Refactor. sub logfile() is deglobalized. (removed $debug lines)
  1232. ----------------------------
  1233. revision 1.877
  1234. date: 2018/04/18 22:00:46; author: gilles; state: Exp; lines: +31 -13
  1235. Changed sub myprint and sub myprintf in order to suppress the select in teelaunch
  1236. ----------------------------
  1237. revision 1.876
  1238. date: 2018/04/18 03:02:32; author: gilles; state: Exp; lines: +20 -17
  1239. Bugfix. ARRAY ref not defined with --subscribed
  1240. ----------------------------
  1241. revision 1.875
  1242. date: 2018/04/18 02:27:18; author: gilles; state: Exp; lines: +32 -25
  1243. Refactor. $tmpdir unglobalized
  1244. Win32. No USR1 on Windows so skip signals tests on Win32
  1245. ----------------------------
  1246. revision 1.874
  1247. date: 2018/04/18 00:46:46; author: gilles; state: Exp; lines: +53 -40
  1248. Perlcrit. Use IPC::Open3::open3 instead of backticks ``
  1249. ----------------------------
  1250. revision 1.873
  1251. date: 2018/04/17 00:24:54; author: gilles; state: Exp; lines: +9 -9
  1252. Added SERVER_SOFTWARE
  1253. Added SERVER_PORT
  1254. ----------------------------
  1255. revision 1.872
  1256. date: 2018/04/16 23:10:03; author: gilles; state: Exp; lines: +17 -11
  1257. Bugfix to pass --tests under root user.
  1258. ----------------------------
  1259. revision 1.871
  1260. date: 2018/04/13 18:00:06; author: gilles; state: Exp; lines: +71 -12
  1261. Added toggle sleep from 2s to 0s with signal USR1
  1262. ----------------------------
  1263. revision 1.870
  1264. date: 2018/04/08 17:25:54; author: gilles; state: Exp; lines: +46 -46
  1265. Changed gilles.lamiral@laposte.net => gilles@lamiral.info
  1266. ----------------------------
  1267. revision 1.869
  1268. date: 2018/04/08 17:21:15; author: gilles; state: Exp; lines: +29 -30
  1269. https://imapsync.lamiral.info/ instead of http://imapsync.lamiral.info/ in ID support-url
  1270. Removed uname info from banner, adder ram info.
  1271. Change utf8 char ° to nb in tests summary
  1272. ----------------------------
  1273. revision 1.868
  1274. date: 2018/04/03 01:55:24; author: gilles; state: Exp; lines: +13 -12
  1275. Renamed total_ram_memory() => ram_memory_info()
  1276. ----------------------------
  1277. revision 1.867
  1278. date: 2018/04/03 00:35:58; author: gilles; state: Exp; lines: +21 -18
  1279. Refactor. sub under_cgi_context() uses $mysync.
  1280. ----------------------------
  1281. revision 1.866
  1282. date: 2018/03/29 04:58:11; author: gilles; state: Exp; lines: +10 -9
  1283. Changed inline signal message
  1284. ----------------------------
  1285. revision 1.865
  1286. date: 2018/03/29 04:50:26; author: gilles; state: Exp; lines: +98 -86
  1287. Moved the inline help "I am asked to stop immediately" after the final stats.
  1288. Tidied up sub myGetOptions()
  1289. ----------------------------
  1290. revision 1.864
  1291. date: 2018/03/28 21:33:28; author: gilles; state: Exp; lines: +12 -18
  1292. Before tidy up sub myGetOptions
  1293. ----------------------------
  1294. revision 1.863
  1295. date: 2018/03/28 16:57:22; author: gilles; state: Exp; lines: +10 -8
  1296. Added inline advice to resync after an end commanded by a TERM or QUIT signal.
  1297. ----------------------------
  1298. revision 1.862
  1299. date: 2018/03/28 14:48:37; author: gilles; state: Exp; lines: +21 -20
  1300. Reduced the loadavg ingo in the header status in CGI context.
  1301. Added the hostname in in the header status in CGI context.
  1302. ----------------------------
  1303. revision 1.861
  1304. date: 2018/03/27 03:04:03; author: gilles; state: Exp; lines: +41 -48
  1305. Refactor. Use of debugmemory()
  1306. Moved the hostname printing at first line. The goal is for clarity when in proxy mode.
  1307. Added free RAM info in the banner
  1308. Added free RAM and total RAM in the status in CGI context.
  1309. ----------------------------
  1310. revision 1.860
  1311. date: 2018/03/26 21:14:01; author: gilles; state: Exp; lines: +97 -67
  1312. Reviewed tests_get_options_cgi(), renamed to tests_get_options_cgi_context()
  1313. Reviewed tests_get_options
  1314. ----------------------------
  1315. revision 1.859
  1316. date: 2018/03/22 12:55:34; author: gilles; state: Exp; lines: +13 -8
  1317. Bugfix. Predeclare $sync->{folder} as ARRAY ref. $sync->{folder} = [] ;
  1318. ----------------------------
  1319. revision 1.858
  1320. date: 2018/03/21 07:53:26; author: gilles; state: Exp; lines: +14 -11
  1321. Refactoring. Deglobalized $justconnect
  1322. ----------------------------
  1323. revision 1.857
  1324. date: 2018/03/21 07:40:12; author: gilles; state: Exp; lines: +80 -31
  1325. Refactor. Changed how --f1f2 is handled. Was a hash, now a list.
  1326. ----------------------------
  1327. revision 1.856
  1328. date: 2018/03/20 02:24:52; author: gilles; state: Exp; lines: +31 -19
  1329. Refactoring. Deglobalized @folder
  1330. ----------------------------
  1331. revision 1.855
  1332. date: 2018/03/19 14:15:53; author: gilles; state: Exp; lines: +18 -21
  1333. Refactoring. Deglobalized $addheader
  1334. Refactoring. Deglobalized $justlogin
  1335. ----------------------------
  1336. revision 1.854
  1337. date: 2018/03/19 13:45:31; author: gilles; state: Exp; lines: +32 -25
  1338. Unglobalized $version
  1339. Unglobalized $releasecheck
  1340. Added sub debugmemory()
  1341. ----------------------------
  1342. revision 1.853
  1343. date: 2018/03/12 13:43:11; author: gilles; state: Exp; lines: +9 -9
  1344. Back to default signals. INT => reconnect. TERM or QUIT => stats and exit. (cgicontext ignored TERM)
  1345. ----------------------------
  1346. revision 1.852
  1347. date: 2018/03/12 03:11:04; author: gilles; state: Exp; lines: +132 -29
  1348. Added --sigexit; For example --sigexit QUIT --sigexit TERM to exit when receiving QUIT or TERM signals.
  1349. Added --sigreconnect. For example --sigreconnect INT to reconnect to both imap servers when receiving INT signal.
  1350. Added --sigignore. For example --sigignore TERM to "ignore" the TERM signal. In fact print stats during the sync.
  1351. Default is like: --sigexit QUIT --sigexit TERM --sigreconnect INT
  1352. Added sub sig_install() to install any behavior with any signal (the ones actually received in Unix).
  1353. Number of tests with --tests is 1137
  1354. ----------------------------
  1355. revision 1.851
  1356. date: 2018/03/04 15:19:04; author: gilles; state: Exp; lines: +10 -10
  1357. Inline help. Clarified --errorsmax inline help.
  1358. ----------------------------
  1359. revision 1.850
  1360. date: 2018/02/21 04:15:32; author: gilles; state: Exp; lines: +66 -41
  1361. Option --abort now creates a log too, in order to see if imapsync ends by signal come from --abort or something else.
  1362. ----------------------------
  1363. revision 1.849
  1364. date: 2018/02/18 18:45:36; author: gilles; state: Exp; lines: +14 -10
  1365. Added \t\r\n characters replaced by _ in sub filter_forbidden_characters()
  1366. ----------------------------
  1367. revision 1.848
  1368. date: 2018/02/07 00:58:59; author: gilles; state: Exp; lines: +50 -28
  1369. Cleaned up --releasecheck stuff.
  1370. Clarified SSL_VERIFY_NONE default.
  1371. ----------------------------
  1372. revision 1.847
  1373. date: 2017/12/18 11:04:26; author: gilles; state: Exp; lines: +56 -33
  1374. Bugfix. Fixed sub epoch() to allow that kind of silly INTERNALDATE 00-Jan-0000 00:00:00 +0000
  1375. (Thanks to IBM Domino...)
  1376. Added inline documentation about --releasecheck and --noreleasecheck
  1377. Default upstream is still --releasecheck. Just a line to change to have --noreleasecheck by default (as before)
  1378. Bugfix. --releasecheck on was hardcoded in cgi context. Now it depends on the default behavior chosen.
  1379. Bug pending. Still have to fix --releasecheck on with --help
  1380. ----------------------------
  1381. revision 1.846
  1382. date: 2017/11/30 02:00:12; author: gilles; state: Exp; lines: +34 -12
  1383. Added sub memory_stress
  1384. Added sub tests_memory_stress
  1385. memory_stress() crunch 3/4 of the RAM.
  1386. tests_memory_stress() is the associated test.
  1387. ----------------------------
  1388. revision 1.845
  1389. date: 2017/11/28 23:36:43; author: gilles; state: Exp; lines: +51 -29
  1390. Added --noresyncflags : Do not resync flags for already transfered messages.
  1391. May be useful when a user has already started to play with its host2 account.
  1392. ----------------------------
  1393. revision 1.844
  1394. date: 2017/11/16 14:38:38; author: gilles; state: Exp; lines: +107 -43
  1395. Crit. Removed 4 "Warnings disabled". crit level 4
  1396. ----------------------------
  1397. revision 1.843
  1398. date: 2017/11/05 22:23:57; author: gilles; state: Exp; lines: +38 -30
  1399. Added --nocheckfoldersexist ( Default is like --checkfoldersexist )
  1400. ----------------------------
  1401. revision 1.842
  1402. date: 2017/10/30 18:47:37; author: gilles; state: Exp; lines: +246 -115
  1403. Refactoring. Removed global variables $h1_prefix and $h2_prefix
  1404. Bugfix. cpu_number() returns always an integer >= 1.
  1405. ----------------------------
  1406. revision 1.841
  1407. date: 2017/10/27 12:37:39; author: gilles; state: Exp; lines: +55 -41
  1408. Detect extra arguments. Meaning usually a quoting issue in the command line, options not well parsed.
  1409. ----------------------------
  1410. revision 1.840
  1411. date: 2017/10/22 14:28:00; author: gilles; state: Exp; lines: +9 -9
  1412. No limitssssss
  1413. ----------------------------
  1414. revision 1.839
  1415. date: 2017/10/04 17:50:29; author: gilles; state: Exp; lines: +132 -39
  1416. In case the pidfile already exists, remove it if no process match its content.
  1417. Do nothing if the pidfile doesn't content a pid number 0<pid<65536
  1418. ----------------------------
  1419. revision 1.838
  1420. date: 2017/09/22 08:12:49; author: gilles; state: Exp; lines: +28 -12
  1421. Added Polska to possible_special (not for all).
  1422. Started sub tests_write_pidfile()
  1423. ----------------------------
  1424. revision 1.837
  1425. date: 2017/09/20 20:14:14; author: gilles; state: Exp; lines: +42 -19
  1426. Usability. More verbose with ssl probing.
  1427. ----------------------------
  1428. revision 1.836
  1429. date: 2017/09/05 16:14:53; author: gilles; state: Exp; lines: +189 -182
  1430. Reread the README part. Changed order, rewrote some parts, added options.
  1431. ----------------------------
  1432. revision 1.835
  1433. date: 2017/09/03 04:11:31; author: gilles; state: Exp; lines: +53 -92
  1434. Reviewed the pod part that goes to README
  1435. ----------------------------
  1436. revision 1.834
  1437. date: 2017/08/31 04:14:04; author: gilles; state: Exp; lines: +18 -15
  1438. Some crit level 4 fixed.
  1439. ----------------------------
  1440. revision 1.833
  1441. date: 2017/08/31 01:58:57; author: gilles; state: Exp; lines: +9 -305
  1442. Removed sub usage_old()
  1443. ----------------------------
  1444. revision 1.832
  1445. date: 2017/08/31 01:47:48; author: gilles; state: Exp; lines: +285 -127
  1446. Rewrote sub usage() and use Pod::Usage now.
  1447. Dependency added: Pod::Usage
  1448. ID on by default now. Use --noid to avoid it.
  1449. Splited sub tests_mailimapclient_connect() to put pure ipv6 test in sub tests_mailimapclient_connect_bug() which is not
  1450. run with --tests
  1451. Added some warning in --testsunit when sub called do not exist.
  1452. ----------------------------
  1453. revision 1.831
  1454. date: 2017/08/27 01:52:48; author: gilles; state: Exp; lines: +17 -14
  1455. Updated from OPTIONS file
  1456. ----------------------------
  1457. revision 1.830
  1458. date: 2017/08/27 01:27:49; author: gilles; state: Exp; lines: +35 -35
  1459. Inline help to remove sslcheck
  1460. ----------------------------
  1461. revision 1.829
  1462. date: 2017/08/23 12:40:10; author: gilles; state: Exp; lines: +14 -12
  1463. Bugfix. Fixed guess \ separator.
  1464. ----------------------------
  1465. revision 1.828
  1466. date: 2017/08/22 22:06:27; author: gilles; state: Exp; lines: +10 -10
  1467. Syntax fix
  1468. ----------------------------
  1469. revision 1.827
  1470. date: 2017/08/22 22:04:38; author: gilles; state: Exp; lines: +12 -12
  1471. Increased gmail1 maxbytespersecond to 40_000
  1472. Increased gmail2 maxbytespersecond to 20_000
  1473. ----------------------------
  1474. revision 1.826
  1475. date: 2017/08/22 21:55:26; author: gilles; state: Exp; lines: +13 -11
  1476. Added \ separator guess. List is now . / \\ and \
  1477. ----------------------------
  1478. revision 1.825
  1479. date: 2017/07/26 19:05:56; author: gilles; state: Exp; lines: +19 -10
  1480. Skip ipv6 tests on cuillere.
  1481. Skip a connect in void context on macosx polarhome, it stalls.
  1482. ----------------------------
  1483. revision 1.824
  1484. date: 2017/07/24 08:04:18; author: gilles; state: Exp; lines: +22 -21
  1485. Better output for failed tests.
  1486. ----------------------------
  1487. revision 1.823
  1488. date: 2017/07/21 23:55:17; author: gilles; state: Exp; lines: +53 -20
  1489. Better output in sub tests_mailimapclient_connect()
  1490. ----------------------------
  1491. revision 1.822
  1492. date: 2017/07/20 23:22:08; author: gilles; state: Exp; lines: +11 -11
  1493. Bugfix. --skipmess could not work most of the time.
  1494. ----------------------------
  1495. revision 1.821
  1496. date: 2017/07/18 00:16:43; author: gilles; state: Exp; lines: +24 -26
  1497. Bugfix. Guess prefix '' even when there is no folders.
  1498. ----------------------------
  1499. revision 1.820
  1500. date: 2017/07/11 12:12:49; author: gilles; state: Exp; lines: +14 -14
  1501. loadavg on Win32 => 0 => unknown.
  1502. ----------------------------
  1503. revision 1.819
  1504. date: 2017/07/07 23:21:45; author: gilles; state: Exp; lines: +70 -27
  1505. Added --testslive6 to check ipv6 connectivity
  1506. ----------------------------
  1507. revision 1.818
  1508. date: 2017/07/06 03:06:36; author: gilles; state: Exp; lines: +42 -27
  1509. Removed from --tests call to:
  1510. tests_imapsping()
  1511. tests_tcpping()
  1512. tests_resolv()
  1513. tests_resolvrev()
  1514. ----------------------------
  1515. revision 1.817
  1516. date: 2017/07/05 21:58:42; author: gilles; state: Exp; lines: +30 -22
  1517. --ipv4 is now synonim of --inet4
  1518. --ipv6 is now synonim of --inet6
  1519. ----------------------------
  1520. revision 1.816
  1521. date: 2017/07/05 14:50:28; author: gilles; state: Exp; lines: +101 -16
  1522. Added dependency use IO::Socket::INET6
  1523. Added sub probe_imapssl(). Not use yet. Will replace imapsping()
  1524. ----------------------------
  1525. revision 1.815
  1526. date: 2017/06/27 16:45:20; author: gilles; state: Exp; lines: +10 -10
  1527. MAX_SLEEP 30 => 2
  1528. ----------------------------
  1529. revision 1.814
  1530. date: 2017/06/26 22:50:41; author: gilles; state: Exp; lines: +213 -66
  1531. Added raw LIST folders.
  1532. Added IP print of both hosts, using peerhost().
  1533. Added sub resolv() and others but not using them for now.
  1534. Still a problem with IPv6 on port 143 only, 993 with ssl is ok. "Invalid argument" when connecting.
  1535. Solved with Mail::IMAPClient patched like this:
  1536. use IO::Socket::INET6 instead of IO::Socket::INET
  1537. ----------------------------
  1538. revision 1.813
  1539. date: 2017/05/24 17:46:13; author: gilles; state: Exp; lines: +93 -38
  1540. Added --maxsleep in order to avoid timeouts with --maxbytespersecond and --maxmessagespersecond
  1541. Default is like --maxsleep 30
  1542. 30 seconds sleeping at max.
  1543. ----------------------------
  1544. revision 1.812
  1545. date: 2017/05/23 21:12:37; author: gilles; state: Exp; lines: +10 -10
  1546. 941 unit tests.
  1547. ----------------------------
  1548. revision 1.811
  1549. date: 2017/05/23 21:10:12; author: gilles; state: Exp; lines: +24 -24
  1550. Sync also messages with no internal date.
  1551. No blanks in automatic logfile name.
  1552. ----------------------------
  1553. revision 1.810
  1554. date: 2017/05/02 18:46:30; author: gilles; state: Exp; lines: +10 -10
  1555. Fixed a test in tests_umask_str() in order to pass it on Darwin
  1556. ----------------------------
  1557. revision 1.809
  1558. date: 2017/05/02 18:34:34; author: gilles; state: Exp; lines: +45 -45
  1559. Isolated bad tests in notmatch() and match(): q{} against q{}, so commented now.
  1560. ----------------------------
  1561. revision 1.808
  1562. date: 2017/05/02 17:35:25; author: gilles; state: Exp; lines: +160 -75
  1563. Better tests ending in exe in case of failure (was 0 I do not know why, a PAR bug)
  1564. Report which tests failed at the end of tests.
  1565. ----------------------------
  1566. revision 1.807
  1567. date: 2017/04/28 13:43:07; author: gilles; state: Exp; lines: +30 -25
  1568. testsunit() isolated.
  1569. ----------------------------
  1570. revision 1.806
  1571. date: 2017/04/28 09:50:40; author: gilles; state: Exp; lines: +81 -31
  1572. Added --testsunit in order to run any unit test individualy from the command line.
  1573. Several --testsunit are allowed. Example:
  1574. imapsync --testsunit tests_true --testsunit tests_always_fail
  1575. ----------------------------
  1576. revision 1.805
  1577. date: 2017/04/27 13:04:58; author: gilles; state: Exp; lines: +50 -40
  1578. Added test to mkpath with trailing dots foo... in folder name for --usecache.
  1579. It does not fail.
  1580. ----------------------------
  1581. revision 1.804
  1582. date: 2017/04/27 00:39:51; author: gilles; state: Exp; lines: +10 -10
  1583. Fix number of fake test on Win32.
  1584. ----------------------------
  1585. revision 1.803
  1586. date: 2017/04/26 17:52:34; author: gilles; state: Exp; lines: +123 -119
  1587. Perl crit fixes:
  1588. * $! $OS_ERROR
  1589. * $@ $EVAL_ERROR
  1590. many others.
  1591. ----------------------------
  1592. revision 1.802
  1593. date: 2017/04/25 16:13:33; author: gilles; state: Exp; lines: +231 -229
  1594. crit about blanks
  1595. ----------------------------
  1596. revision 1.801
  1597. date: 2017/04/24 20:51:00; author: gilles; state: Exp; lines: +116 -75
  1598. Bugfix. logfile must not have / from user1 and user2.
  1599. ----------------------------
  1600. revision 1.800
  1601. date: 2017/04/24 13:51:44; author: gilles; state: Exp; lines: +19 -18
  1602. Bugfix. passfile1 passfile2 failure only if used!
  1603. ----------------------------
  1604. revision 1.799
  1605. date: 2017/04/24 12:47:34; author: gilles; state: Exp; lines: +20 -10
  1606. Check passfile exist before reading it and exit on failure.
  1607. ----------------------------
  1608. revision 1.798
  1609. date: 2017/04/24 02:41:46; author: gilles; state: Exp; lines: +61 -29
  1610. Make all tests run on MSWin32, either success or skip
  1611. ----------------------------
  1612. revision 1.797
  1613. date: 2017/04/23 13:35:47; author: gilles; state: Exp; lines: +353 -23
  1614. Moved /etc/imapsync.hash to $CGI_HASHFILE => '/var/tmp/imapsync_hash'
  1615. Added note( 'Entering ...' ) and note( 'Leaving ...' ) to all tests_...() functions
  1616. ----------------------------
  1617. revision 1.796
  1618. date: 2017/04/23 12:25:22; author: gilles; state: Exp; lines: +115 -28
  1619. Added umask setting to 0077 in cgi context.
  1620. ----------------------------
  1621. revision 1.795
  1622. date: 2017/04/22 13:01:28; author: gilles; state: Exp; lines: +55 -16
  1623. Refactor. Replaced hard cgi context test $ENV{SERVER_SOFTWARE} by function call to under_cgi_context()
  1624. ----------------------------
  1625. revision 1.794
  1626. date: 2017/04/15 16:59:24; author: gilles; state: Exp; lines: +10 -10
  1627. 871 unit tests
  1628. ----------------------------
  1629. revision 1.793
  1630. date: 2017/04/15 16:56:06; author: gilles; state: Exp; lines: +136 -54
  1631. Tests should pass under nobody in /var/tmp/ now.
  1632. ----------------------------
  1633. revision 1.792
  1634. date: 2017/04/05 03:06:42; author: gilles; state: Exp; lines: +22 -22
  1635. Added GMT setting to test setlogfile()
  1636. ----------------------------
  1637. revision 1.791
  1638. date: 2017/04/05 02:27:50; author: gilles; state: Exp; lines: +26 -9
  1639. Added docker context in order to be run under nobody without permission issues.
  1640. ----------------------------
  1641. revision 1.790
  1642. date: 2017/04/04 11:27:09; author: gilles; state: Exp; lines: +10 -10
  1643. Added 'Objets envoy&AOk-s' for --automap
  1644. ----------------------------
  1645. revision 1.789
  1646. date: 2017/03/24 22:44:11; author: gilles; state: Exp; lines: +11 -9
  1647. Fix issue "SSL routines:ssl3_check_cert_and_algorithm:dh key too small" with
  1648. http://stackoverflow.com/questions/36417224/openssl-dh-key-too-small-error
  1649. SSL_cipher_list => 'DEFAULT:!DH'
  1650. ----------------------------
  1651. revision 1.788
  1652. date: 2017/03/20 23:26:26; author: gilles; state: Exp; lines: +10 -10
  1653. 852 unit tests
  1654. ----------------------------
  1655. revision 1.787
  1656. date: 2017/03/20 23:23:39; author: gilles; state: Exp; lines: +130 -84
  1657. Added --maxbytesafter in order to start --maxbytespersecond limitation only after --maxbytesafter amount of data transferred
  1658. ----------------------------
  1659. revision 1.786
  1660. date: 2017/03/20 03:32:12; author: gilles; state: Exp; lines: +44 -39
  1661. Bugfix. Abort on heavy load was not working because of load_and_delay strictly needed 4 arguments
  1662. ----------------------------
  1663. revision 1.785
  1664. date: 2017/03/14 18:06:38; author: gilles; state: Exp; lines: +12 -10
  1665. No systematic NOP!
  1666. ----------------------------
  1667. revision 1.784
  1668. date: 2017/03/14 17:51:48; author: gilles; state: Exp; lines: +120 -30
  1669. Changed abandon points (last FOLDER) to reconnection points.
  1670. ----------------------------
  1671. revision 1.783
  1672. date: 2017/03/13 06:22:43; author: gilles; state: Exp; lines: +24 -90
  1673. Removed Mail::IMAPClient ads!
  1674. ----------------------------
  1675. revision 1.782
  1676. date: 2017/03/13 01:20:24; author: gilles; state: Exp; lines: +486 -384
  1677. Added --domino1 --domino2 to facilitate Domino options setting.
  1678. Added password setting via environment variables IMAPSYNC_PASSWORD1 IMAPSYNC_PASSWORD2
  1679. ----------------------------
  1680. revision 1.781
  1681. date: 2017/03/09 12:50:07; author: gilles; state: Exp; lines: +30 -22
  1682. Usability. No more "... says it has NO CAPABILITY for AUTHENTICATE LOGIN"
  1683. ----------------------------
  1684. revision 1.780
  1685. date: 2017/03/09 11:00:05; author: gilles; state: Exp; lines: +54 -20
  1686. Added --office1 --office2 to load simplify sync from and to office 365 (parameters from the FAQ.d/FAQ.Exchange.txt)
  1687. ----------------------------
  1688. revision 1.779
  1689. date: 2017/03/07 13:05:02; author: gilles; state: Exp; lines: +85 -65
  1690. Removed most of the perlcrit (Severity: 3) Regular expression without "/x" flag
  1691. ----------------------------
  1692. revision 1.778
  1693. date: 2017/03/02 00:22:59; author: gilles; state: Exp; lines: +125 -83
  1694. Fixed some perlcrit level 4
  1695. ----------------------------
  1696. revision 1.777
  1697. date: 2017/03/01 01:25:58; author: gilles; state: Exp; lines: +20 -16
  1698. Added memory_available
  1699. ----------------------------
  1700. revision 1.776
  1701. date: 2017/02/28 22:58:38; author: gilles; state: Exp; lines: +89 -68
  1702. Added tests_not_long_imapsync_version_public()
  1703. ----------------------------
  1704. revision 1.775
  1705. date: 2017/02/17 01:54:27; author: gilles; state: Exp; lines: +27 -23
  1706. loadavg on Win32
  1707. ----------------------------
  1708. revision 1.774
  1709. date: 2017/02/15 12:55:50; author: gilles; state: Exp; lines: +40 -25
  1710. Bugfix. $tls1 and $tls2 vs $mysync->{tls1} $mysync->{tls2} somewhere
  1711. ----------------------------
  1712. revision 1.773
  1713. date: 2017/02/14 23:21:05; author: gilles; state: Exp; lines: +155 -41
  1714. Splited loadavg() in 3 calls loadavg_windows() loadavg_darwin() loadavg_linux()
  1715. Bugfix. Output "Load is" was not complete, miss the important 3 load values!
  1716. ----------------------------
  1717. revision 1.772
  1718. date: 2017/02/01 01:31:22; author: gilles; state: Exp; lines: +14 -14
  1719. Bugfix. Output Load is was inacurate
  1720. ----------------------------
  1721. revision 1.771
  1722. date: 2017/01/31 22:10:51; author: gilles; state: Exp; lines: +10 -10
  1723. Bugfix. gmail2() had bad regextrans2
  1724. ----------------------------
  1725. revision 1.770
  1726. date: 2017/01/29 21:48:44; author: gilles; state: Exp; lines: +52 -45
  1727. Added $imap1->reconnect in case getting metadata from host2 is too long and host1 timesout.
  1728. Bugfix. getoption uses $mysync not $sync
  1729. ----------------------------
  1730. revision 1.769
  1731. date: 2017/01/28 05:54:43; author: gilles; state: Exp; lines: +60 -61
  1732. Removed global $dry and $dry_message => $sync->{dry} $sync->{dry_message}
  1733. ----------------------------
  1734. revision 1.768
  1735. date: 2017/01/19 06:12:02; author: gilles; state: Exp; lines: +12 -11
  1736. Bugfix. CGI context a newline was bad in $sync->{loadavg}
  1737. ----------------------------
  1738. revision 1.767
  1739. date: 2017/01/19 05:53:02; author: gilles; state: Exp; lines: +11 -10
  1740. use Net::Ping instead of just require.
  1741. ----------------------------
  1742. revision 1.766
  1743. date: 2017/01/19 05:29:42; author: gilles; state: Exp; lines: +12 -12
  1744. sslcheck localhost => imapsync.lamiral.info
  1745. ----------------------------
  1746. revision 1.765
  1747. date: 2017/01/19 05:16:42; author: gilles; state: Exp; lines: +10 -10
  1748. 806 unit tests
  1749. ----------------------------
  1750. revision 1.764
  1751. date: 2017/01/19 05:12:17; author: gilles; state: Exp; lines: +184 -59
  1752. Added --sslcheck and made it on by default. Use --nosslcheck to unset it.
  1753. --sslcheck checks ssl port 993 and turn on ssl if it is open.
  1754. ----------------------------
  1755. revision 1.763
  1756. date: 2017/01/19 00:49:43; author: gilles; state: Exp; lines: +10 -10
  1757. 792 unit tests
  1758. ----------------------------
  1759. revision 1.762
  1760. date: 2017/01/19 00:46:30; author: gilles; state: Exp; lines: +113 -90
  1761. --showpasswords now show also passwords with --debugimap
  1762. Load does not generate Perl warnings on Win32
  1763. ----------------------------
  1764. revision 1.761
  1765. date: 2017/01/17 06:08:49; author: gilles; state: Exp; lines: +12 -9
  1766. debug for --gmail1 --gmail2
  1767. ----------------------------
  1768. revision 1.760
  1769. date: 2017/01/17 04:43:51; author: gilles; state: Exp; lines: +90 -11
  1770. Added --gmail1 --gmail2 --gmail12 to simplify gmail syncs. It sets parameters from the FAQ --ssl --host etc.
  1771. Allow parameters passed by POST.
  1772. ----------------------------
  1773. revision 1.759
  1774. date: 2017/01/16 13:20:57; author: gilles; state: Exp; lines: +10 -10
  1775. Bugfix. Add / after CGI_TMPDIR_TOP
  1776. ----------------------------
  1777. revision 1.758
  1778. date: 2017/01/15 19:34:42; author: gilles; state: Exp; lines: +71 -26
  1779. Splitted get_options(). Now call either get_options_cgi() or get_options_cmd()
  1780. I applied David M advice, remove all but what is safe in the context.
  1781. ----------------------------
  1782. revision 1.757
  1783. date: 2017/01/12 10:33:47; author: gilles; state: Exp; lines: +10 -10
  1784. nb tests
  1785. ----------------------------
  1786. revision 1.756
  1787. date: 2017/01/12 10:14:32; author: gilles; state: Exp; lines: +175 -154
  1788. tmpdir is cgidir in cgi context. different for each account couple (host,user,pass).
  1789. ----------------------------
  1790. revision 1.755
  1791. date: 2017/01/12 03:25:42; author: gilles; state: Exp; lines: +28 -22
  1792. Now goes to TLS if STARTTLS is in CAPABILITY and ssl is off and notls is not there.
  1793. ----------------------------
  1794. revision 1.754
  1795. date: 2017/01/11 06:43:05; author: gilles; state: Exp; lines: +11 -14
  1796. *** empty log message ***
  1797. ----------------------------
  1798. revision 1.753
  1799. date: 2017/01/11 04:59:22; author: gilles; state: Exp; lines: +280 -80
  1800. Added load average from /proc/loadavg
  1801. Added abort if load is too heavy in cgi context.
  1802. ----------------------------
  1803. revision 1.752
  1804. date: 2017/01/10 00:48:45; author: gilles; state: Exp; lines: +13 -13
  1805. timestart with milliseconds.
  1806. ----------------------------
  1807. revision 1.751
  1808. date: 2017/01/09 06:57:00; author: gilles; state: Exp; lines: +30 -36
  1809. Added milliseconds in logfile name since in cgi context several runs is possible in one second.
  1810. ----------------------------
  1811. revision 1.750
  1812. date: 2017/01/05 13:47:10; author: gilles; state: Exp; lines: +57 -36
  1813. Added /dist/ link in releasecheck.
  1814. Added tests_check_last_release( )
  1815. Made check_last_release() testable.
  1816. ----------------------------
  1817. revision 1.749
  1818. date: 2017/01/05 03:18:01; author: gilles; state: Exp; lines: +10 -10
  1819. *** empty log message ***
  1820. ----------------------------
  1821. revision 1.748
  1822. date: 2017/01/05 01:48:34; author: gilles; state: Exp; lines: +166 -109
  1823. Added cookie imapsync_runs in cgi context.
  1824. Refactor. $host1 $user1 $password1 $host2 $user2 $password2 under $sync now.
  1825. Added output() to delay some output in cgi context.
  1826. ----------------------------
  1827. revision 1.747
  1828. date: 2016/12/24 15:38:49; author: gilles; state: Exp; lines: +152 -26
  1829. Added sub rand32()
  1830. Added sub createhashfileifneeded()
  1831. Added sub hashsync()
  1832. Added sub hashsynclocal()
  1833. Temporary dir different for each individual sync but same dir if same parameters host1 host2 user1 user2 password1 password2
  1834. ----------------------------
  1835. revision 1.746
  1836. date: 2016/12/19 20:14:37; author: gilles; state: Exp; lines: +81 -23
  1837. Extracted the $cgi object creation from sub myGetOptions()
  1838. Started sub tests_get_options_cgi()
  1839. Added tests to sub tests_get_options()
  1840. ----------------------------
  1841. revision 1.745
  1842. date: 2016/12/14 23:12:37; author: gilles; state: Exp; lines: +102 -41
  1843. Refactoring. get_options( @ARGV ) uses @ARGV as a parameter.
  1844. Refactoring. sub get_options() only gets options (use to add stuff about their values).
  1845. Refactoring. What was in sub get_options() has gone into sub after_get_options()
  1846. Refactoring. sub unsetunsafe( ) is now sub sub setcgicontext( ) and has more settings.
  1847. Bugfix. sub ask_for_password used <> which could open remaining options from @ARGS. Uses now <STDIN>
  1848. Refactoring. Use Getopt::Long::GetOptionsFromArray() instead of Getopt::Long::GetOptions()
  1849. Added test sub tests_get_options()
  1850. Refactoring. Added sub printenv() extracted code from sub get_options()
  1851. ----------------------------
  1852. revision 1.744
  1853. date: 2016/12/13 13:04:21; author: gilles; state: Exp; lines: +105 -106
  1854. Removed local package Imapsync::Getopt::Long
  1855. ----------------------------
  1856. revision 1.743
  1857. date: 2016/12/12 11:43:46; author: gilles; state: Exp; lines: +60 -18
  1858. Added --abort option to terminate a previous call still running. Useful in remote context, ie online.
  1859. ----------------------------
  1860. revision 1.742
  1861. date: 2016/12/07 16:17:10; author: gilles; state: Exp; lines: +25 -11
  1862. Added --simulong int. To simulate a long response in web context.
  1863. ----------------------------
  1864. revision 1.741
  1865. date: 2016/11/22 21:27:43; author: gilles; state: Exp; lines: +10 -10
  1866. Now print " could not append ( Subject:[$subject], Date:[$h1_date], Size:[$h1_size] ) " whn append fails.
  1867. ----------------------------
  1868. revision 1.740
  1869. date: 2016/11/17 15:05:01; author: gilles; state: Exp; lines: +10 -10
  1870. Print always permanentflags info. Was only in debug mode.
  1871. ----------------------------
  1872. revision 1.739
  1873. date: 2016/11/03 20:31:10; author: gilles; state: Exp; lines: +87 -36
  1874. Added sub tests_match( ).
  1875. Changed name sub tests_dontmatch( ) => tests_notmatch( )
  1876. 710 tests noregression.
  1877. ----------------------------
  1878. revision 1.738
  1879. date: 2016/11/01 10:11:31; author: gilles; state: Exp; lines: +115 -59
  1880. --expunge --expunge1 are pure aliases now (don't know why they were distinct).
  1881. ----------------------------
  1882. revision 1.737
  1883. date: 2016/10/11 12:40:59; author: gilles; state: Exp; lines: +16 -16
  1884. blanks
  1885. ----------------------------
  1886. revision 1.736
  1887. date: 2016/10/10 21:02:49; author: gilles; state: Exp; lines: +3215 -3215
  1888. all tabs converted to spaces. By notepad++
  1889. ----------------------------
  1890. revision 1.735
  1891. date: 2016/10/10 20:48:53; author: gilles; state: Exp; lines: +21 -21
  1892. crit fix. open my
  1893. ----------------------------
  1894. revision 1.734
  1895. date: 2016/10/10 14:05:09; author: gilles; state: Exp; lines: +60 -60
  1896. Renamed sub is_valid_directory() to do_valid_directory()
  1897. Rewrote modulesversion() tp avoid no strict 'refs' usage.
  1898. use a closure instead
  1899. ----------------------------
  1900. revision 1.733
  1901. date: 2016/10/09 21:38:44; author: gilles; state: Exp; lines: +166 -184
  1902. Some crit fixes.
  1903. ----------------------------
  1904. revision 1.732
  1905. date: 2016/09/29 20:56:35; author: gilles; state: Exp; lines: +106 -106
  1906. Small perlcritics.
  1907. ----------------------------
  1908. revision 1.731
  1909. date: 2016/09/29 12:24:56; author: gilles; state: Exp; lines: +32 -26
  1910. Added --noabletosearch1 --noabletosearch2; Still support --noabletosearch, which turn on both --noabletosearch1 --noabletosearch2
  1911. ----------------------------
  1912. revision 1.730
  1913. date: 2016/09/17 14:30:45; author: gilles; state: Exp; lines: +32 -28
  1914. Variable $delete is now $delete1
  1915. Change doc --delete => --delete1
  1916. --delete still supported, --delete1 and --delete are aliases.
  1917. ----------------------------
  1918. revision 1.729
  1919. date: 2016/09/12 06:24:07; author: gilles; state: Exp; lines: +16 -14
  1920. typo.
  1921. ----------------------------
  1922. revision 1.728
  1923. date: 2016/08/30 11:38:30; author: gilles; state: Exp; lines: +11 -11
  1924. Typo
  1925. ----------------------------
  1926. revision 1.727
  1927. date: 2016/08/19 10:30:36; author: gilles; state: Exp; lines: +53 -110
  1928. Bugfix. Fall back separator to / even when host has no mailbox at all.
  1929. Usability. Better warning about default ssl SSL_VERIFY_NONE
  1930. ----------------------------
  1931. revision 1.726
  1932. date: 2016/08/16 21:32:35; author: gilles; state: Exp; lines: +19 -19
  1933. Changed "Checking --regexflag --skipmess --regexmess --maxlinelengthcmd --pipemess commands" with a space string instead of an empty one. Because pipemess() now fails when output is empty.
  1934. ----------------------------
  1935. revision 1.725
  1936. date: 2016/08/16 00:01:48; author: gilles; state: Exp; lines: +122 -83
  1937. Some perl critics.
  1938. ----------------------------
  1939. revision 1.724
  1940. date: 2016/08/13 11:04:06; author: gilles; state: Exp; lines: +362 -150
  1941. Refactor. No more global $pidfile, $pidfilelocking, $nb_errors, $errorsdump, @errors_log.
  1942. Refactor. Changed exit_clean. From exit_clean( 0 ) to exit_clean( $sync, $EX_OK ) ;
  1943. Refactor. Changed errors_incr. From errors_incr( $error ) to errors_incr( $sync, $error ).
  1944. Refactor. From stats( ) to stats( $sync ).
  1945. Added constants:
  1946. * $EXIT_WITH_ERRORS_MAX
  1947. * $EXIT_BY_SIGNAL
  1948. * $EXIT_WITH_ERRORS
  1949. * $EXIT_PID_FILE_ALREADY_EXIST
  1950. * $INTERVAL_TO_EXIT
  1951. ----------------------------
  1952. revision 1.723
  1953. date: 2016/07/29 21:57:03; author: gilles; state: Exp; lines: +12 -11
  1954. Force Unconnected state with Ctrl-c.
  1955. ----------------------------
  1956. revision 1.722
  1957. date: 2016/07/29 21:14:11; author: gilles; state: Exp; lines: +20 -12
  1958. Added sub debugsleep()
  1959. Changed --debugsleep to take a float parameter. --debugsleep 4.5 add a sleep of 4.5 seconds every folder and before every copied message.
  1960. ----------------------------
  1961. revision 1.721
  1962. date: 2016/07/29 17:25:00; author: gilles; state: Exp; lines: +57 -29
  1963. Do reconnections when hit by a signal Ctrl-c, aka INT signal.
  1964. 2 consecutive Ctrl-c within 1 second then exit the program.
  1965. ----------------------------
  1966. revision 1.720
  1967. date: 2016/07/29 15:01:38; author: gilles; state: Exp; lines: +324 -225
  1968. Some Perl critics "not one of the allowed literal values". Now still 188 violations of ValuesAndExpressions::ProhibitMagicNumbers.
  1969. ----------------------------
  1970. revision 1.719
  1971. date: 2016/07/25 19:27:47; author: gilles; state: Exp; lines: +229 -152
  1972. Change some print to myprint.
  1973. Fixed some perlcritic level 4 & 5
  1974. sub pipemess now abort on empty message generated.
  1975. sub pipemess prints stderr
  1976. ----------------------------
  1977. revision 1.718
  1978. date: 2016/07/20 10:45:51; author: gilles; state: Exp; lines: +21 -13
  1979. Added --inet4 to force AF_INET connextion in ssl mode.
  1980. Added --inet6 too to force AF_INET6 in ssl mode. Might be useless.
  1981. ----------------------------
  1982. revision 1.717
  1983. date: 2016/07/13 14:05:20; author: gilles; state: Exp; lines: +130 -57
  1984. Started tests_message_for_host2()
  1985. Added cyrillic for hard part --automap
  1986. --pipemess test with pipe (cat|cat)
  1987. --pipemess tests with arrors
  1988. ----------------------------
  1989. revision 1.716
  1990. date: 2016/07/12 09:02:25; author: gilles; state: Exp; lines: +209 -81
  1991. Added full mocked tests to sub tests_delete1emptyfolders(). Test::MockObject is really helpful!
  1992. Changed pipemess() to return both message and stderr output, in list context. Scalar context stays the same, for now.
  1993. Added list context tests to tests_pipemess()
  1994. ----------------------------
  1995. revision 1.715
  1996. date: 2016/07/05 21:17:48; author: gilles; state: Exp; lines: +10 -10
  1997. Removed from errors list "ignoring folder because it is not in host1 whole folders list". Too hard too.
  1998. ----------------------------
  1999. revision 1.714
  2000. date: 2016/07/05 21:12:23; author: gilles; state: Exp; lines: +10 -10
  2001. Remove "not selectable" folders from the errors list. Too hard.
  2002. ----------------------------
  2003. revision 1.713
  2004. date: 2016/07/05 12:50:35; author: gilles; state: Exp; lines: +21 -18
  2005. Added "ignoring folder" in the errors list.
  2006. ----------------------------
  2007. revision 1.712
  2008. date: 2016/06/30 01:35:02; author: gilles; state: Exp; lines: +202 -21
  2009. Added option --delete1emptyfolders ; 8 hours to write it.
  2010. Added module dependency Test::MockObject for some tests. Only require for now.
  2011. ----------------------------
  2012. revision 1.711
  2013. date: 2016/06/22 20:23:33; author: gilles; state: Exp; lines: +10 -10
  2014. Removed a useless debug output
  2015. ----------------------------
  2016. revision 1.710
  2017. date: 2016/06/22 14:47:23; author: gilles; state: Exp; lines: +28 -27
  2018. Perlcritic fixes. ValuesAndExpressions::ProhibitMagicNumbers some 3 and is_a_release_number tests.
  2019. ----------------------------
  2020. revision 1.709
  2021. date: 2016/06/22 11:32:40; author: gilles; state: Exp; lines: +58 -37
  2022. Perlcritic fixes. ValuesAndExpressions::ProhibitMagicNumbers -1 => $LAST or $MINUS_ONE.
  2023. ----------------------------
  2024. revision 1.708
  2025. date: 2016/06/22 10:32:45; author: gilles; state: Exp; lines: +193 -192
  2026. Perlcritic fixes. ProhibitParensWithBuiltins, Last ones.
  2027. ----------------------------
  2028. revision 1.707
  2029. date: 2016/06/18 00:37:24; author: gilles; state: Exp; lines: +64 -81
  2030. Perlcritic fixes. ProhibitParensWithBuiltins, exists() => exists. But not all. Need to examine precedence with not or and etc.
  2031. Uncommented call to $test_builder->reset( ) Don't know why it was commented but it was bad for knowing tests go wrong.
  2032. ----------------------------
  2033. revision 1.706
  2034. date: 2016/06/17 13:34:09; author: gilles; state: Exp; lines: +13 -13
  2035. Sugar. "return (" => "return("
  2036. ----------------------------
  2037. revision 1.705
  2038. date: 2016/06/17 13:28:23; author: gilles; state: Exp; lines: +422 -422
  2039. Replaced all print( calls by myprint( calls.
  2040. It prepares better output handling, I hope.
  2041. ----------------------------
  2042. revision 1.704
  2043. date: 2016/06/17 13:25:16; author: gilles; state: Exp; lines: +36 -36
  2044. Replaced smyprintf by mysprintf
  2045. ----------------------------
  2046. revision 1.703
  2047. date: 2016/06/17 13:12:09; author: gilles; state: Exp; lines: +700 -697
  2048. Perlcritic fixes. Rmoved parentheses, ProhibitParensWithBuiltins, for defined|scalar|push|keys|unshift|uc
  2049. but added parentheses to print.
  2050. Replaced printf by myprintf
  2051. Replaced sprinf by smyprintf.
  2052. ----------------------------
  2053. revision 1.702
  2054. date: 2016/06/15 22:43:35; author: gilles; state: Exp; lines: +495 -495
  2055. Fixed perl critic 458 violations of ValuesAndExpressions::ProhibitInterpolationOfLiterals. "Useless interpolation of literal string". 2 left but critic bugs on them. "\1foo" is not '\1foo' but critic suggests equality.
  2056. ----------------------------
  2057. revision 1.701
  2058. date: 2016/06/12 23:39:04; author: gilles; state: Exp; lines: +812 -812
  2059. Fixed perlcritic "Don't use whitespace at the end of lines". Was 627 violations of CodeLayout::ProhibitTrailingWhitespace. Now 0. For now...
  2060. ----------------------------
  2061. revision 1.700
  2062. date: 2016/06/12 20:55:25; author: gilles; state: Exp; lines: +33 -33
  2063. Fixed perlcritic latest ouble-sigil dereference $$foo => ${ $ffo } and $#$foo => $#{ $foo }
  2064. ----------------------------
  2065. revision 1.699
  2066. date: 2016/06/12 19:51:52; author: gilles; state: Exp; lines: +29 -29
  2067. Fixed perlcritic Double-sigil dereference @$foo => @{ $foo }
  2068. ----------------------------
  2069. revision 1.698
  2070. date: 2016/06/12 19:39:15; author: gilles; state: Exp; lines: +33 -36
  2071. Fixed perlcritic %$foo => %{ $ff }
  2072. Double-sigil dereference
  2073. ----------------------------
  2074. revision 1.697
  2075. date: 2016/06/12 18:42:18; author: gilles; state: Exp; lines: +53 -24
  2076. Perl critic fixes. 10 x "Unnamed numeric literals make code less maintainable.". use Readonly to fix them.
  2077. ----------------------------
  2078. revision 1.696
  2079. date: 2016/06/09 23:42:34; author: gilles; state: Exp; lines: +201 -201
  2080. Fixed perlcritic 'Quotes used with a string containing no non-whitespace characters'.
  2081. "" or '' => q{}
  2082. " " or ' ' => q{ }
  2083. ----------------------------
  2084. revision 1.695
  2085. date: 2016/06/09 18:17:14; author: gilles; state: Exp; lines: +15 -10
  2086. Check connected state in sub create_folder().
  2087. ----------------------------
  2088. revision 1.694
  2089. date: 2016/06/08 21:01:15; author: gilles; state: Exp; lines: +43 -17
  2090. Added patch: [imapsync/imapsync] Update XOAUTH2 support to work with Google's newer .json files (#68).
  2091. ----------------------------
  2092. revision 1.693
  2093. date: 2016/06/07 21:13:03; author: gilles; state: Exp; lines: +38 -28
  2094. CGI loaded when needed only.
  2095. In CGI mode, Remove all content in unsafe evalued options.
  2096. In CGI mode, help solving permission issues.
  2097. ----------------------------
  2098. revision 1.692
  2099. date: 2016/05/25 16:34:15; author: gilles; state: Exp; lines: +11 -11
  2100. Small typo
  2101. ----------------------------
  2102. revision 1.691
  2103. date: 2016/05/24 20:56:34; author: gilles; state: Exp; lines: +25 -18
  2104. Fixed -1 false output for big account %d => %s in printf.
  2105. Wrote and use getpwuid_any_os. getpwuid breaks on Windows.
  2106. ----------------------------
  2107. revision 1.690
  2108. date: 2016/05/14 21:21:56; author: gilles; state: Exp; lines: +33 -23
  2109. *** empty log message ***
  2110. ----------------------------
  2111. revision 1.689
  2112. date: 2016/05/09 17:58:11; author: gilles; state: Exp; lines: +155 -20
  2113. Started to be CGI compatible.
  2114. Started package Imapsync::Getopt::Long.
  2115. ----------------------------
  2116. revision 1.688
  2117. date: 2016/03/27 22:56:47; author: gilles; state: Exp; lines: +11 -11
  2118. Check return code of message_to_file in sub message_for_host2.
  2119. ----------------------------
  2120. revision 1.687
  2121. date: 2016/03/24 20:39:33; author: gilles; state: Exp; lines: +10 -10
  2122. Replaced message_string() call by message_to_file() and won 1x again.
  2123. Now imapsync crunches only 2x biggest message size in memory.
  2124. ----------------------------
  2125. revision 1.686
  2126. date: 2016/03/24 20:21:57; author: gilles; state: Exp; lines: +27 -27
  2127. Changed append_message_on_host2() to pass message string by reference.
  2128. Memory usage passed from 5x to 3x. 3x remains from underlying Mail::IMAPClient module in Mail::IMAPClient::message_string()
  2129. ----------------------------
  2130. revision 1.685
  2131. date: 2016/03/24 17:02:13; author: gilles; state: Exp; lines: +65 -35
  2132. Added memory debug in order to decrease the 5x message size in memory.
  2133. ----------------------------
  2134. revision 1.684
  2135. date: 2016/03/17 08:35:03; author: gilles; state: Exp; lines: +24 -16
  2136. Bugfix. No more warning about "Use of uninitialized value $sockargs[7] in join or string at"
  2137. in ssl or tls mode. Was due to "'SSL_version' => undef".
  2138. ----------------------------
  2139. revision 1.683
  2140. date: 2016/03/07 02:41:11; author: gilles; state: Exp; lines: +22 -10
  2141. Added --sslargs1 in documentation.
  2142. ----------------------------
  2143. revision 1.682
  2144. date: 2016/03/01 00:47:54; author: gilles; state: Exp; lines: +16 -11
  2145. *** empty log message ***
  2146. ----------------------------
  2147. revision 1.681
  2148. date: 2016/02/04 03:34:49; author: gilles; state: Exp; lines: +12 -13
  2149. Bugfix. Syntax error!
  2150. ----------------------------
  2151. revision 1.680
  2152. date: 2016/02/04 02:11:32; author: gilles; state: Exp; lines: +25 -27
  2153. Bugfix. Added --expungeaftereach in sub delete_message_on_host1().
  2154. Usability. Added "use --noexpungeaftereach to speed up" if --delete is used.
  2155. ----------------------------
  2156. revision 1.679
  2157. date: 2016/01/25 01:57:54; author: gilles; state: Exp; lines: +11 -11
  2158. Bugfix. "Can't use an undefined value as a HASH reference at /usr/bin/imapsync line 1247."
  2159. ----------------------------
  2160. revision 1.678
  2161. date: 2016/01/21 19:47:02; author: gilles; state: Exp; lines: +14 -21
  2162. README part check.
  2163. ----------------------------
  2164. revision 1.677
  2165. date: 2016/01/19 14:55:06; author: gilles; state: Exp; lines: +295 -289
  2166. help message easier to copy in README part.
  2167. ----------------------------
  2168. revision 1.676
  2169. date: 2016/01/16 05:30:00; author: gilles; state: Exp; lines: +282 -77
  2170. Changed basic option list by --help output.
  2171. ----------------------------
  2172. revision 1.675
  2173. date: 2016/01/06 01:10:05; author: gilles; state: Exp; lines: +11 -9
  2174. Added --errorsmax in --help message.
  2175. ----------------------------
  2176. revision 1.674
  2177. date: 2015/12/28 18:31:06; author: gilles; state: Exp; lines: +17 -10
  2178. Added --debugssl int. Default is like --debugssl 1 (Only print out errors).
  2179. ----------------------------
  2180. revision 1.673
  2181. date: 2015/12/26 02:00:05; author: gilles; state: Exp; lines: +141 -145
  2182. Added --timeout1
  2183. Added --timeout2 (--timeout still available to set both with the same value)
  2184. Added --sslargs1 to pass any ssl parameter for host1 connection.
  2185. Added --sslargs2 to pass any ssl parameter for host2 connection.
  2186. Example --sslargs1 SSL_verify_mode=1 --sslargs1 SSL_version=SSLv3
  2187. Removed --allow3xx option.
  2188. ----------------------------
  2189. revision 1.672
  2190. date: 2015/12/10 10:23:49; author: gilles; state: Exp; lines: +9 -8
  2191. Added require Encode::Byte to solve "The locale codeset (cp1252) isn't one that perl can decode" on Win32.
  2192. ----------------------------
  2193. revision 1.671
  2194. date: 2015/12/09 03:22:46; author: gilles; state: Exp; lines: +48 -47
  2195. Added env_proxy call in sub xoauth2() to read proxy settings from environment variable without PERL_LWP_ENV_PROXY=1
  2196. ----------------------------
  2197. revision 1.670
  2198. date: 2015/12/03 02:36:41; author: gilles; state: Exp; lines: +11 -12
  2199. Bugfix. logfile missed user2.
  2200. ----------------------------
  2201. revision 1.669
  2202. date: 2015/12/03 02:03:53; author: gilles; state: Exp; lines: +138 -83
  2203. --logdir --logfile now compatible with old --logfile alone. tests cases.
  2204. ----------------------------
  2205. revision 1.668
  2206. date: 2015/12/02 13:23:22; author: gilles; state: Exp; lines: +94 -86
  2207. Fixed some perlcritics.
  2208. ----------------------------
  2209. revision 1.667
  2210. date: 2015/11/30 02:44:12; author: gilles; state: Exp; lines: +156 -60
  2211. --automap implemented.
  2212. Added --justautomap to see what will happen with --automap and --f1f2 options.
  2213. ----------------------------
  2214. revision 1.666
  2215. date: 2015/11/23 14:56:56; author: gilles; state: Exp; lines: +50 -19
  2216. Doc fix. --logfile path inline and in usage().
  2217. Added require JSON::WebToken::Crypt::RSA and Crypt::OpenSSL::RSA to a good build on Win32.
  2218. Tested OAUTH2 on windows. Works.
  2219. Bug fix. Changed "Host1: checking all wanted folders exist" not efficient algorythm
  2220. to allow a 2.4 million folders account. Yes, some people have this...
  2221. ----------------------------
  2222. revision 1.665
  2223. date: 2015/11/06 00:45:35; author: gilles; state: Exp; lines: +29 -9
  2224. Made quota wrnings, quota human usable.
  2225. ----------------------------
  2226. revision 1.664
  2227. date: 2015/11/04 18:09:22; author: gilles; state: Exp; lines: +362 -323
  2228. Back to require IO::Socket::SSL;
  2229. instead of use.
  2230. Reformated the usage output.
  2231. Added --f1f2 str1=str2 : Force folder str1 to be synced to str2.
  2232. --f1f2 overrides any automap mapping and any regextrans2
  2233. ----------------------------
  2234. revision 1.663
  2235. date: 2015/10/03 23:59:27; author: gilles; state: Exp; lines: +12 -9
  2236. Bugfix. Return with previous Debug when no quota available.
  2237. ----------------------------
  2238. revision 1.662
  2239. date: 2015/10/03 22:14:37; author: gilles; state: Exp; lines: +84 -24
  2240. Added quota_extract_storage_limit_in_bytes()
  2241. Added quota_extract_storage_current_in_bytes()
  2242. ----------------------------
  2243. revision 1.661
  2244. date: 2015/09/28 15:36:41; author: gilles; state: Exp; lines: +18 -19
  2245. Better prints.
  2246. ----------------------------
  2247. revision 1.660
  2248. date: 2015/09/28 14:18:10; author: gilles; state: Exp; lines: +21 -15
  2249. IMAP output as an early stage of quota and ID.
  2250. ----------------------------
  2251. revision 1.659
  2252. date: 2015/09/21 22:47:50; author: gilles; state: Exp; lines: +107 -29
  2253. Better ID format sent. Order terms like in thr RFC.
  2254. Added imapsync_id_github, in case.
  2255. ----------------------------
  2256. revision 1.658
  2257. date: 2015/09/19 08:56:07; author: gilles; state: Exp; lines: +8 -8
  2258. RCS date in id.
  2259. ----------------------------
  2260. revision 1.657
  2261. date: 2015/09/19 08:26:04; author: gilles; state: Exp; lines: +206 -77
  2262. Started to use global $sync-> in order to reduce number of parameters in routines.
  2263. ----------------------------
  2264. revision 1.656
  2265. date: 2015/09/13 16:11:07; author: gilles; state: Exp; lines: +46 -24
  2266. Some perlcritic fixes.
  2267. ----------------------------
  2268. revision 1.655
  2269. date: 2015/09/11 01:57:51; author: gilles; state: Exp; lines: +15 -12
  2270. Bugfix testing automap.
  2271. ----------------------------
  2272. revision 1.654
  2273. date: 2015/09/11 01:23:42; author: gilles; state: Exp; lines: +121 -76
  2274. Added --automap to implement rfc6154. Turned on by default.
  2275. Use --noautomap to avoid it.
  2276. ----------------------------
  2277. revision 1.653
  2278. date: 2015/09/05 21:35:56; author: gilles; state: Exp; lines: +27 -25
  2279. IO::Socket::SSL mandatory to run.
  2280. SSL_VERIFY_NONE in --ssl and --tls
  2281. ----------------------------
  2282. revision 1.652
  2283. date: 2015/08/28 14:59:59; author: gilles; state: Exp; lines: +8 -8
  2284. "Initial difference" -> "Start difference"
  2285. ----------------------------
  2286. revision 1.651
  2287. date: 2015/08/18 22:35:05; author: gilles; state: Exp; lines: +8 -8
  2288. fixed xoauth2 calls.
  2289. ----------------------------
  2290. revision 1.650
  2291. date: 2015/08/16 00:42:58; author: gilles; state: Exp; lines: +28 -28
  2292. Changed some output, added Host1: or Host2 at the begining of line.
  2293. ----------------------------
  2294. revision 1.649
  2295. date: 2015/08/10 03:10:15; author: gilles; state: Exp; lines: +7 -7
  2296. 576 tests.
  2297. ----------------------------
  2298. revision 1.648
  2299. date: 2015/08/10 02:58:21; author: gilles; state: Exp; lines: +99 -39
  2300. Added guess_prefix() and guess_separator()
  2301. Guess prefixes and separators instead of forcing the user to find them.
  2302. ----------------------------
  2303. revision 1.647
  2304. date: 2015/08/07 04:35:15; author: gilles; state: Exp; lines: +33 -20
  2305. Added folders counting outputs.
  2306. ----------------------------
  2307. revision 1.646
  2308. date: 2015/08/07 00:07:39; author: gilles; state: Exp; lines: +16 -6
  2309. Added sub imap_utf7_encode( ). Not used.
  2310. ----------------------------
  2311. revision 1.645
  2312. date: 2015/07/31 14:48:11; author: gilles; state: Exp; lines: +11 -11
  2313. Better outpout in login_imap()
  2314. ----------------------------
  2315. revision 1.644
  2316. date: 2015/07/17 01:22:52; author: gilles; state: Exp; lines: +9 -7
  2317. Added NOOP in --dry mode during fake APPEND.
  2318. ----------------------------
  2319. revision 1.643
  2320. date: 2015/06/24 01:01:00; author: gilles; state: Exp; lines: +17 -10
  2321. Added --fetch_hash_set "1:*" to permit Mail2World success.
  2322. Need a patched Mail::IMAPClient 3.35 in sub fetch_hash()
  2323. See https://rt.cpan.org/Public/Bug/Display.html?id=105456
  2324. ----------------------------
  2325. revision 1.642
  2326. date: 2015/05/11 01:07:37; author: gilles; state: Exp; lines: +9 -6
  2327. Added JSON::WebToken in modules list.
  2328. ----------------------------
  2329. revision 1.641
  2330. date: 2015/05/09 17:52:27; author: gilles; state: Exp; lines: +27 -128
  2331. Replaced imap servers software list by a link to the web list.
  2332. Added option --subfolder2 SUB Move whole host1 folders hierarchy under folder SUB.
  2333. ----------------------------
  2334. revision 1.640
  2335. date: 2015/05/05 01:03:34; author: gilles; state: Exp; lines: +18 -12
  2336. No folders sizes if --justfolders, unless really wanted.
  2337. ----------------------------
  2338. revision 1.639
  2339. date: 2015/04/16 19:33:59; author: gilles; state: Exp; lines: +7 -7
  2340. *** empty log message ***
  2341. ----------------------------
  2342. revision 1.638
  2343. date: 2015/04/09 22:47:24; author: gilles; state: Exp; lines: +19 -11
  2344. No warning about messages when --dry --justfolders together.
  2345. ----------------------------
  2346. revision 1.637
  2347. date: 2015/04/01 01:36:37; author: gilles; state: Exp; lines: +9 -9
  2348. Bugfix. Win32 regression with long_path_2_prefix test. Was too long.
  2349. ----------------------------
  2350. revision 1.636
  2351. date: 2015/03/31 14:54:41; author: gilles; state: Exp; lines: +107 -65
  2352. Added errors dump. By default. Use --noerrorsdump to avoid it.
  2353. Added --errorsmax switch. Default is like --errorsmax 50. Exit after 50 errors encountered.
  2354. ----------------------------
  2355. revision 1.635
  2356. date: 2015/03/30 07:36:08; author: gilles; state: Exp; lines: +19 -15
  2357. Changed basic example to a working one with test1.lamiral.info
  2358. ----------------------------
  2359. revision 1.634
  2360. date: 2015/03/25 02:10:56; author: gilles; state: Exp; lines: +10 -7
  2361. Bugfix. Remove tmp files upon failure as well.
  2362. ----------------------------
  2363. revision 1.633
  2364. date: 2015/03/25 01:14:36; author: gilles; state: Exp; lines: +96 -73
  2365. IO::Socket::SSL not mandatory. (Sometimes hard to install).
  2366. Bugfix. SKIP sections for Unix or Windows tests. Removed no_plan. 561 non-regression tests.
  2367. ----------------------------
  2368. revision 1.632
  2369. date: 2015/03/23 23:29:16; author: gilles; state: Exp; lines: +16 -6
  2370. Added tests_live_result() call at the end of --livetests
  2371. ----------------------------
  2372. revision 1.631
  2373. date: 2015/03/23 00:04:04; author: gilles; state: Exp; lines: +52 -41
  2374. README part review.
  2375. ----------------------------
  2376. revision 1.630
  2377. date: 2015/03/20 03:07:59; author: gilles; state: Exp; lines: +93 -52
  2378. Bugfix. Made --tests succeed on Windows. At least at home.
  2379. ----------------------------
  2380. revision 1.629
  2381. date: 2015/03/19 03:43:24; author: gilles; state: Exp; lines: +10 -16
  2382. Usability. Better output of folders excluded by --exclude and folders included by --include
  2383. ----------------------------
  2384. revision 1.628
  2385. date: 2015/03/19 03:03:28; author: gilles; state: Exp; lines: +80 -38
  2386. Bugfix. tests_imapsync_basename only check substring imapsync in the command name used.
  2387. Feature. Added --maxlinelengthcmd that will be called upon when a line over --maxlinelength is detected. --maxlinelengthcmd 'reformime -r7' on Linux.
  2388. ----------------------------
  2389. revision 1.627
  2390. date: 2015/03/16 15:55:57; author: gilles; state: Exp; lines: +34 -21
  2391. Added --testslive
  2392. ----------------------------
  2393. revision 1.626
  2394. date: 2015/03/15 02:52:43; author: gilles; state: Exp; lines: +20 -20
  2395. Update tests_skipmess()
  2396. ----------------------------
  2397. revision 1.625
  2398. date: 2015/03/14 00:32:41; author: gilles; state: Exp; lines: +31 -15
  2399. Bugfix. New disarmreadreceipts was buggy in IMAP. Fixed. \r in the beginning.
  2400. ----------------------------
  2401. revision 1.624
  2402. date: 2015/03/13 02:05:12; author: gilles; state: Exp; lines: +41 -18
  2403. Searching for "deep recursion" with skipmess on "Partial" messages. Not found.
  2404. ----------------------------
  2405. revision 1.623
  2406. date: 2015/03/12 16:33:59; author: gilles; state: Exp; lines: +21 -6
  2407. Made check folders exist on host1 independent of checkselectable.
  2408. ----------------------------
  2409. revision 1.622
  2410. date: 2015/03/12 16:28:38; author: gilles; state: Exp; lines: +24 -11
  2411. Bugfix. --folderfirst and --folderlast generated an error when their value folder does not exist. Existence is checked.
  2412. ----------------------------
  2413. revision 1.621
  2414. date: 2015/03/12 10:40:11; author: gilles; state: Exp; lines: +86 -21
  2415. Bugfix --disarmreadreceipts last fix was a bad one. In IMAP \n is \r\n.
  2416. Added error handling for --pipemess
  2417. Adapted tests for "Content-Type: Message/Partial" --slipmess
  2418. ----------------------------
  2419. revision 1.620
  2420. date: 2015/03/10 04:07:33; author: gilles; state: Exp; lines: +141 -10
  2421. Bugfix. --disarmreadreceipts used to change Disposition-Notification-To in the body when not available in the header. Now never changed in the body in all cases.
  2422. ----------------------------
  2423. revision 1.619
  2424. date: 2015/03/10 03:13:30; author: gilles; state: Exp; lines: +301 -22
  2425. Use \x00 as a separator to detect --delete 2, instead of ¤.
  2426. Added tests for --skipmess, especially for header "Content-Type: Message/Partial"
  2427. Bug detected --disarmreadreceipts isn't correct. Added tests and fix in tests.
  2428. Added tests in tests_regexmess(). Disposition-Notification-To: better handled.
  2429. ----------------------------
  2430. revision 1.618
  2431. date: 2015/03/07 04:38:59; author: gilles; state: Exp; lines: +261 -205
  2432. Added --pipemess in order to pass all message to an external filter tool like "reformime -r7".
  2433. ----------------------------
  2434. revision 1.617
  2435. date: 2015/03/04 01:09:50; author: gilles; state: Exp; lines: +18 -19
  2436. Link to http://www.imap.org/ changed to archive.org.
  2437. ----------------------------
  2438. revision 1.616
  2439. date: 2015/03/02 23:14:42; author: gilles; state: Exp; lines: +86 -10
  2440. Added xoauth2 support. Thanks to Joaquin Lopez.
  2441. ----------------------------
  2442. revision 1.615
  2443. date: 2015/03/01 23:26:10; author: gilles; state: Exp; lines: +76 -46
  2444. Fixed tests with "header_line_normalize: remove last blanks".
  2445. Remove the last blanks ( Gmail bug ) to identify message with headers.
  2446. Term::ReadKey and IO::Socket::SSL now in use statements instead of require (so they became mandatory).
  2447. Change list of use pragmas order to facilitate reading.
  2448. ----------------------------
  2449. revision 1.614
  2450. date: 2015/02/22 22:43:16; author: gilles; state: Exp; lines: +90 -46
  2451. Added inline help.
  2452. About --nofoldersizes, foldernames listings, --passfile1 --passfile2.
  2453. Change usage order.
  2454. ----------------------------
  2455. revision 1.613
  2456. date: 2015/02/22 01:08:51; author: gilles; state: Exp; lines: +23 -10
  2457. Fixed issue with 1282658400 and logfile() by and system upgrade. Looks like Ubuntu 10.4 was buggy.
  2458. ----------------------------
  2459. revision 1.612
  2460. date: 2015/02/03 23:20:51; author: gilles; state: Exp; lines: +17 -13
  2461. Fixed tests_logfile() when TZ is not mine.
  2462. Works for epoch 0 but found a difference for 1282658400
  2463. ----------------------------
  2464. revision 1.611
  2465. date: 2015/02/02 16:14:43; author: gilles; state: Exp; lines: +18 -18
  2466. Started inline help; talk about options everywhere it means and help to lean imapsync.
  2467. Change default useheader. Now it is really like --useheader "Message-Id" --useheader "Received"
  2468. HMailServer replies two lines with --useheader "Message-Id" --useheader "Message-ID" in older releases.
  2469. ----------------------------
  2470. revision 1.610
  2471. date: 2015/01/20 12:07:30; author: gilles; state: Exp; lines: +21 -15
  2472. Bugfix in imap_utf7_decode() + must not be escaped.
  2473. ----------------------------
  2474. revision 1.609
  2475. date: 2014/11/28 17:06:53; author: gilles; state: Exp; lines: +14 -8
  2476. Bugfix. --skipmess was not skipping.
  2477. ----------------------------
  2478. revision 1.608
  2479. date: 2014/11/28 16:47:29; author: gilles; state: Exp; lines: +95 -12
  2480. Added --skipmess to skip messages matching a regex.
  2481. Example --skipmess 'm/[\x80-ff]/'
  2482. ----------------------------
  2483. revision 1.607
  2484. date: 2014/11/14 16:25:06; author: gilles; state: Exp; lines: +46 -40
  2485. Added several checks if IsUnconnected. Goal avoid imap commands while disconnected.
  2486. ----------------------------
  2487. revision 1.606
  2488. date: 2014/11/14 14:49:13; author: gilles; state: Exp; lines: +16 -13
  2489. Added total size transferred after each message copied.
  2490. Added number of total to be synced as a denominator dddd after each message copied, nnn/dddd, where nnn is the number of messages copied.
  2491. ----------------------------
  2492. revision 1.605
  2493. date: 2014/11/11 00:00:37; author: gilles; state: Exp; lines: +40 -10
  2494. Bugfix. On Windows file path with brackets [] are special. [a] must be written [[]a[]]
  2495. ----------------------------
  2496. revision 1.604
  2497. date: 2014/11/08 00:29:26; author: gilles; state: Exp; lines: +36 -9
  2498. Added --skipemptyfolders to skip empty host1 folders. They are not created on host2.
  2499. ----------------------------
  2500. revision 1.603
  2501. date: 2014/11/07 22:06:33; author: gilles; state: Exp; lines: +26 -26
  2502. Typo from previous save with gedit and ¤
  2503. ----------------------------
  2504. revision 1.602
  2505. date: 2014/11/07 21:57:57; author: gilles; state: Exp; lines: +82 -19
  2506. Added utf8 output for folder names that use special characters in utf7imap
  2507. ----------------------------
  2508. revision 1.601
  2509. date: 2014/10/28 10:48:07; author: gilles; state: Exp; lines: +22 -22
  2510. Moved foldersizes call after folders lists print.
  2511. ----------------------------
  2512. revision 1.600
  2513. date: 2014/10/27 10:41:52; author: gilles; state: Exp; lines: +8 -8
  2514. Remove /x from regex applied with --include and --exclude. Blanks no longer have to be explicit with \ or [ ].
  2515. ----------------------------
  2516. revision 1.599
  2517. date: 2014/10/26 23:42:12; author: gilles; state: Exp; lines: +14 -10
  2518. Added help usage for --nomixfolders
  2519. ----------------------------
  2520. revision 1.598
  2521. date: 2014/10/21 00:27:07; author: gilles; state: Exp; lines: +20 -7
  2522. Added tests to check --regextrans2 's,(.*),\L$1,'
  2523. Exchange issue with folders with same name and --delete2.
  2524. ----------------------------
  2525. revision 1.597
  2526. date: 2014/10/06 10:48:26; author: gilles; state: Exp; lines: +12 -11
  2527. Changed --nomixdiffcasefolders to --nomixfolders.
  2528. Bugfix. --nomixdiffcasefolders was not parsed in command line so it did not work.
  2529. ----------------------------
  2530. revision 1.596
  2531. date: 2014/09/04 17:17:36; author: gilles; state: Exp; lines: +11 -6
  2532. Added --logfile in help output.
  2533. Added --nolog in help output.
  2534. ----------------------------
  2535. revision 1.595
  2536. date: 2014/09/01 19:39:16; author: gilles; state: Exp; lines: +7 -7
  2537. Changed output, no examine anymore, only select.
  2538. ----------------------------
  2539. revision 1.594
  2540. date: 2014/08/16 22:40:02; author: gilles; state: Exp; lines: +14 -9
  2541. Fixed "imapsync doesn't see created folders in stats phase". Second time.
  2542. ----------------------------
  2543. revision 1.593
  2544. date: 2014/07/08 11:19:43; author: gilles; state: Exp; lines: +18 -7
  2545. Added --nomixdiffcasefolders to avoid merging folders that are considered different on host1 but the same on destination host2 because of case sensitivities and insensitivities.
  2546. ----------------------------
  2547. revision 1.592
  2548. date: 2014/05/22 10:03:17; author: gilles; state: Exp; lines: +23 -12
  2549. Bugfix. Make TLS works with last IO::Socket::SSL default value (SSL_verify_mode => 'SSL_VERIFY_NONE') in tls.
  2550. ----------------------------
  2551. revision 1.591
  2552. date: 2014/05/22 01:32:52; author: gilles; state: Exp; lines: +30 -19
  2553. Bugfix. IO::Tee and Open3 in backstic() were incompatible.
  2554. FailedBugFix. Tried to fix Tls issue "ERROR: Unable to start TLS: SSL connect attempt failed with unknown error error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed at c:/strawberry/perl/site/lib/Mail/IMAPClient.pm line 455." No success.
  2555. ----------------------------
  2556. revision 1.590
  2557. date: 2014/05/20 23:07:14; author: gilles; state: Exp; lines: +12 -6
  2558. Added option --disarmreadreceipts to fix resending read receipts with Exchange as host2.
  2559. ----------------------------
  2560. revision 1.589
  2561. date: 2014/05/20 21:35:16; author: gilles; state: Exp; lines: +93 -37
  2562. Added logging by default in subdirectory LOG_imapsync/.
  2563. Added option --log. --log is on by default. --nolog to disable logging.
  2564. Added option --logfile. Default is like LOG_imapsync/YYYY_MM_DD_HH_MM_SS_user2.txt
  2565. where YYYY_MM_DD_HH_MM_SS is the current date and time like 2014_05_20_23_45_10
  2566. Use IO::Tee Perl module for logging.
  2567. Fixed bug when creating folders on host2 with sep2 to \\ (Lotus Notes).
  2568. Updated the code to easily switch on --noreleasecheck by default.
  2569. ----------------------------
  2570. revision 1.588
  2571. date: 2014/05/15 10:36:10; author: gilles; state: Exp; lines: +18 -11
  2572. Added FTGate support (no EXAMINE).
  2573. ----------------------------
  2574. revision 1.587
  2575. date: 2014/05/09 17:03:27; author: gilles; state: Exp; lines: +14 -7
  2576. Typo when advising about prefix.
  2577. Easy way to switch releasecheck of by default.
  2578. ----------------------------
  2579. revision 1.586
  2580. date: 2014/04/10 16:02:39; author: gilles; state: Exp; lines: +9 -7
  2581. Just a test for good_date and pop2imap
  2582. ----------------------------
  2583. revision 1.585
  2584. date: 2014/02/17 15:24:34; author: gilles; state: Exp; lines: +39 -34
  2585. Warn syncing messges will not be simulated when --dry mode is on and folder on host2 does not exist yet.
  2586. Try to get folder size when a folder on host2 has the same name but with a different case like OLD_MAIL -> old_mail. Avoid "does not exist" output.
  2587. ----------------------------
  2588. revision 1.584
  2589. date: 2014/02/05 00:40:59; author: gilles; state: Exp; lines: +77 -50
  2590. Debug. Print separator given by NAMESPACE even when --sep1 oe --sep2 is used.
  2591. Debug. Prints prefix given by NAMESPACE even when --prefix1 or --prefix2 is used.
  2592. (Preparation for advising not to use --prefix unless suggested)
  2593. ----------------------------
  2594. revision 1.583
  2595. date: 2014/02/04 03:04:35; author: gilles; state: Exp; lines: +15 -11
  2596. Bug fix. --ssl1 --tls2 was buggy because of default SSL_VERIFY_PEER. "Can not go to tls encryption on [localhost]:Unable to start TLS: Cannot determine peer hostname for verificationerror:00000000:lib(0):func(0):reason(0)"
  2597. ----------------------------
  2598. revision 1.582
  2599. date: 2014/01/24 01:43:19; author: gilles; state: Exp; lines: +20 -12
  2600. Bugfix. Check if going to tls is ok, exit otherwise with explicit error message.
  2601. Thanks to Dennis Schridde for reporting this ugly bug.
  2602. ----------------------------
  2603. revision 1.581
  2604. date: 2014/01/15 02:42:06; author: gilles; state: Exp; lines: +41 -15
  2605. Added --debugmaxlinelength
  2606. Added --minmaxlinelength to select messages with long lines only.
  2607. ----------------------------
  2608. revision 1.580
  2609. date: 2013/12/25 02:52:36; author: gilles; state: Exp; lines: +51 -27
  2610. Added --skipcrossduplicates to avoid copying messages that are already copied in another folder.
  2611. Added --debugcrossduplicates to print which messages (UIDs) are skipped with --skipcrossduplicates (and in what other folders they are).
  2612. ----------------------------
  2613. revision 1.579
  2614. date: 2013/12/18 13:53:19; author: gilles; state: Exp; lines: +9 -8
  2615. --maxmessagespersecond, value can be float like 3.2
  2616. ----------------------------
  2617. revision 1.578
  2618. date: 2013/12/17 02:14:09; author: gilles; state: Exp; lines: +73 -9
  2619. Added --maxbytespersecond to limit byte transfer rate.
  2620. Added --maxmessagespersecond to limit messages tranfer rate (office365 throttle limitation).
  2621. ----------------------------
  2622. revision 1.577
  2623. date: 2013/12/05 05:57:51; author: gilles; state: Exp; lines: +28 -10
  2624. Added tests to play with win32 \\?\C:\TEMP syntax and try to solve long path bug.
  2625. ----------------------------
  2626. revision 1.576
  2627. date: 2013/11/19 14:37:24; author: gilles; state: Exp; lines: +19 -14
  2628. Added --debugmemory option that prints memory consumption after each message is copied.
  2629. ----------------------------
  2630. revision 1.575
  2631. date: 2013/11/06 13:55:38; author: gilles; state: Exp; lines: +12 -7
  2632. Do not append message if the fetch failed.
  2633. ----------------------------
  2634. revision 1.574
  2635. date: 2013/10/28 16:22:04; author: gilles; state: Exp; lines: +16 -8
  2636. Added --create_folder_old in case users want the old behavior of create_folder().
  2637. ----------------------------
  2638. revision 1.573
  2639. date: 2013/10/28 14:44:10; author: gilles; state: Exp; lines: +48 -7
  2640. Bugfix. Applied patch for create_folder() and nested folders. Thanks to Erik Torsner.
  2641. ----------------------------
  2642. revision 1.572
  2643. date: 2013/10/27 02:04:01; author: gilles; state: Exp; lines: +13 -8
  2644. Bug fix. Final statistics were avoided for newly created folders.
  2645. ----------------------------
  2646. revision 1.571
  2647. date: 2013/10/25 14:34:27; author: gilles; state: Exp; lines: +58 -20
  2648. Added --folderfirst <string> : Sync this folder first. --folderfirst "Work"
  2649. Added --folderlast <string> : Sync this folder last. --folderlast "[Gmail]/All Mail"
  2650. --folderlast <string> : then this one, etc.
  2651. ----------------------------
  2652. revision 1.570
  2653. date: 2013/10/25 12:52:02; author: gilles; state: Exp; lines: +7 -7
  2654. --delete2foldersonly Junk example.
  2655. ----------------------------
  2656. revision 1.569
  2657. date: 2013/10/16 21:58:17; author: gilles; state: Exp; lines: +125 -39
  2658. Fixed bug on Windows with --tmpdir "E:\TEMP". The colon was badly converted to _, ending with "E_\TEMP".
  2659. The fix also automatically moves the old cache to the new one if the new does not exist yet.
  2660. Fix. Example for --delete2foldersonly "/Junk$/" in help message.
  2661. ----------------------------
  2662. revision 1.568
  2663. date: 2013/09/28 02:43:51; author: gilles; state: Exp; lines: +25 -13
  2664. Bug fix. On Win32 trailing blanc in cache dir name raized an error. Blanc now move to underscore _.
  2665. ----------------------------
  2666. revision 1.567
  2667. date: 2013/09/18 20:38:10; author: gilles; state: Exp; lines: +8 -7
  2668. Fixed a warning when RFC822.SIZE is null or undef.
  2669. ----------------------------
  2670. revision 1.566
  2671. date: 2013/09/13 13:23:41; author: gilles; state: Exp; lines: +11 -12
  2672. Added --authmech EXTERNAL. Not tested yet.
  2673. ----------------------------
  2674. revision 1.565
  2675. date: 2013/09/13 01:16:20; author: gilles; state: Exp; lines: +8 -6
  2676. Fusemail success.
  2677. RackSpace success.
  2678. ----------------------------
  2679. revision 1.564
  2680. date: 2013/08/18 19:28:47; author: gilles; state: Exp; lines: +114 -22
  2681. Adapted behavior for allowing --maxdate --mindate with --noabletosearch. Use internat date instead of Date: header.
  2682. ----------------------------
  2683. revision 1.563
  2684. date: 2013/08/16 00:59:30; author: gilles; state: Exp; lines: +8 -7
  2685. Added QQMail success.
  2686. ----------------------------
  2687. revision 1.562
  2688. date: 2013/08/16 00:41:48; author: gilles; state: Exp; lines: +38 -16
  2689. Speed fix. Does not resync the flags when flags on host2 do not respect RFC. \Seen -> \SEEN. imapsync detects this as same flag.
  2690. Atmail 6.x [host1] success.
  2691. Fix for QQMail IMAP4Server. With --noabletosearch the previous fetch with 1:999999 is replaced by an uidnext request.
  2692. ----------------------------
  2693. revision 1.561
  2694. date: 2013/08/09 23:49:23; author: gilles; state: Exp; lines: +15 -8
  2695. Added --timeout in the --help output.
  2696. Default timeout is 120 seconds now (was nothing by imapsync, 600 with underlying modules).
  2697. ----------------------------
  2698. revision 1.560
  2699. date: 2013/08/09 23:06:04; author: gilles; state: Exp; lines: +7 -7
  2700. Added --addheader suggestion for messages with no header found.
  2701. ----------------------------
  2702. revision 1.559
  2703. date: 2013/08/06 11:33:53; author: gilles; state: Exp; lines: +7 -7
  2704. Apply same treatment to --delete2duplicates as --delete2. If --uidexpunge2 can be done, do it, else do --expunge2 (unless --nouidexpunge2 or --noexpunge2).
  2705. ----------------------------
  2706. revision 1.558
  2707. date: 2013/08/03 01:13:37; author: gilles; state: Exp; lines: +18 -16
  2708. Bugfix. SSL_version was not well treated.
  2709. ----------------------------
  2710. revision 1.557
  2711. date: 2013/08/01 19:28:09; author: gilles; state: Exp; lines: +7 -7
  2712. Bugfix. max_line_length('a') was wrong.
  2713. ----------------------------
  2714. revision 1.556
  2715. date: 2013/08/01 00:10:03; author: gilles; state: Exp; lines: +42 -28
  2716. Added --ssl1_SSL_version ssl2_SSL_version option to change default SSL_version.
  2717. For example --ssl2_SSL_version SSLv3 fix connection to cmail.cmich.edu on Windows.
  2718. Fixed a warning about regex with \E on Perl >= 5.16
  2719. ----------------------------
  2720. revision 1.555
  2721. date: 2013/07/23 11:41:10; author: gilles; state: Exp; lines: +7 -6
  2722. Fix warning for extract_header()
  2723. ----------------------------
  2724. revision 1.554
  2725. date: 2013/07/22 01:23:12; author: gilles; state: Exp; lines: +7 -7
  2726. typo - when error printed.
  2727. ----------------------------
  2728. revision 1.553
  2729. date: 2013/07/22 01:18:30; author: gilles; state: Exp; lines: +9 -7
  2730. Bug fix. Header lines can contain \r\n.
  2731. ----------------------------
  2732. revision 1.552
  2733. date: 2013/07/22 00:51:52; author: gilles; state: Exp; lines: +74 -11
  2734. Added "Subject: lala" when line length exceeds maxlinelength to help ti find what are those messages. Added also size, flags and internal date.
  2735. ----------------------------
  2736. revision 1.551
  2737. date: 2013/07/19 14:05:50; author: gilles; state: Exp; lines: +698 -650
  2738. Added option --maxlinelength to skip messages whose max line length is over a number of bytes.
  2739. ----------------------------
  2740. revision 1.550
  2741. date: 2013/07/19 00:13:22; author: gilles; state: Exp; lines: +1029 -585
  2742. Added success Domino 8.5.2
  2743. Added option --messageidnodomain to fix Mailenable bug changing the domain part of Message-Id header, and avoid duplicates
  2744. Added option --syncflagsaftercopy to fix Mailenable bug not getting the flags with the APPEND.
  2745. Added back the banner of IMAP servers, ie, the first line given after the connection established.
  2746. Added --fixInboxINBOX, turned on by default, to map automatically Inbox INBOX folder names.
  2747. IMAP server removing consecutive spaces on the header part doesn't generate duplicates (MailEnable does that).
  2748. Better output of mailbox sizes in human style (could be 1024.00 Kib, now it is 1.000 Mib). Changed bytes_display_string().
  2749. Option --debugflags now prints flags on first sync (the copy) and also the PERMANENTFLAGS outpout.
  2750. Fixed nearly 200 perlcritic at level 3, all level 4. Still 5 eval "" at level 5 and 12 critics at level 3.
  2751. ----------------------------
  2752. revision 1.549
  2753. date: 2013/07/06 01:09:03; author: gilles; state: Exp; lines: +81 -11
  2754. Fixed two bugs coming from adding return( ) at the end of functions.
  2755. Added tests to remove Disposition-Notification-To: header with regexmess:.
  2756. ----------------------------
  2757. revision 1.548
  2758. date: 2013/07/04 02:25:05; author: gilles; state: Exp; lines: +247 -201
  2759. Removed all perlcritic severity 4. Still 5 critics at severity 5.
  2760. 98 critics severity 4 fixed.
  2761. ----------------------------
  2762. revision 1.547
  2763. date: 2013/07/03 01:24:34; author: gilles; state: Exp; lines: +11 -8
  2764. DBOX 2.41 success.
  2765. Kerio 8 success.
  2766. ----------------------------
  2767. revision 1.546
  2768. date: 2013/07/02 03:49:32; author: gilles; state: Exp; lines: +14 -8
  2769. Fixed IO::Socket::IP bug on Win32?
  2770. Removed SSL::DEBUG
  2771. Added "copying.." in dry mode.
  2772. ----------------------------
  2773. revision 1.545
  2774. date: 2013/06/06 20:43:56; author: gilles; state: Exp; lines: +27 -125
  2775. Rmoved sub starttls()
  2776. Removed sub myconnect()
  2777. Removed sub RawSocket2()
  2778. Applied patch from Jim Klimov to handle proxyauth failures
  2779. ----------------------------
  2780. revision 1.544
  2781. date: 2013/06/02 23:36:16; author: gilles; state: Exp; lines: +25 -24
  2782. Remove myconnect() use. Replaced by $imap->connect()
  2783. Removed sub Split add in Mail::IMAPClient
  2784. ----------------------------
  2785. revision 1.543
  2786. date: 2013/05/22 01:22:03; author: gilles; state: Exp; lines: +12 -7
  2787. SSL_verify_mode 0 to avoid warning about Man-In-The-Middle.
  2788. ----------------------------
  2789. revision 1.542
  2790. date: 2013/05/06 08:30:35; author: gilles; state: Exp; lines: +7 -7
  2791. Syntax with "" fix.
  2792. ----------------------------
  2793. revision 1.541
  2794. date: 2013/05/06 07:10:29; author: gilles; state: Exp; lines: +111 -74
  2795. Started perlcritic corrections. Left 4 eval at level 5.
  2796. ----------------------------
  2797. revision 1.540
  2798. date: 2013/04/22 11:05:51; author: gilles; state: Exp; lines: +11 -982
  2799. Removed old 2.2.9 Mail::IMAPClient patch stuff.
  2800. ----------------------------
  2801. revision 1.539
  2802. date: 2013/04/22 00:54:22; author: gilles; state: Exp; lines: +12 -12
  2803. Fixed require namespace with uri_escape() calls.
  2804. ----------------------------
  2805. revision 1.538
  2806. date: 2013/04/22 00:46:54; author: gilles; state: Exp; lines: +94 -9
  2807. Added XOAUTH authentication. Thanks to Eduardo Bortoluzzi Junior.
  2808. ----------------------------
  2809. revision 1.537
  2810. date: 2013/04/19 06:59:17; author: gilles; state: Exp; lines: +9 -9
  2811. MDaemon 9.6.5, Surgemail 6.3d-72
  2812. ----------------------------
  2813. revision 1.536
  2814. date: 2013/04/17 14:33:12; author: gilles; state: Exp; lines: +7 -7
  2815. Added --delete1 as an alias for --delete
  2816. ----------------------------
  2817. revision 1.535
  2818. date: 2013/04/17 12:47:58; author: gilles; state: Exp; lines: +42 -33
  2819. Updated README part.
  2820. ----------------------------
  2821. revision 1.534
  2822. date: 2013/04/16 15:31:50; author: gilles; state: Exp; lines: +26 -17
  2823. Added --search1 and --search2 to allow different searches on each host.
  2824. ----------------------------
  2825. revision 1.533
  2826. date: 2013/04/10 12:03:39; author: gilles; state: Exp; lines: +8 -6
  2827. Comment in select_msgs()
  2828. ----------------------------
  2829. revision 1.532
  2830. date: 2013/04/10 08:33:52; author: gilles; state: Exp; lines: +11 -9
  2831. Fixed Scott issue again. Was not enough.
  2832. ----------------------------
  2833. revision 1.531
  2834. date: 2013/04/09 08:10:38; author: gilles; state: Exp; lines: +7 -7
  2835. Fixed Scott issue, took long time (all messages list) even with --useuid --delete --nousecache --maxage 1
  2836. ----------------------------
  2837. revision 1.530
  2838. date: 2013/04/09 08:00:54; author: gilles; state: Exp; lines: +13 -14
  2839. Clarified select_msgs() a little.
  2840. ----------------------------
  2841. revision 1.529
  2842. date: 2013/03/29 14:32:26; author: gilles; state: Exp; lines: +14 -12
  2843. Phil patch.
  2844. ----------------------------
  2845. revision 1.528
  2846. date: 2013/03/29 03:12:45; author: gilles; state: Exp; lines: +60 -21
  2847. Applied Phil patch.
  2848. ----------------------------
  2849. revision 1.527
  2850. date: 2013/03/29 01:15:05; author: gilles; state: Exp; lines: +10 -8
  2851. Mail2World Server
  2852. Zarafa Gateway
  2853. ----------------------------
  2854. revision 1.526
  2855. date: 2013/02/27 22:40:45; author: gilles; state: Exp; lines: +9 -7
  2856. Apple Server
  2857. Zarafa server
  2858. ----------------------------
  2859. revision 1.525
  2860. date: 2013/02/05 12:52:10; author: gilles; state: Exp; lines: +9 -9
  2861. Typo synchronise -> synchronize.
  2862. ----------------------------
  2863. revision 1.524
  2864. date: 2013/01/31 20:41:29; author: gilles; state: Exp; lines: +8 -7
  2865. Small fix in help message.
  2866. \\D
  2867. ----------------------------
  2868. revision 1.523
  2869. date: 2013/01/31 14:12:21; author: gilles; state: Exp; lines: +118 -99
  2870. Reorganized the --help message.
  2871. ----------------------------
  2872. revision 1.522
  2873. date: 2013/01/28 02:50:49; author: gilles; state: Exp; lines: +13 -13
  2874. Printing info with several host1 folder going to one host2 folder is in --debug mode now.
  2875. ----------------------------
  2876. revision 1.521
  2877. date: 2013/01/23 07:48:01; author: gilles; state: Exp; lines: +7 -7
  2878. Speed. --nocheckmessageexists is activated by default since --checkmessageexists often slow down transfers too much.
  2879. ----------------------------
  2880. revision 1.520
  2881. date: 2013/01/23 07:41:48; author: gilles; state: Exp; lines: +103 -30
  2882. Fix. Removed reference to DWTFPL since license is NOLIMIT now.
  2883. License file is LICENSE now, no longer COPYING.
  2884. Fix. Handle the case where several folders on host1 go to one folder on host2 with --delete2 option.
  2885. The bug was imapsync was copying messages and deleting them on next folder.
  2886. ----------------------------
  2887. revision 1.519
  2888. date: 2012/12/31 09:51:40; author: gilles; state: Exp; lines: +11 -9
  2889. Usability fix. --foldersizesatend is on if --foldersizes is on. Off if --nofoldersizesatend
  2890. ----------------------------
  2891. revision 1.518
  2892. date: 2012/12/24 00:27:34; author: gilles; state: Exp; lines: +9 -6
  2893. Bugfix. When identtifying with header, change tabulations to spaces (Gmail bug on with "Received:" on multilines).
  2894. ----------------------------
  2895. revision 1.517
  2896. date: 2012/12/11 07:13:04; author: gilles; state: Exp; lines: +17 -10
  2897. Added Deerfield VisNetic MailServer 5.8.6
  2898. Bugfix. Automatic --nocheckmessageexists when --noabletosearch is set.
  2899. ----------------------------
  2900. revision 1.516
  2901. date: 2012/11/02 22:15:04; author: gilles; state: Exp; lines: +43 -38
  2902. Added current date at the beginning of the run, useful when imapsync doesn't end properly or hasn't finished yet.
  2903. Better output for diff statistics.
  2904. ----------------------------
  2905. revision 1.515
  2906. date: 2012/10/31 12:56:02; author: gilles; state: Exp; lines: +12 -9
  2907. Added Initial difference to compare it with Final difference.
  2908. ----------------------------
  2909. revision 1.514
  2910. date: 2012/10/31 01:39:38; author: gilles; state: Exp; lines: +32 -16
  2911. Added --foldersizesatend and --nofoldersizesatend, on by default.
  2912. Added statistic host2 minus host1: number of messages and bytes.
  2913. ----------------------------
  2914. revision 1.513
  2915. date: 2012/10/30 22:31:49; author: gilles; state: Exp; lines: +40 -19
  2916. Add --fixslash2 to avoid 'Invalid mailbox name' when --sep2 is not / and sep1 is / and host1 folders contain --sep2 characters.
  2917. ----------------------------
  2918. revision 1.512
  2919. date: 2012/10/30 01:44:26; author: gilles; state: Exp; lines: +22 -8
  2920. Added option --showpasswords
  2921. --showpasswords : shows passwords on output instead of "MASKED".
  2922. Off by default.
  2923. ----------------------------
  2924. revision 1.511
  2925. date: 2012/10/27 22:37:57; author: gilles; state: Exp; lines: +44 -20
  2926. Added --delete2duplicates; Delete messages in host2 that are duplicates.
  2927. --delete2duplicates is on when --delete2 is on unless --nodelete2duplicates.
  2928. ----------------------------
  2929. revision 1.510
  2930. date: 2012/10/27 15:18:44; author: gilles; state: Exp; lines: +36 -30
  2931. Added --pidfilelocking option to abort in case another imapsync may be running.
  2932. ----------------------------
  2933. revision 1.509
  2934. date: 2012/10/24 14:57:56; author: gilles; state: Exp; lines: +41 -13
  2935. Added option --noabletosearch to allow listing messages without SEARCH command. Hack for imap server softalk 7.6.4. (8.6 is fine about search)
  2936. ----------------------------
  2937. revision 1.508
  2938. date: 2012/09/10 21:10:13; author: gilles; state: Exp; lines: +81 -17
  2939. Added ETA after each copy. Estimated Time of Arrival.
  2940. ----------------------------
  2941. revision 1.507
  2942. date: 2012/09/09 12:57:44; author: gilles; state: Exp; lines: +20 -12
  2943. Bugfix. Previous fix about characters *|?:"<> in cache path was not complete.
  2944. ----------------------------
  2945. revision 1.506
  2946. date: 2012/09/07 14:51:00; author: gilles; state: Exp; lines: +10 -7
  2947. Option. Added --noexpungeaftereach to speedup --delete --expunge from Gmail.
  2948. ----------------------------
  2949. revision 1.505
  2950. date: 2012/09/07 10:40:55; author: gilles; state: Exp; lines: +10 -10
  2951. Usability. Added Host1 or Host2 before "Nb messages" "Total size" with --foldersiszes
  2952. ----------------------------
  2953. revision 1.504
  2954. date: 2012/08/28 13:10:26; author: gilles; state: Exp; lines: +10 -9
  2955. Bugfix. sentsince sentbefore in int seconds.
  2956. ----------------------------
  2957. revision 1.503
  2958. date: 2012/08/27 23:42:39; author: gilles; state: Exp; lines: +36 -19
  2959. Added transfer rate and messages rate after each copy.
  2960. ----------------------------
  2961. revision 1.502
  2962. date: 2012/08/27 10:00:43; author: gilles; state: Exp; lines: +43 -22
  2963. Added option --nocheckmessageexists to check speed up with Tobbit imap server.
  2964. Bugfix. Convert *|?:"<> characters to _ because they are forbidden on Windows paths.
  2965. Use Time::HiRes time to get time with better precesion than the second.
  2966. ----------------------------
  2967. revision 1.501
  2968. date: 2012/08/13 12:59:23; author: gilles; state: Exp; lines: +101 -101
  2969. Changed tmp dir for tests to W/tmp
  2970. ----------------------------
  2971. revision 1.500
  2972. date: 2012/08/10 04:58:46; author: gilles; state: Exp; lines: +40 -28
  2973. Bugfix. The cache system didn't work in Win32 (problem with \ transformation)
  2974. Added option --nocheckselectable to fix INBOX issue with Jana-server.
  2975. Documentation. Example for --delete2foldersbutnot
  2976. ----------------------------
  2977. revision 1.499
  2978. date: 2012/07/30 10:56:26; author: gilles; state: Exp; lines: +45 -31
  2979. Bugfix. Check the return of touch calls.
  2980. ----------------------------
  2981. revision 1.498
  2982. date: 2012/07/20 14:28:45; author: gilles; state: Exp; lines: +22 -6
  2983. Added several connection ckecks like old good imapsync-1.181 to imapsync-1.398
  2984. ----------------------------
  2985. revision 1.497
  2986. date: 2012/07/14 19:48:04; author: gilles; state: Exp; lines: +43 -28
  2987. Added --authmech PREAUTH capabiliy. (Patch from David Abrahams).
  2988. ----------------------------
  2989. revision 1.496
  2990. date: 2012/07/12 20:53:49; author: gilles; state: Exp; lines: +12 -11
  2991. Bugfix. Unsubsribe folder before deleting it (can bug sometimes).
  2992. ----------------------------
  2993. revision 1.495
  2994. date: 2012/07/11 04:56:33; author: gilles; state: Exp; lines: +7 -8
  2995. Bugfix about last patch $h2_total_bytes_duplicate
  2996. ----------------------------
  2997. revision 1.494
  2998. date: 2012/07/11 03:50:43; author: gilles; state: Exp; lines: +40 -12
  2999. Usability. Use KiB MiB GiB etc in result summary. Patch from Mark Atwood.
  3000. ----------------------------
  3001. revision 1.493
  3002. date: 2012/06/30 00:28:51; author: gilles; state: Exp; lines: +9 -9
  3003. Bug fix. Port 143 when --ssl and --tls together.
  3004. ----------------------------
  3005. revision 1.492
  3006. date: 2012/06/29 23:32:04; author: gilles; state: Exp; lines: +7 -7
  3007. Bug fix. Don't filter flag when --nofilterflags is used during the message copy.
  3008. ----------------------------
  3009. revision 1.491
  3010. date: 2012/06/20 09:53:27; author: gilles; state: Exp; lines: +8 -8
  3011. Added value of internal date in --debug mode.
  3012. ----------------------------
  3013. revision 1.490
  3014. date: 2012/05/22 21:03:40; author: gilles; state: Exp; lines: +10 -14
  3015. Updated Cyrus info.
  3016. ----------------------------
  3017. revision 1.489
  3018. date: 2012/05/22 20:54:13; author: gilles; state: Exp; lines: +20 -14
  3019. Print dry mode when expunging.
  3020. ----------------------------
  3021. revision 1.488
  3022. date: 2012/04/15 17:38:21; author: gilles; state: Exp; lines: +8 -8
  3023. Reverse patch applied in 1.485
  3024. It was "2) eval and --delete2foldersonly --delete2foldersbutnot that need also good escaping."
  3025. The "good" escaping was bad. No escaping needed. It permits imapsync variables like ${h2_sep}
  3026. in --delete2foldersonly
  3027. But good escaping has to be done in parameter value like --delete2foldersbutnot /\[Gmail\]/
  3028. instead of --delete2foldersbutnot /[Gmail]/ (for example).
  3029. ----------------------------
  3030. revision 1.487
  3031. date: 2012/02/29 05:29:21; author: gilles; state: Exp; lines: +7 -7
  3032. Fixed a useless Perl warning.
  3033. ----------------------------
  3034. revision 1.486
  3035. date: 2012/02/23 23:05:49; author: gilles; state: Exp; lines: +10 -10
  3036. Removed "Memory/biggest message ratio" in final stats, useless now.
  3037. Fixed a warning about memory_consumption when the call fails.
  3038. ----------------------------
  3039. revision 1.485
  3040. date: 2012/02/19 22:24:23; author: gilles; state: Exp; lines: +16 -12
  3041. Applied Pierre GUILLAUME patch about
  3042. 1) $cache_dir and bsd_globs() that needs escaped characters.
  3043. 2) eval and --delete2foldersonly --delete2foldersbutnot that need also good escaping. Thanks Pierre.
  3044. ----------------------------
  3045. revision 1.484
  3046. date: 2012/02/07 00:19:33; author: gilles; state: Exp; lines: +8 -7
  3047. Just a comment about examine versus select on host1.
  3048. ----------------------------
  3049. revision 1.483
  3050. date: 2012/02/06 23:16:06; author: gilles; state: Exp; lines: +7 -7
  3051. Bug fix. Read-only mode on host1 can't be done with --delete (back to select instead of examine).
  3052. ----------------------------
  3053. revision 1.482
  3054. date: 2012/01/23 00:39:12; author: gilles; state: Exp; lines: +25 -10
  3055. Added --exitwhenover option to avoid locking when transfers exceed maximum limit,
  3056. See for example http://support.google.com/a/bin/answer.py?hl=en&answer=1071518
  3057. --exitwhenover 2500000000 if host1 is Gmail
  3058. --exitwhenover 500000000 if host2 is Gmail
  3059. ----------------------------
  3060. revision 1.481
  3061. date: 2012/01/22 23:43:02; author: gilles; state: Exp; lines: +24 -9
  3062. Check if a message exists before fetching it (could have been deleted recently)
  3063. ----------------------------
  3064. revision 1.480
  3065. date: 2012/01/08 05:11:03; author: gilles; state: Exp; lines: +8 -7
  3066. a1.net fix.
  3067. ----------------------------
  3068. revision 1.479
  3069. date: 2011/12/16 05:30:27; author: gilles; state: Exp; lines: +33 -26
  3070. Unified outout in --debug mode. Lines start with Host1 or Host2.
  3071. ----------------------------
  3072. revision 1.478
  3073. date: 2011/12/16 04:10:32; author: gilles; state: Exp; lines: +11 -9
  3074. Changed output about messages ignored to better reflect what is going on.
  3075. ----------------------------
  3076. revision 1.477
  3077. date: 2011/12/11 10:07:09; author: gilles; state: Exp; lines: +8 -8
  3078. --split down to 100 to follow the recommendation of RFC2683 section 3.2.1.5
  3079. Thanks to Phil Pearl for this advice.
  3080. ----------------------------
  3081. revision 1.476
  3082. date: 2011/12/10 01:33:50; author: gilles; state: Exp; lines: +34 -8
  3083. Applied Ameir Abdeldayem patch to deal with errors like
  3084. "Host1 Sent/15 size 1428 ignored (no header so we ignore this message)"
  3085. It happens with Sent folder when no Message-Id nor Received header
  3086. are defined in a message.
  3087. ----------------------------
  3088. revision 1.475
  3089. date: 2011/12/08 08:23:16; author: gilles; state: Exp; lines: +7 -7
  3090. Default header used to identify a message are now "Message-Id" and "Received".
  3091. ----------------------------
  3092. revision 1.474
  3093. date: 2011/12/02 20:30:16; author: gilles; state: Exp; lines: +9 -9
  3094. Default down from 1000 to --split1 500. (Cyrus "Word too long")
  3095. ----------------------------
  3096. revision 1.473
  3097. date: 2011/12/01 14:06:23; author: gilles; state: Exp; lines: +8 -8
  3098. Fixed output. fetch_hash_2 no longer exists.
  3099. ----------------------------
  3100. revision 1.472
  3101. date: 2011/12/01 12:44:48; author: gilles; state: Exp; lines: +11 -6
  3102. Added start and end dates in the final statistics.
  3103. ----------------------------
  3104. revision 1.471
  3105. date: 2011/11/24 09:29:26; author: gilles; state: Exp; lines: +21 -20
  3106. Checked and updated "Similar softwares" section in documentation.
  3107. ----------------------------
  3108. revision 1.470
  3109. date: 2011/11/23 18:14:20; author: gilles; state: Exp; lines: +7 -7
  3110. typo
  3111. ----------------------------
  3112. revision 1.469
  3113. date: 2011/11/20 17:44:35; author: gilles; state: Exp; lines: +16 -9
  3114. Added --nofilterflags to chech STORE flags ignoring PERMANENTFLAGS (Exchange tests)
  3115. ----------------------------
  3116. revision 1.468
  3117. date: 2011/11/18 01:23:37; author: gilles; state: Exp; lines: +33 -105
  3118. Replaced fetch_hash_2() calls by normal fetch_hash()
  3119. ----------------------------
  3120. revision 1.467
  3121. date: 2011/11/17 15:00:15; author: gilles; state: Exp; lines: +20 -16
  3122. Subscribe to host2 folders only for those not already subscribed.
  3123. ----------------------------
  3124. revision 1.466
  3125. date: 2011/11/17 14:31:55; author: gilles; state: Exp; lines: +76 -60
  3126. Use examine() on host1 instead of select().
  3127. ----------------------------
  3128. revision 1.465
  3129. date: 2011/11/17 14:02:53; author: gilles; state: Exp; lines: +22 -22
  3130. Changed imapsync homepage from http://www.linux-france.org/prj/imapsync/ to http://imapsync.lamiral.info/
  3131. Fix select behavior on host2 to allow Gmail folders that don't exist but that are listed.
  3132. ----------------------------
  3133. revision 1.464
  3134. date: 2011/11/14 23:59:46; author: gilles; state: Exp; lines: +8 -8
  3135. Replaced // by ? : equivalent to be perl 5.8 compliant.
  3136. ----------------------------
  3137. revision 1.463
  3138. date: 2011/11/12 21:58:52; author: gilles; state: Exp; lines: +9 -7
  3139. --subscribe is on by defaut.
  3140. ----------------------------
  3141. revision 1.462
  3142. date: 2011/10/16 23:48:58; author: gilles; state: Exp; lines: +14 -11
  3143. Added --nocacheaftercopy to avoid bad uids in cache with --useuid or --usecache and strange uid generator like dbmail 2.2.17
  3144. ----------------------------
  3145. revision 1.461
  3146. date: 2011/10/07 21:02:15; author: gilles; state: Exp; lines: +8 -8
  3147. MailEnable
  3148. Mirapoint
  3149. ----------------------------
  3150. revision 1.460
  3151. date: 2011/09/21 20:19:46; author: gilles; state: Exp; lines: +8 -8
  3152. Avoid Perl warning 'Use of uninitialized value $uid1 in exists'. Thanks to Klaus Franken
  3153. ----------------------------
  3154. revision 1.459
  3155. date: 2011/09/21 20:10:38; author: gilles; state: Exp; lines: +7 -7
  3156. Kerio 7.2.0 Patch 1 as host2
  3157. ----------------------------
  3158. revision 1.458
  3159. date: 2011/08/24 22:26:20; author: gilles; state: Exp; lines: +7 -6
  3160. Yahoo host1 success.
  3161. ----------------------------
  3162. revision 1.457
  3163. date: 2011/08/24 21:55:56; author: gilles; state: Exp; lines: +10 -10
  3164. Renamed file.csv to file.txt
  3165. ----------------------------
  3166. revision 1.456
  3167. date: 2011/08/24 04:21:30; author: gilles; state: Exp; lines: +15 -13
  3168. Help message on --sep when namespace separator is NIL. Yahoo case.
  3169. ----------------------------
  3170. revision 1.455
  3171. date: 2011/07/29 03:00:25; author: gilles; state: Exp; lines: +8 -8
  3172. Empty default value for $h1_flags $h2_flags to avoid useless Perl warnings.
  3173. ----------------------------
  3174. revision 1.454
  3175. date: 2011/07/15 16:17:06; author: gilles; state: Exp; lines: +22 -10
  3176. file.csv example
  3177. ----------------------------
  3178. revision 1.453
  3179. date: 2011/07/15 00:35:37; author: gilles; state: Exp; lines: +10 -6
  3180. MDaemon 12.0.3 failure as host2 (APPEND buggy)
  3181. ----------------------------
  3182. revision 1.452
  3183. date: 2011/07/11 00:29:06; author: gilles; state: Exp; lines: +64 -47
  3184. Added the --search option allowing to select messages with the powerful IMAP SEARCH command.
  3185. ----------------------------
  3186. revision 1.451
  3187. date: 2011/06/30 11:44:38; author: gilles; state: Exp; lines: +7 -8
  3188. Added IO::Socket::INET version info.
  3189. ----------------------------
  3190. revision 1.450
  3191. date: 2011/06/21 00:17:20; author: gilles; state: Exp; lines: +7 -7
  3192. Bugfix. Fixed ps call to work with Solaris 10. Thanks to Daniel Rohde.
  3193. ----------------------------
  3194. revision 1.449
  3195. date: 2011/06/16 12:20:42; author: gilles; state: Exp; lines: +13 -10
  3196. Kerio 7.2.0P1 success.
  3197. MDaemon 12.0.3 success.
  3198. ----------------------------
  3199. revision 1.448
  3200. date: 2011/06/03 00:54:15; author: gilles; state: Exp; lines: +9 -9
  3201. Bugfix. Date reference to select messages with --maxdate --mindate is the beginning of imapsync run now.
  3202. ----------------------------
  3203. revision 1.447
  3204. date: 2011/06/02 00:01:01; author: gilles; state: Exp; lines: +13 -13
  3205. Added PERMANENTFLAGS output with --debugflags
  3206. ----------------------------
  3207. revision 1.446
  3208. date: 2011/05/31 09:11:18; author: gilles; state: Exp; lines: +17 -17
  3209. Bugfix. Try to handle Markus bug in foldersizes() when select_msgs() returns a list of undef.
  3210. ----------------------------
  3211. revision 1.445
  3212. date: 2011/05/31 08:00:45; author: gilles; state: Exp; lines: +53 -46
  3213. Check if uidexpunge is supported at the beginning of execution, not when needed.
  3214. Set --uidexpunge2 if --delete2 or --expunge2 if uidexpunge not supported.
  3215. Changed all warn() calls (STDERR) to print calls (STDOUT)
  3216. ----------------------------
  3217. revision 1.444
  3218. date: 2011/05/30 15:16:46; author: gilles; state: Exp; lines: +10 -7
  3219. good_date() "24 Aug 77" -> "24-Aug-1977"
  3220. ----------------------------
  3221. revision 1.443
  3222. date: 2011/05/28 16:50:27; author: gilles; state: Exp; lines: +125 -41
  3223. Patched tests_good_date() and good_date() with Dax Kelson patches.
  3224. ----------------------------
  3225. revision 1.442
  3226. date: 2011/05/28 16:14:31; author: gilles; state: Exp; lines: +28 -8
  3227. Started code to deal with epoch of messages.
  3228. ----------------------------
  3229. revision 1.441
  3230. date: 2011/05/26 01:01:25; author: gilles; state: Exp; lines: +14 -11
  3231. Handle better folder creation, not a failure when folder "already exists" during its creation.
  3232. ----------------------------
  3233. revision 1.440
  3234. date: 2011/05/26 00:40:51; author: gilles; state: Exp; lines: +28 -28
  3235. Replaced default setting. Now --delete2 sets --uidexpunge2 instead of --expunge2 (unless --nouidexpunge2 is set)
  3236. ----------------------------
  3237. revision 1.439
  3238. date: 2011/05/25 03:11:41; author: gilles; state: Exp; lines: +65 -9
  3239. Added epoch() routine to prepare the safe bidirectional sync (maybe...)
  3240. ----------------------------
  3241. revision 1.438
  3242. date: 2011/05/25 00:47:27; author: gilles; state: Exp; lines: +9 -8
  3243. Adapted the usage output multiline character to Unix or Win, \ or ^
  3244. ----------------------------
  3245. revision 1.437
  3246. date: 2011/05/25 00:29:04; author: gilles; state: Exp; lines: +8 -7
  3247. Bugfix. Avoid a "no number" warning when size is null.
  3248. ----------------------------
  3249. revision 1.436
  3250. date: 2011/05/23 23:30:20; author: gilles; state: Exp; lines: +8 -12
  3251. Added "Date" in the default --useheader list. ("Message-Id", "Message-ID", "Date")
  3252. ----------------------------
  3253. revision 1.435
  3254. date: 2011/05/23 23:06:31; author: gilles; state: Exp; lines: +29 -12
  3255. Bugfix. Bad header beginning with a blank character.
  3256. ----------------------------
  3257. revision 1.434
  3258. date: 2011/05/16 07:16:19; author: gilles; state: Exp; lines: +142 -57
  3259. Bugfix. Made --usecache work with --maxage or --maxsize or --min*
  3260. ----------------------------
  3261. revision 1.433
  3262. date: 2011/05/16 03:07:59; author: gilles; state: Exp; lines: +191 -49
  3263. Improved the way imapsync deals with headers:
  3264. - Stopped getting first 2KB of message. Not a good idea.
  3265. - If $imap2->parse_headers() fails then take the whole header (instead of body).
  3266. - Default is like --useheader Message-Id --useheader Message-ID
  3267. - Use header Message-Id and header Date as sig md5 when taking the whole header.
  3268. Better output in debug mode.
  3269. ----------------------------
  3270. revision 1.432
  3271. date: 2011/05/15 22:06:19; author: gilles; state: Exp; lines: +8 -7
  3272. Options --usecache and --maxsize --minsize can safely be used if --delete is there
  3273. ----------------------------
  3274. revision 1.431
  3275. date: 2011/05/15 00:47:03; author: gilles; state: Exp; lines: +17 -8
  3276. Added tests of mkpath very long path > 300 char. Win32 fails on them.
  3277. ----------------------------
  3278. revision 1.430
  3279. date: 2011/05/14 23:13:06; author: gilles; state: Exp; lines: +14 -9
  3280. Bugfix. Added special case for Inbox vs INBOX bug creation ("Couldn't create folder [Inbox] from [INBOX]: 143 NO INBOX already exists!")
  3281. ----------------------------
  3282. revision 1.429
  3283. date: 2011/05/14 21:24:31; author: gilles; state: Exp; lines: +8 -8
  3284. Adapted regression tests for good_date() when no zone is given.
  3285. ----------------------------
  3286. revision 1.428
  3287. date: 2011/05/14 02:31:02; author: gilles; state: Exp; lines: +8 -8
  3288. Bugfix. intarnal date needs zone data. Default to +0000.
  3289. ----------------------------
  3290. revision 1.427
  3291. date: 2011/05/14 01:48:07; author: gilles; state: Exp; lines: +15 -13
  3292. Bugfix. Starttls() only for 2.2.9
  3293. ----------------------------
  3294. revision 1.426
  3295. date: 2011/05/14 01:14:16; author: gilles; state: Exp; lines: +8 -8
  3296. Fix. Removed a debug print always printed.
  3297. ----------------------------
  3298. revision 1.425
  3299. date: 2011/05/14 00:33:46; author: gilles; state: Exp; lines: +16 -15
  3300. Bugfix. Changed the way imapsync knows whether a folder exists or not. Exchange might be happy and stop deconnecting for this reason.
  3301. ----------------------------
  3302. revision 1.424
  3303. date: 2011/05/14 00:12:38; author: gilles; state: Exp; lines: +20 -9
  3304. Added a warning and die if --usecache and one of --maxsize--minsize --maxage --minage is used.
  3305. ----------------------------
  3306. revision 1.423
  3307. date: 2011/05/13 22:26:01; author: gilles; state: Exp; lines: +23 -12
  3308. Bugfix. Reconnections are well done in tls mode now.
  3309. Zimbra 5.0.24_GA_3356.RHEL4 [host1]
  3310. Exchange 2010 SP1 RU2 [host2]
  3311. Added --debugsleep to have to play will kill and reconnections.
  3312. ----------------------------
  3313. revision 1.422
  3314. date: 2011/05/08 17:21:38; author: gilles; state: Exp; lines: +17 -12
  3315. Added --debugLIST to track messages list uid or number only.
  3316. Bugfix: a lack of variable initialisation caused to fetch no existing messages.
  3317. The APPEND error then the FETCH 0 byte error may be fixed now.
  3318. ----------------------------
  3319. revision 1.421
  3320. date: 2011/05/08 12:28:10; author: gilles; state: Exp; lines: +8 -8
  3321. relogin1 before each folder select.
  3322. ----------------------------
  3323. revision 1.420
  3324. date: 2011/05/08 00:54:05; author: gilles; state: Exp; lines: +15 -18
  3325. --splitX are set into sub login_imap() now.
  3326. ----------------------------
  3327. revision 1.419
  3328. date: 2011/05/08 00:36:36; author: gilles; state: Exp; lines: +58 -8
  3329. Added --relogin1 option (--relogin1 5) to force a reconnection when FETCH message fails on host1.
  3330. ----------------------------
  3331. revision 1.418
  3332. date: 2011/05/07 22:15:36; author: gilles; state: Exp; lines: +95 -38
  3333. Added --debugcontent to avoid debugging content (can be big) with --debug option.
  3334. Added --debugflags to permit flag debugging only.
  3335. Added --flagsCase to correct flag case that are not RFC compliant \SEEN -> \Seen (on by default).
  3336. Added output to track 0 byte messages during the fetch on host1.
  3337. ----------------------------
  3338. revision 1.417
  3339. date: 2011/05/05 16:12:02; author: gilles; state: Exp; lines: +7 -7
  3340. Bugfix. --proxyauth2 was setting proxyauth1!
  3341. Thanks to Denis BREAN!
  3342. ----------------------------
  3343. revision 1.416
  3344. date: 2011/05/01 20:44:40; author: gilles; state: Exp; lines: +8 -8
  3345. MDaemon 12
  3346. Exchange 6.5 host1
  3347. ----------------------------
  3348. revision 1.415
  3349. date: 2011/04/30 15:33:31; author: gilles; state: Exp; lines: +20 -14
  3350. Bugfix. Modified create_folder() to avoid Inbox -> INBOX problem ("already exists").
  3351. ----------------------------
  3352. revision 1.414
  3353. date: 2011/04/30 00:25:38; author: gilles; state: Exp; lines: +41 -19
  3354. Bugfix. --maxsize --minsize now work with --useuid
  3355. Bugfix. flag sync of already transfered messages now take care of --maxsize --minsize options.
  3356. ----------------------------
  3357. revision 1.413
  3358. date: 2011/04/28 22:55:48; author: gilles; state: Exp; lines: +25 -12
  3359. --delete2 implies --expunge2 now unless --noexpunge2 is given.
  3360. exit if --delete and --delete2 are given together.
  3361. Same behavior for --expunge or --expunge1.
  3362. ----------------------------
  3363. revision 1.412
  3364. date: 2011/04/28 14:49:59; author: gilles; state: Exp; lines: +17 -15
  3365. Added 0 length message tracking when fetching host1.
  3366. ----------------------------
  3367. revision 1.411
  3368. date: 2011/04/19 23:34:30; author: gilles; state: Exp; lines: +19 -11
  3369. Bugfix for "Folders in host2 not in host1" list when folders are given by --folder option or equivalent.
  3370. The old list listed too many folders with --folder INBOX for example.
  3371. ----------------------------
  3372. revision 1.410
  3373. date: 2011/04/19 23:11:42; author: gilles; state: Exp; lines: +9 -8
  3374. Updated success list.
  3375. ----------------------------
  3376. revision 1.409
  3377. date: 2011/04/16 20:15:05; author: gilles; state: Exp; lines: +7 -6
  3378. Added --takebody option.
  3379. ----------------------------
  3380. revision 1.408
  3381. date: 2011/04/11 01:37:34; author: gilles; state: Exp; lines: +9 -8
  3382. Added Gimap (Gmail imap) success.
  3383. Added IMail 11.03 [host1] success
  3384. ----------------------------
  3385. revision 1.407
  3386. date: 2011/04/02 23:07:09; author: gilles; state: Exp; lines: +21 -12
  3387. Made --delete2 works with --uselib or --usecache
  3388. ----------------------------
  3389. revision 1.406
  3390. date: 2011/03/10 01:35:57; author: gilles; state: Exp; lines: +15 -13
  3391. No longer --useuid with --fast
  3392. Debug output with permanentflags.
  3393. ----------------------------
  3394. revision 1.405
  3395. date: 2011/03/07 13:41:54; author: gilles; state: Exp; lines: +13 -11
  3396. Added isync url.
  3397. Sleep 2 seconds after foldersizes calls.
  3398. ----------------------------
  3399. revision 1.404
  3400. date: 2011/02/21 03:35:39; author: gilles; state: Exp; lines: +7 -7
  3401. typo
  3402. ----------------------------
  3403. revision 1.403
  3404. date: 2011/02/21 00:52:16; author: gilles; state: Exp; lines: +47 -7
  3405. Added uid guessing with APPEND to improve --usecache for Exchange or Zarafa imap servers.
  3406. ----------------------------
  3407. revision 1.402
  3408. date: 2011/01/25 05:17:05; author: gilles; state: Exp; lines: +47 -174
  3409. Removed all the $imapX->IsUnconnected() since reconnect can be done.
  3410. Overrided append_file() for 2.2.9, copy from 3.25
  3411. ----------------------------
  3412. revision 1.401
  3413. date: 2011/01/25 02:22:37; author: gilles; state: Exp; lines: +195 -151
  3414. Added --useuid to speed up or deal with problems using headers.
  3415. Added --notakebody to avoid getting first 2Ko body when got "no header"
  3416. Replaced --debug_cache by --debugcache
  3417. ----------------------------
  3418. revision 1.400
  3419. date: 2011/01/22 04:46:04; author: gilles; state: Exp; lines: +94 -22
  3420. Fixed cache (chose only the greatest uid with dupplicate 11_21+11_201 or 11_21+101_21)
  3421. Fixed cache, dealing with filenames containing \ characters.
  3422. ----------------------------
  3423. revision 1.399
  3424. date: 2011/01/21 00:04:09; author: gilles; state: Exp; lines: +29 -21
  3425. Added --debug_cache option to alow cache dfebugging only.
  3426. ----------------------------
  3427. revision 1.398
  3428. date: 2011/01/18 03:03:24; author: gilles; state: Exp; lines: +7 -6
  3429. Fix. Removed too much about buffersize.
  3430. ----------------------------
  3431. revision 1.397
  3432. date: 2011/01/18 02:39:12; author: gilles; state: Exp; lines: +25 -19
  3433. Changed --delete2foldersnot option name to --delete2foldersbutnot
  3434. ----------------------------
  3435. revision 1.396
  3436. date: 2011/01/18 02:03:49; author: gilles; state: Exp; lines: +23 -11
  3437. Added --authmd51 and --authmd52 options to allow CRAM-MD5 authentication per host.
  3438. ----------------------------
  3439. revision 1.395
  3440. date: 2011/01/15 04:57:28; author: gilles; state: Exp; lines: +8 -8
  3441. --debugimap* implies --debug now.
  3442. ----------------------------
  3443. revision 1.394
  3444. date: 2011/01/15 04:46:16; author: gilles; state: Exp; lines: +21 -11
  3445. Added info about biggest messages.
  3446. ----------------------------
  3447. revision 1.393
  3448. date: 2011/01/15 03:40:43; author: gilles; state: Exp; lines: +7 -7
  3449. *** empty log message ***
  3450. ----------------------------
  3451. revision 1.392
  3452. date: 2011/01/15 03:29:37; author: gilles; state: Exp; lines: +17 -8
  3453. Added --delete2foldersnot option: do not delete folders matching regex.
  3454. ----------------------------
  3455. revision 1.391
  3456. date: 2011/01/10 23:11:49; author: gilles; state: Exp; lines: +7 -7
  3457. *** empty log message ***
  3458. ----------------------------
  3459. revision 1.390
  3460. date: 2011/01/10 05:47:43; author: gilles; state: Exp; lines: +403 -94
  3461. Added --usecache option. Goal: speed up the synchronisation.
  3462. ----------------------------
  3463. revision 1.389
  3464. date: 2011/01/06 04:28:58; author: gilles; state: Exp; lines: +7 -6
  3465. Mirapoint host1 success
  3466. ----------------------------
  3467. revision 1.388
  3468. date: 2010/12/29 22:46:08; author: gilles; state: Exp; lines: +44 -10
  3469. Added help to guess separator and prefix when NAMESPACE is not available.
  3470. ----------------------------
  3471. revision 1.387
  3472. date: 2010/12/22 02:27:39; author: gilles; state: Exp; lines: +13 -8
  3473. Added option --delete2foldersonly <regex>: delete only folders matching regex.
  3474. ----------------------------
  3475. revision 1.386
  3476. date: 2010/12/09 22:34:25; author: gilles; state: Exp; lines: +7 -7
  3477. hMailServer 4.4.1
  3478. ----------------------------
  3479. revision 1.385
  3480. date: 2010/12/03 23:40:12; author: gilles; state: Exp; lines: +34 -25
  3481. Changed default behaviour: now --delete implies --expunge
  3482. It is safer with multiples runs.
  3483. ----------------------------
  3484. revision 1.384
  3485. date: 2010/12/02 01:07:48; author: gilles; state: Exp; lines: +48 -34
  3486. Code cleanup.
  3487. Wrote create_folder()
  3488. Wrote select_folder()
  3489. Simplified folder loop (a beginning)
  3490. ----------------------------
  3491. revision 1.383
  3492. date: 2010/11/28 04:28:52; author: gilles; state: Exp; lines: +14 -12
  3493. Allow size mismatch by default.
  3494. Use --useheader 'Message-Id' by default.
  3495. Use --noauthmd5 by default.
  3496. Why? Because users don't have to spend time or mine reading or not
  3497. reading the documentation, spend time turning on options to success.
  3498. or speed.
  3499. ----------------------------
  3500. revision 1.382
  3501. date: 2010/11/19 21:31:35; author: gilles; state: Exp; lines: +23 -12
  3502. Added a way to handle no headers in messages: take first 2Ko body.
  3503. ----------------------------
  3504. revision 1.381
  3505. date: 2010/11/19 20:48:27; author: gilles; state: Exp; lines: +7 -7
  3506. Fixed 'ps' call for Solaris.
  3507. ----------------------------
  3508. revision 1.380
  3509. date: 2010/11/19 20:44:25; author: gilles; state: Exp; lines: +12 -11
  3510. updated success list.
  3511. ----------------------------
  3512. revision 1.379
  3513. date: 2010/11/12 00:44:02; author: gilles; state: Exp; lines: +7 -7
  3514. dkimap is now a success story!
  3515. ----------------------------
  3516. revision 1.378
  3517. date: 2010/11/12 00:22:59; author: gilles; state: Exp; lines: +19 -11
  3518. Added --nouid1 --nouid2 options to support dkimap and other imap server without uid capability.
  3519. ----------------------------
  3520. revision 1.377
  3521. date: 2010/11/09 02:12:40; author: gilles; state: Exp; lines: +8 -7
  3522. Added Authen::NTLM in modules_VERSION()
  3523. ----------------------------
  3524. revision 1.376
  3525. date: 2010/11/09 01:14:33; author: gilles; state: Exp; lines: +17 -10
  3526. Added --domain1 --domain2 options for NTLM authentication.
  3527. ----------------------------
  3528. revision 1.375
  3529. date: 2010/11/07 23:26:01; author: gilles; state: Exp; lines: +12 -15
  3530. Adapted documentation to new distribution rule.
  3531. ----------------------------
  3532. revision 1.374
  3533. date: 2010/11/07 18:31:06; author: gilles; state: Exp; lines: +10 -7
  3534. imapsync is no longer gratis on the homepage.
  3535. ----------------------------
  3536. revision 1.373
  3537. date: 2010/11/07 18:23:13; author: gilles; state: Exp; lines: +7 -7
  3538. Smarter Mail 5.5
  3539. ----------------------------
  3540. revision 1.372
  3541. date: 2010/11/03 00:10:29; author: gilles; state: Exp; lines: +9 -8
  3542. No thanks for *.bin and *.exe
  3543. ----------------------------
  3544. revision 1.371
  3545. date: 2010/11/02 07:37:35; author: gilles; state: Exp; lines: +9 -7
  3546. hMailServer 5.3.3 [host2] success
  3547. Oracle Beehive [host1] success
  3548. ----------------------------
  3549. revision 1.370
  3550. date: 2010/10/31 23:07:12; author: gilles; state: Exp; lines: +7 -7
  3551. Prepare to move from linux-france.org with independant name.
  3552. ----------------------------
  3553. revision 1.369
  3554. date: 2010/10/31 23:03:22; author: gilles; state: Exp; lines: +9 -6
  3555. No thanks with imapsync.exe just homepage link.
  3556. ----------------------------
  3557. revision 1.368
  3558. date: 2010/10/31 22:17:52; author: gilles; state: Exp; lines: +9 -3
  3559. Applied proxyauth-v2_1.366.patch on 1.366
  3560. ----------------------------
  3561. revision 1.367
  3562. date: 2010/10/31 00:01:44; author: gilles; state: Exp; lines: +44 -13
  3563. Applied patch patches/proxyauth_1.366.patch from Jorge López Pérez.
  3564. ----------------------------
  3565. revision 1.366
  3566. date: 2010/10/25 17:15:52; author: gilles; state: Exp; lines: +11 -12
  3567. Permit host* to have change the case of headers.
  3568. ----------------------------
  3569. revision 1.365
  3570. date: 2010/10/25 11:42:41; author: gilles; state: Exp; lines: +131 -157
  3571. Fix tls getline pb (read too early)
  3572. Changes place of starttls() myconnect() and other functions.
  3573. ----------------------------
  3574. revision 1.364
  3575. date: 2010/10/25 09:56:27; author: gilles; state: Exp; lines: +10 -15
  3576. Fix STARTTLS capability detection bug.
  3577. ----------------------------
  3578. revision 1.363
  3579. date: 2010/10/24 17:16:43; author: gilles; state: Exp; lines: +99 -48
  3580. Added --delete2folders option. Deletes folders in host2 that are not in host1.
  3581. ----------------------------
  3582. revision 1.362
  3583. date: 2010/10/22 19:23:34; author: gilles; state: Exp; lines: +24 -8
  3584. Added imapsync basename to see how imapsync.exe is used.
  3585. ----------------------------
  3586. revision 1.361
  3587. date: 2010/10/19 22:58:06; author: gilles; state: Exp; lines: +28 -8
  3588. Added --nomodules_version option to avoid Roger libeay32.dll missing problem.
  3589. Added test to ckeck if the release number from lfo VERSION file is a number.
  3590. ----------------------------
  3591. revision 1.360
  3592. date: 2010/10/19 22:08:23; author: gilles; state: Exp; lines: +8 -7
  3593. Better documentation to subscribe to the imapsync list.
  3594. ----------------------------
  3595. revision 1.359
  3596. date: 2010/10/08 01:17:29; author: gilles; state: Exp; lines: +15 -9
  3597. Fixed "Your vendor has not defined POSIX macro SIGALRM" bug on win32.
  3598. ----------------------------
  3599. revision 1.358
  3600. date: 2010/10/08 00:40:42; author: gilles; state: Exp; lines: +97 -18
  3601. Add memory_consumption for win32.
  3602. ----------------------------
  3603. revision 1.357
  3604. date: 2010/10/04 21:50:56; author: gilles; state: Exp; lines: +10 -10
  3605. Suppressed ref passage in foldersizes() sub.
  3606. ----------------------------
  3607. revision 1.356
  3608. date: 2010/10/04 02:44:00; author: gilles; state: Exp; lines: +1270 -1251
  3609. Move all subroutines below main.
  3610. Changed "local $SIG{ALRM}" to "POSIX::sigaction(SIGALRM"
  3611. ----------------------------
  3612. revision 1.355
  3613. date: 2010/09/21 01:50:34; author: gilles; state: Exp; lines: +39 -19
  3614. Added tests_max() max() functions.
  3615. Added memory consumption.
  3616. Added memory consumption ratio to biggest message transfered.
  3617. ----------------------------
  3618. revision 1.354
  3619. date: 2010/09/16 00:25:20; author: gilles; state: Exp; lines: +27 -15
  3620. Added memory_consumption_ratio()
  3621. Added memory_consumption_of_pid()
  3622. Removed memory_consumption
  3623. ----------------------------
  3624. revision 1.353
  3625. date: 2010/09/14 22:46:33; author: gilles; state: Exp; lines: +19 -9
  3626. Added --minsize option.
  3627. ----------------------------
  3628. revision 1.352
  3629. date: 2010/09/14 21:53:55; author: gilles; state: Exp; lines: +48 -12
  3630. Added memory_consumption()
  3631. Added tests_memory_consumption()
  3632. Started to analyse memory consumption.
  3633. ----------------------------
  3634. revision 1.351
  3635. date: 2010/09/06 16:28:17; author: gilles; state: Exp; lines: +9 -7
  3636. Fixed PERL_VERSION format in imapsync_version_lfo()
  3637. ----------------------------
  3638. revision 1.350
  3639. date: 2010/09/06 01:05:09; author: gilles; state: Exp; lines: +33 -24
  3640. Added --noreleasecheck option.
  3641. Added User-agent information (OS, perl version, Mail::IMAPClient version)
  3642. ----------------------------
  3643. revision 1.349
  3644. date: 2010/09/06 00:25:03; author: gilles; state: Exp; lines: +71 -13
  3645. Added new release checking
  3646. ----------------------------
  3647. revision 1.348
  3648. date: 2010/09/05 21:28:35; author: gilles; state: Exp; lines: +16 -18
  3649. Strong regex for month in good_date()
  3650. ----------------------------
  3651. revision 1.347
  3652. date: 2010/09/05 21:12:10; author: gilles; state: Exp; lines: +61 -50
  3653. Rewrote good_date and removed Date::Manip usage.
  3654. ----------------------------
  3655. revision 1.346
  3656. date: 2010/09/05 16:28:18; author: gilles; state: Exp; lines: +34 -36
  3657. Simplified default output.
  3658. ----------------------------
  3659. revision 1.345
  3660. date: 2010/08/24 01:44:59; author: gilles; state: Exp; lines: +45 -45
  3661. Better output when copying messages.
  3662. ----------------------------
  3663. revision 1.344
  3664. date: 2010/08/20 02:06:13; author: gilles; state: Exp; lines: +123 -49
  3665. Added function fetch_hash_2() allowing a list of uid to be fetched.
  3666. Changed fetch_hash() calls by fetch_hash_2() calls
  3667. This fixed the bug "Be more effiscient with large mailboxes",
  3668. search ALL was useless with --maxage or --minage in fetch_hash()
  3669. ----------------------------
  3670. revision 1.343
  3671. date: 2010/08/15 18:02:11; author: gilles; state: Exp; lines: +9 -7
  3672. Fix. bug in _read_line sysread can return undef;
  3673. ----------------------------
  3674. revision 1.342
  3675. date: 2010/08/15 11:02:41; author: gilles; state: Exp; lines: +12 -13
  3676. Clarity. Print capability after authenticated state.
  3677. ----------------------------
  3678. revision 1.341
  3679. date: 2010/08/15 10:56:45; author: gilles; state: Exp; lines: +42 -14
  3680. Added Mail::IMAPClient::capability_update() to reset the capability cache.
  3681. Bug fix. Some imap server change their capability after authentification,
  3682. imapsync used the capability cache from the first CAPABILITY call.
  3683. ----------------------------
  3684. revision 1.340
  3685. date: 2010/08/09 00:03:21; author: gilles; state: Exp; lines: +7 -7
  3686. Bug fix. Stupid undef breaking --syncinternaldates
  3687. ----------------------------
  3688. revision 1.339
  3689. date: 2010/07/28 15:07:56; author: gilles; state: Exp; lines: +27 -20
  3690. Made a justconnect() routine.
  3691. ----------------------------
  3692. revision 1.338
  3693. date: 2010/07/28 14:56:26; author: gilles; state: Exp; lines: +42 -27
  3694. Added SYNOPSIS at the top of the documentation.
  3695. ----------------------------
  3696. revision 1.337
  3697. date: 2010/07/16 23:23:40; author: gilles; state: Exp; lines: +12 -6
  3698. Added --usedatemanip option (not documented in --help)
  3699. Turned off Date::Manip usage by default: release 6.x vs 5.x buggy,
  3700. and dprof showed slow routines come from Date::Manip
  3701. ----------------------------
  3702. revision 1.336
  3703. date: 2010/07/16 22:04:25; author: gilles; state: Exp; lines: +8 -7
  3704. Bugfix. $syncinternaldates could not be set 0. Unbelievable!
  3705. ----------------------------
  3706. revision 1.335
  3707. date: 2010/07/16 00:44:25; author: gilles; state: Exp; lines: +26 -15
  3708. Bugfix. Fixed Date_TimeZone break under win32.
  3709. ----------------------------
  3710. revision 1.334
  3711. date: 2010/07/15 12:20:48; author: gilles; state: Exp; lines: +50 -32
  3712. Added statistics about "Messages void (noheader) on hostX"
  3713. ----------------------------
  3714. revision 1.333
  3715. date: 2010/07/14 23:55:13; author: gilles; state: Exp; lines: +7 -9
  3716. docfix
  3717. ----------------------------
  3718. revision 1.332
  3719. date: 2010/07/14 23:09:02; author: gilles; state: Exp; lines: +251 -178
  3720. Reviewed variable names.
  3721. Began to push subroutines below main.
  3722. ----------------------------
  3723. revision 1.331
  3724. date: 2010/07/13 23:28:59; author: gilles; state: Exp; lines: +6 -6
  3725. default values for h1_mess_duplicate h1_mess_size_total_duplicate
  3726. ----------------------------
  3727. revision 1.330
  3728. date: 2010/07/13 03:44:36; author: gilles; state: Exp; lines: +56 -36
  3729. Bugfix. Duplicate messages on host2 were not deleted with --delete2
  3730. ----------------------------
  3731. revision 1.329
  3732. date: 2010/07/12 23:28:00; author: gilles; state: Exp; lines: +13 -21
  3733. --skipsize turned on by default.
  3734. Why? all examples on internet use --skipsize.
  3735. imapsync can not change buggy imp servers.
  3736. Useless code cleanup.
  3737. ----------------------------
  3738. revision 1.328
  3739. date: 2010/07/12 22:49:23; author: gilles; state: Exp; lines: +18 -19
  3740. Changed basic documention:
  3741. - examples with --password1 instead of --passfile1
  3742. Why? all exemples on internet use --password1 so users
  3743. use --password1 even I've never told them to do so.
  3744. Usability fix.
  3745. ----------------------------
  3746. revision 1.327
  3747. date: 2010/07/12 00:23:02; author: gilles; state: Exp; lines: +7 -5
  3748. Good exit at the end.
  3749. ----------------------------
  3750. revision 1.326
  3751. date: 2010/07/12 00:16:03; author: gilles; state: Exp; lines: +9 -7
  3752. Default value when no reconnect.
  3753. ----------------------------
  3754. revision 1.325
  3755. date: 2010/07/11 23:26:04; author: gilles; state: Exp; lines: +72 -38
  3756. Added --pidfile option.
  3757. Added die_clean() exit_clean() functions to remove pid file before quitting.
  3758. ----------------------------
  3759. revision 1.324
  3760. date: 2010/07/11 21:28:23; author: gilles; state: Exp; lines: +24 -18
  3761. Added --debugimap1 --debugimap2 to permit imap outpout with only one host.
  3762. ----------------------------
  3763. revision 1.323
  3764. date: 2010/07/11 21:10:17; author: gilles; state: Exp; lines: +28 -10
  3765. Added Reconnect_counter()
  3766. Added reconnect statistics
  3767. ----------------------------
  3768. revision 1.322
  3769. date: 2010/07/10 22:30:18; author: gilles; state: Exp; lines: +46 -9
  3770. Added regression tests to remove first "From " header line. tests_regexmess()
  3771. ----------------------------
  3772. revision 1.321
  3773. date: 2010/07/09 03:27:31; author: gilles; state: Exp; lines: +6 -6
  3774. Added Smarter Mail 5.0 success.
  3775. ----------------------------
  3776. revision 1.320
  3777. date: 2010/07/09 03:02:07; author: gilles; state: Exp; lines: +20 -23
  3778. Better reconnect handling.
  3779. ----------------------------
  3780. revision 1.319
  3781. date: 2010/07/09 00:49:26; author: gilles; state: Exp; lines: +9 -7
  3782. Added Maxcommandlength call.
  3783. ----------------------------
  3784. revision 1.318
  3785. date: 2010/07/07 23:44:35; author: gilles; state: Exp; lines: +43 -39
  3786. Added --subscribe_all option.
  3787. Reviewed and updated inline help.
  3788. ----------------------------
  3789. revision 1.317
  3790. date: 2010/07/07 22:49:09; author: gilles; state: Exp; lines: +13 -6
  3791. Bug report guideline: upgrade!
  3792. ----------------------------
  3793. revision 1.316
  3794. date: 2010/06/29 16:18:09; author: gilles; state: Exp; lines: +10 -11
  3795. Typo bandwidth.
  3796. ----------------------------
  3797. revision 1.315
  3798. date: 2010/06/11 02:51:54; author: gilles; state: Exp; lines: +8 -6
  3799. *** empty log message ***
  3800. ----------------------------
  3801. revision 1.314
  3802. date: 2010/06/11 01:42:44; author: gilles; state: Exp; lines: +455 -16
  3803. Added reconnect behavior with Mail::IMAPClient 2.2.9
  3804. ----------------------------
  3805. revision 1.313
  3806. date: 2010/06/10 00:37:09; author: gilles; state: Exp; lines: +6 -6
  3807. 36 success stories
  3808. ----------------------------
  3809. revision 1.312
  3810. date: 2010/06/10 00:35:46; author: gilles; state: Exp; lines: +6 -5
  3811. 1und1 success story
  3812. ----------------------------
  3813. revision 1.311
  3814. date: 2010/04/27 23:03:39; author: gilles; state: Exp; lines: +35 -12
  3815. Fixed bug in compare_lists(). Thanks to Pertti Karppinen.
  3816. ----------------------------
  3817. revision 1.310
  3818. date: 2010/02/26 01:24:59; author: gilles; state: Exp; lines: +10 -11
  3819. Removed modules_VERSION() call (useless)
  3820. Replaced Phil regex with /e one.
  3821. ----------------------------
  3822. revision 1.309
  3823. date: 2010/02/25 23:18:04; author: gilles; state: Exp; lines: +63 -65
  3824. Better imap banner handling (first line read).
  3825. removed sub myconnect_v2()
  3826. Removed Mail::IMAPClient::Socket use.
  3827. Added sub RawSocket2() (RawSocket 3.23 failed as is, do not know why)
  3828. Added Mail::IMAPClient::Ignoresizeerrors for 2.2.9
  3829. Honot --allowsizemismatch with 2.2.9
  3830. ----------------------------
  3831. revision 1.308
  3832. date: 2010/02/24 01:29:11; author: gilles; state: Exp; lines: +15 -9
  3833. Fixed STARTTLS missing imap begin line.
  3834. ----------------------------
  3835. revision 1.307
  3836. date: 2010/02/09 17:49:34; author: gilles; state: Exp; lines: +68 -9
  3837. Added tests_imap2_folder_name()
  3838. 's/.*?(?:(\\(?:Answered|Flagged|Deleted|Seen|Recent|Draft)\s?)|$)/$1/g' check (good!)
  3839. ----------------------------
  3840. revision 1.306
  3841. date: 2010/02/07 21:38:15; author: gilles; state: Exp; lines: +71 -6
  3842. Added regression test about the "keep only" --regexflag example.
  3843. Added debug to understand all the regexflag transformations.
  3844. ----------------------------
  3845. revision 1.305
  3846. date: 2010/01/20 22:26:03; author: gilles; state: Exp; lines: +14 -14
  3847. Better output.
  3848. ----------------------------
  3849. revision 1.304
  3850. date: 2010/01/20 22:10:24; author: gilles; state: Exp; lines: +32 -23
  3851. Added statistic about messages deleted
  3852. Added statistic about average bandwith rate
  3853. ----------------------------
  3854. revision 1.303
  3855. date: 2010/01/20 04:12:52; author: gilles; state: Exp; lines: +13 -12
  3856. cosmetic changes.
  3857. ----------------------------
  3858. revision 1.302
  3859. date: 2010/01/20 03:34:59; author: gilles; state: Exp; lines: +59 -51
  3860. Flags are now exactly synced from host1 to host2.
  3861. Previous releases just added flags, It was a wrong behavior
  3862. since when a \Seen flag is removed on host1 a sync have to
  3863. remove it on host2. imapsync is not imapadd.
  3864. ----------------------------
  3865. revision 1.301
  3866. date: 2010/01/18 06:24:16; author: gilles; state: Exp; lines: +92 -23
  3867. Added TLSv1 support.
  3868. ----------------------------
  3869. revision 1.300
  3870. date: 2010/01/16 03:34:37; author: gilles; state: Exp; lines: +250 -250
  3871. Changed name of variables. "from" replaced by imap1 "to" by imap2.
  3872. f_* replaced by h1_*
  3873. t_* replaced by h2_*
  3874. Cosmetic but easier to read nd maintain.
  3875. ----------------------------
  3876. revision 1.299
  3877. date: 2010/01/15 00:19:32; author: gilles; state: Exp; lines: +10 -10
  3878. imapsync is no longer GPL software.
  3879. imapsync is WTFPL software. The best licence I found.
  3880. ----------------------------
  3881. revision 1.298
  3882. date: 2010/01/14 23:43:22; author: gilles; state: Exp; lines: +6 -8
  3883. Fix. Removed identical "my" declaration.
  3884. ----------------------------
  3885. revision 1.297
  3886. date: 2010/01/14 17:36:17; author: gilles; state: Exp; lines: +13 -11
  3887. Rewrote flags_filter(), same behavior, no regex.
  3888. ----------------------------
  3889. revision 1.296
  3890. date: 2010/01/14 16:57:58; author: gilles; state: Exp; lines: +72 -8
  3891. Filter flags sync with the list given by PERMANENTFLAGS on --host2
  3892. ----------------------------
  3893. revision 1.295
  3894. date: 2010/01/14 15:04:27; author: gilles; state: Exp; lines: +10 -6
  3895. --expunge only expunge --host1 (fixed output about that)
  3896. ----------------------------
  3897. revision 1.294
  3898. date: 2010/01/14 02:12:17; author: gilles; state: Exp; lines: +37 -10
  3899. Added --tmpdir option. The funny part is it's useless now.
  3900. ----------------------------
  3901. revision 1.293
  3902. date: 2010/01/12 05:34:27; author: gilles; state: Exp; lines: +6 -6
  3903. Change call for donation.
  3904. ----------------------------
  3905. revision 1.292
  3906. date: 2010/01/12 05:15:53; author: gilles; state: Exp; lines: +8 -7
  3907. freshmeat rate is gone.
  3908. paypal is good to encourage myself.
  3909. ----------------------------
  3910. revision 1.291
  3911. date: 2010/01/12 04:36:03; author: gilles; state: Exp; lines: +10 -10
  3912. Load Term::ReadKey when needed.
  3913. ----------------------------
  3914. revision 1.290
  3915. date: 2010/01/12 03:42:09; author: gilles; state: Exp; lines: +7 -7
  3916. One line per folder when printing the each folder list.
  3917. ----------------------------
  3918. revision 1.289
  3919. date: 2010/01/12 01:54:52; author: gilles; state: Exp; lines: +6 -6
  3920. Removed unused Date_Cmp from import.
  3921. ----------------------------
  3922. revision 1.288
  3923. date: 2009/09/02 20:37:22; author: gilles; state: Exp; lines: +8 -6
  3924. Request all folder list only when needed (sometimes the list is very long)
  3925. ----------------------------
  3926. revision 1.287
  3927. date: 2009/08/24 00:32:36; author: gilles; state: Exp; lines: +6 -6
  3928. - fixed fetch_hash() to return FLAGS as "" not () when no FLAGS set.
  3929. (reading Mail-IMAPClient-3.19 code)
  3930. ----------------------------
  3931. revision 1.286
  3932. date: 2009/07/24 15:53:04; author: gilles; state: Exp; lines: +10 -7
  3933. Bug fix: allow3x is on by default (was badly done after check_lib_version())
  3934. ----------------------------
  3935. revision 1.285
  3936. date: 2009/07/03 00:59:20; author: gilles; state: Exp; lines: +38 -17
  3937. Applied "patch -p0 < patches/imapsync.1.284.patch"
  3938. Attached is a patch against 1.284 with the following changes:
  3939. - [Bug] to_folder_name() failed to escape $f_prefix so --prefix1 <string> was treated like --prefix1 <regex> instead
  3940. - [Enhancement] updated parse_header_msg1() to return 0 on duplicate or undef on "no header" so now the "+ Skipping msg" will show either "no header" or "duplicate" as appropriate
  3941. - [Bug] flag handling: make sure we don't try to set \Recent as RFC 2060 doesn't allow for that
  3942. - [Enhancement] flag handling: only add missing flags instead of always calling $to->store() to set flags even when the flags already matched what we wanted... my first patch just used string comparison, this patch actually uses a hash for comparison so we're smarter about flags even when the order on $from and $to are different now - definitely helps speed up imapsync when lots of messages have flags and running sync in multiple passes
  3943. Phil
  3944. ----------------------------
  3945. revision 1.284
  3946. date: 2009/06/30 03:14:24; author: gilles; state: Exp; lines: +15 -19
  3947. allow Mail::IMAPClient 3.0.xx by default
  3948. Removed Mail::IMAPClient::Ssl since 3.0.19 has it now.
  3949. ----------------------------
  3950. revision 1.283
  3951. date: 2009/06/30 02:54:57; author: gilles; state: Exp; lines: +123 -94
  3952. Applied Phil Lobbes patch as is : ./patches/imapsync.1.282.patch
  3953. ----------------------------
  3954. revision 1.282
  3955. date: 2009/05/11 00:05:39; author: gilles; state: Exp; lines: +15 -10
  3956. Added option --justlogin
  3957. ----------------------------
  3958. revision 1.281
  3959. date: 2009/04/24 13:58:15; author: gilles; state: Exp; lines: +29 -6
  3960. Added tests_flags_regex() regression tests.
  3961. ----------------------------
  3962. revision 1.280
  3963. date: 2009/04/02 11:32:10; author: gilles; state: Exp; lines: +103 -47
  3964. Applied Phil patch with many IsUnconnected() calls.
  3965. ----------------------------
  3966. revision 1.279
  3967. date: 2009/03/22 00:12:15; author: gilles; state: Exp; lines: +9 -7
  3968. isUnconnected BAD IsUnconnected GOOD!
  3969. ----------------------------
  3970. revision 1.278
  3971. date: 2009/02/23 00:40:25; author: gilles; state: Exp; lines: +14 -12
  3972. Less imap output with +FLAGS.SILENT
  3973. Changed unsubscribe subscribe order in documentation.
  3974. Typos.
  3975. ----------------------------
  3976. revision 1.277
  3977. date: 2009/02/21 12:10:50; author: gilles; state: Exp; lines: +8 -6
  3978. Better example explanation.
  3979. ----------------------------
  3980. revision 1.276
  3981. date: 2009/02/21 04:04:08; author: gilles; state: Exp; lines: +15 -22
  3982. Removed mailto: in MAILING-LIST section.
  3983. ----------------------------
  3984. revision 1.275
  3985. date: 2009/02/21 02:04:26; author: gilles; state: Exp; lines: +25 -14
  3986. Change real password to "MASKED" in command line output.
  3987. ----------------------------
  3988. revision 1.274
  3989. date: 2009/02/21 01:10:02; author: gilles; state: Exp; lines: +14 -8
  3990. --delete 2 is now a fatal error.
  3991. ----------------------------
  3992. revision 1.273
  3993. date: 2009/02/21 00:48:40; author: gilles; state: Exp; lines: +36 -37
  3994. Print a warning and return error code each time a disconnection occurs.
  3995. ----------------------------
  3996. revision 1.272
  3997. date: 2009/02/20 23:41:09; author: gilles; state: Exp; lines: +78 -78
  3998. Fixed many English errors (thanks to Reuben Thomas)
  3999. ----------------------------
  4000. revision 1.271
  4001. date: 2009/02/19 23:38:32; author: gilles; state: Exp; lines: +28 -35
  4002. Bug fix about $t_prefix and INBOX '.' was hardcoded.
  4003. Small change on documentation.
  4004. ----------------------------
  4005. revision 1.270
  4006. date: 2009/02/14 22:21:35; author: gilles; state: Exp; lines: +16 -11
  4007. Another Phil Lobbes patch.
  4008. Exit with error code and warning when a server disconnect
  4009. during the folder loop.
  4010. ----------------------------
  4011. revision 1.269
  4012. date: 2009/02/14 22:08:18; author: gilles; state: Exp; lines: +65 -38
  4013. Applied Phil Lobbes patches.
  4014. - catch (what should be) fatal eval errors for regextrans2,
  4015. $regexflag, $regexmess, instead of silently ignoring them
  4016. and letting the user think they are working/OK
  4017. - fix login_imap() Died at .../imapsync line 780 when IsUnconnected()
  4018. and log some more useful into to stderr than just 'Died at...'
  4019. - check_lib_version() contains a bad use of unset match/capture variables
  4020. - added and now use new function myconnect() and myconnect_v2()
  4021. does not require hack/override of Mail::IMAPClient::connect
  4022. and is backwards compatible with Mail::IMAPClient v2.x
  4023. - redo $Mail::IMAPClient::Authuser hack since only
  4024. Mail::IMAPClient v2 does not have Authuser()
  4025. Many thanks to Phil.
  4026. ----------------------------
  4027. revision 1.268
  4028. date: 2009/02/14 03:27:51; author: gilles; state: Exp; lines: +22 -21
  4029. Fixed bad VERSION_IMAPClient output
  4030. ----------------------------
  4031. revision 1.267
  4032. date: 2008/10/07 11:36:02; author: gilles; state: Exp; lines: +14 -10
  4033. Better test to check non existing folders on destination
  4034. server.
  4035. ----------------------------
  4036. revision 1.266
  4037. date: 2008/10/07 05:56:52; author: gilles; state: Exp; lines: +27 -10
  4038. *** empty log message ***
  4039. ----------------------------
  4040. revision 1.265
  4041. date: 2008/08/30 14:20:38; author: gilles; state: Exp; lines: +7 -7
  4042. carp to warn
  4043. ----------------------------
  4044. revision 1.264
  4045. date: 2008/08/27 15:19:05; author: gilles; state: Exp; lines: +7 -8
  4046. Archiveopteryx 3.0.0
  4047. ----------------------------
  4048. revision 1.263
  4049. date: 2008/08/26 02:58:11; author: gilles; state: Exp; lines: +59 -22
  4050. Added modules versions output.
  4051. ----------------------------
  4052. revision 1.262
  4053. date: 2008/08/16 17:19:29; author: gilles; state: Exp; lines: +6 -6
  4054. Work fine under XP.
  4055. ----------------------------
  4056. revision 1.261
  4057. date: 2008/08/16 15:56:00; author: gilles; state: Exp; lines: +32 -41
  4058. - Fixed bug about ssl and justconnect option
  4059. - Cleaned connect code.
  4060. - Started gmail support.
  4061. ----------------------------
  4062. revision 1.260
  4063. date: 2008/08/13 03:14:14; author: gilles; state: Exp; lines: +54 -13
  4064. - Added option --idatefromheader :
  4065. sets the internal dates on host2 same as the "Date:" headers.
  4066. ----------------------------
  4067. revision 1.259
  4068. date: 2008/08/13 01:22:10; author: gilles; state: Exp; lines: +49 -21
  4069. - Made a function for regexmess() --regexmess to be able to
  4070. check it easily
  4071. - Added function tests_regexmess() to check regexmess(), 3
  4072. tests.
  4073. - Removed imapsync copyleft GPL licence output (boring).
  4074. Replaced by wishlist link.
  4075. - Added thank_author() to avoid duplicate code about thanks.
  4076. - Better bug report documentation.
  4077. ----------------------------
  4078. revision 1.258
  4079. date: 2008/07/28 21:38:36; author: gilles; state: Exp; lines: +18 -18
  4080. Change report bug information order.
  4081. ----------------------------
  4082. revision 1.257
  4083. date: 2008/07/28 21:17:56; author: gilles; state: Exp; lines: +10 -19
  4084. removed comment and ugly output
  4085. ----------------------------
  4086. revision 1.256
  4087. date: 2008/06/29 01:28:51; author: gilles; state: Exp; lines: +14 -5
  4088. Applied patch from Simon Heimlicher to avoid non-selectable
  4089. folders.
  4090. ----------------------------
  4091. revision 1.255
  4092. date: 2008/06/24 16:38:49; author: gilles; state: Exp; lines: +7 -6
  4093. Domino (Notes) 4.61
  4094. ----------------------------
  4095. revision 1.254
  4096. date: 2008/06/16 18:59:26; author: gilles; state: Exp; lines: +19 -13
  4097. Some server (Microsoft Exchange 6.0.6249.0 for example)
  4098. returns message size a lot
  4099. s than the real size
  4100. Now imapsync accept this silly behavior.
  4101. ----------------------------
  4102. revision 1.253
  4103. date: 2008/06/16 18:48:01; author: gilles; state: Exp; lines: +6 -6
  4104. Archiveopteryx 2.09
  4105. ----------------------------
  4106. revision 1.252
  4107. date: 2008/05/08 02:30:17; author: gilles; state: Exp; lines: +36 -6
  4108. Added mailing list information.
  4109. ----------------------------
  4110. revision 1.251
  4111. date: 2008/05/08 02:08:44; author: gilles; state: Exp; lines: +56 -14
  4112. Fixed message_string returning empty message when < expected size.
  4113. ----------------------------
  4114. revision 1.250
  4115. date: 2008/04/21 03:46:01; author: gilles; state: Exp; lines: +11 -7
  4116. Bug fix "parse_headers want an ARRAY ref"
  4117. ----------------------------
  4118. revision 1.249
  4119. date: 2008/03/19 02:14:24; author: gilles; state: Exp; lines: +7 -7
  4120. warn about BUG_IMAPClient_3.xx
  4121. ----------------------------
  4122. revision 1.248
  4123. date: 2008/03/19 02:05:46; author: gilles; state: Exp; lines: +14 -19
  4124. Cleaned check_lib_version()
  4125. ----------------------------
  4126. revision 1.247
  4127. date: 2008/03/19 01:41:49; author: gilles; state: Exp; lines: +1 -1
  4128. Added id in output warn when no header found.
  4129. ----------------------------
  4130. revision 1.246
  4131. date: 2008/03/19 01:07:26; author: gilles; state: Exp; lines: +19 -16
  4132. Removed $^W use.
  4133. ----------------------------
  4134. revision 1.245
  4135. date: 2008/03/10 23:49:42; author: gilles; state: Exp; lines: +53 -23
  4136. Back to append_string()
  4137. Turn on --syncinternaldates by default
  4138. Date_Init("TZ=GMT") if no timezone (windows) set.
  4139. ----------------------------
  4140. revision 1.244
  4141. date: 2008/02/29 22:43:22; author: gilles; state: Exp; lines: +5 -545
  4142. Removed old *_2() functions (unused)
  4143. ----------------------------
  4144. revision 1.243
  4145. date: 2008/02/29 16:47:58; author: gilles; state: Exp; lines: +632 -53
  4146. Moved functins *_2() into override_imapclient()
  4147. ----------------------------
  4148. revision 1.242
  4149. date: 2008/02/29 00:28:15; author: gilles; state: Exp; lines: +24 -13
  4150. Ignore message when it has no header.
  4151. ----------------------------
  4152. revision 1.241
  4153. date: 2007/12/31 13:39:02; author: gilles; state: Exp; lines: +6 -6
  4154. Bug fix. --exclude and remove_from_requested_folders()
  4155. ----------------------------
  4156. revision 1.240
  4157. date: 2007/12/31 13:35:59; author: gilles; state: Exp; lines: +7 -6
  4158. MDaemon 8.0.2
  4159. ----------------------------
  4160. revision 1.239
  4161. date: 2007/12/29 02:44:10; author: gilles; state: Exp; lines: +7 -7
  4162. Typo if
  4163. ----------------------------
  4164. revision 1.238
  4165. date: 2007/12/29 02:41:52; author: gilles; state: Exp; lines: +15 -10
  4166. Fixed --version exit bug with Test::More
  4167. ----------------------------
  4168. revision 1.237
  4169. date: 2007/12/29 02:15:35; author: gilles; state: Exp; lines: +10 -15
  4170. check_lib_version() rewrote and reused.
  4171. ----------------------------
  4172. revision 1.236
  4173. date: 2007/12/29 01:54:27; author: gilles; state: Exp; lines: +215 -38
  4174. Removed bad warning about ssl
  4175. Started to be IMAPClient 3.0.0 compliant
  4176. Fixed bad --include behavior (added already added folders)
  4177. Started unit tests.
  4178. Rockliffe Mailsite 4.5.6
  4179. Courier 4.1.1
  4180. ----------------------------
  4181. revision 1.235
  4182. date: 2007/11/10 02:52:29; author: gilles; state: Exp; lines: +7 -5
  4183. wonko_imapsync link
  4184. ----------------------------
  4185. revision 1.234
  4186. date: 2007/10/30 15:34:06; author: gilles; state: Exp; lines: +55 -32
  4187. Remove every else else between braces } else {
  4188. ----------------------------
  4189. revision 1.233
  4190. date: 2007/10/30 03:20:53; author: gilles; state: Exp; lines: +69 -7
  4191. Added connect2() to replace buggy connect() with bad hostname.
  4192. ----------------------------
  4193. revision 1.232
  4194. date: 2007/10/30 01:41:17; author: gilles; state: Exp; lines: +24 -23
  4195. Added imapmigrate link (cyrus-utils)
  4196. Checked each SIMILAR SOFTWARES link and fixed bad ones.
  4197. Courier IMAP 3.0.8 success
  4198. Fixed Mail::IMAPClient version output.
  4199. ----------------------------
  4200. revision 1.231
  4201. date: 2007/10/30 00:28:40; author: gilles; state: Exp; lines: +12 -11
  4202. bug fix avoid append_file2 on MSWin32, not the opposite :-)
  4203. ----------------------------
  4204. revision 1.230
  4205. date: 2007/10/30 00:01:34; author: gilles; state: Exp; lines: +14 -9
  4206. Added bug fix to MSWin32 system and append_file2() problem.
  4207. ----------------------------
  4208. revision 1.229
  4209. date: 2007/10/29 23:02:46; author: gilles; state: Exp; lines: +15 -11
  4210. Added OS name in --help
  4211. ----------------------------
  4212. revision 1.228
  4213. date: 2007/10/29 22:49:07; author: gilles; state: Exp; lines: +8 -8
  4214. Added DBMail 0.9 failure.
  4215. Commented lib_version check.
  4216. ----------------------------
  4217. revision 1.227
  4218. date: 2007/10/20 02:30:31; author: gilles; state: Exp; lines: +7 -6
  4219. GMX IMAP4 StreamProxy success.
  4220. ----------------------------
  4221. revision 1.226
  4222. date: 2007/10/20 01:33:34; author: gilles; state: Exp; lines: +11 -9
  4223. Updated help message about --authuser : avoid --authmech1 SOMETHING
  4224. ----------------------------
  4225. revision 1.225
  4226. date: 2007/08/21 03:04:08; author: gilles; state: Exp; lines: +10 -6
  4227. Uppercase authmech input.
  4228. ----------------------------
  4229. revision 1.224
  4230. date: 2007/08/16 23:54:26; author: gilles; state: Exp; lines: +9 -10
  4231. Ubuntu package.
  4232. Date with minus %d-%b-%Y
  4233. ----------------------------
  4234. revision 1.223
  4235. date: 2007/06/15 04:08:44; author: gilles; state: Exp; lines: +7 -7
  4236. Domino 7.0.1
  4237. Exchange 6.5.7638.1
  4238. ----------------------------
  4239. revision 1.222
  4240. date: 2007/06/10 17:49:12; author: gilles; state: Exp; lines: +17 -11
  4241. Added Deerfield VisNetic MailServer 5.8.6 [from] success.
  4242. 33 different imap server softwares are (well) supported.
  4243. Added Dovecot 1.0.0 [dest] success.
  4244. Added requires Date::Manip in case --syncinternaldates is used (will
  4245. be a use Date::Manip in future releases if this fix is a
  4246. really good one). This date rewrite was needed by
  4247. Deerfield VisNetic bug (it sends the timestamp with
  4248. one digit, not two (and dovecot 1.0.0 is not tolerant).
  4249. Added paypal address at the end of execution.
  4250. ----------------------------
  4251. revision 1.221
  4252. date: 2007/05/29 13:09:18; author: gilles; state: Exp; lines: +9 -9
  4253. Turn to --nofastio1 --nofastio2 by default.
  4254. ----------------------------
  4255. revision 1.220
  4256. date: 2007/05/25 02:15:59; author: gilles; state: Exp; lines: +7 -6
  4257. Flags \Recent can be uppercase \RECENT now.
  4258. ----------------------------
  4259. revision 1.219
  4260. date: 2007/04/04 09:32:20; author: gilles; state: Exp; lines: +18 -12
  4261. Added uname info and perl version to the banner.
  4262. ----------------------------
  4263. revision 1.218
  4264. date: 2007/04/04 07:52:22; author: gilles; state: Exp; lines: +8 -8
  4265. - Zimbra releases
  4266. - use prefix1 bugfix for a rpm .spec
  4267. ----------------------------
  4268. revision 1.217
  4269. date: 2007/03/06 13:12:23; author: gilles; state: Exp; lines: +103 -6
  4270. - Added _cram_md5_2() and authenticate2() to correct a bug
  4271. from the Mail::IMAPClient perl library. username can't be
  4272. longer than 24 due to a lack of blank second parameter
  4273. in MIME::Base64::encode() call.
  4274. ----------------------------
  4275. revision 1.216
  4276. date: 2007/03/06 04:25:52; author: gilles; state: Exp; lines: +10 -7
  4277. Updated distribution list.
  4278. ----------------------------
  4279. revision 1.215
  4280. date: 2007/03/06 03:50:35; author: gilles; state: Exp; lines: +16 -8
  4281. Updated documentation.
  4282. ----------------------------
  4283. revision 1.214
  4284. date: 2007/02/26 10:31:32; author: gilles; state: Exp; lines: +6 -6
  4285. Fixed a mistake in the EXAMPLE section.
  4286. ----------------------------
  4287. revision 1.213
  4288. date: 2007/02/16 04:07:19; author: gilles; state: Exp; lines: +168 -11
  4289. - Back to append_file() modified -> append_file2()
  4290. ----------------------------
  4291. revision 1.212
  4292. date: 2007/02/13 05:18:15; author: gilles; state: Exp; lines: +12 -12
  4293. 32 imap server softwares supported.
  4294. Fixed a long standing bug (header keywords weren't
  4295. uppercased like said in the comment above)
  4296. ----------------------------
  4297. revision 1.211
  4298. date: 2007/02/08 03:25:36; author: gilles; state: Exp; lines: +23 -20
  4299. MDaemon 9.5.4 success
  4300. Mercury 4.1 success
  4301. UW v12.264 success
  4302. Docum: link to wishlist
  4303. ----------------------------
  4304. revision 1.210
  4305. date: 2007/02/08 02:58:52; author: gilles; state: Exp; lines: +19 -10
  4306. - Added whole command line output (I'm fed up to ask for)
  4307. - Added link to the imapsync thanks wishlist. I like to help
  4308. people for free, but I like books too :-)
  4309. - Added count of skipped message due to --dry mode
  4310. ----------------------------
  4311. revision 1.209
  4312. date: 2007/02/02 02:06:50; author: gilles; state: Exp; lines: +9 -6
  4313. - Started to list the distributions containing an imapsync port.
  4314. ----------------------------
  4315. revision 1.208
  4316. date: 2007/02/01 22:31:14; author: gilles; state: Exp; lines: +50 -28
  4317. - lib Term::ReadKey optional + fix syntax without.
  4318. - folders in destination are computed from the source ones.
  4319. - Back to append_string() use because of syncinternaldates
  4320. "bug" with append_file().
  4321. - more output when no header are detected.
  4322. ----------------------------
  4323. revision 1.207
  4324. date: 2007/01/14 15:59:12; author: gilles; state: Exp; lines: +10 -10
  4325. Updated --help output
  4326. ----------------------------
  4327. revision 1.206
  4328. date: 2007/01/14 15:55:02; author: gilles; state: Exp; lines: +9 -9
  4329. --include is no longer an exclusive option.
  4330. I doesn't erase --folder --folderrec --subscribed options
  4331. ----------------------------
  4332. revision 1.205
  4333. date: 2007/01/13 09:12:05; author: gilles; state: Exp; lines: +6 -6
  4334. Be case insensitive with INBOX
  4335. ----------------------------
  4336. revision 1.204
  4337. date: 2007/01/13 07:51:21; author: gilles; state: Exp; lines: +14 -6
  4338. Try LOGIN auth login on first failure login.
  4339. ----------------------------
  4340. revision 1.203
  4341. date: 2007/01/13 06:58:15; author: gilles; state: Exp; lines: +9 -7
  4342. Server list updated
  4343. ----------------------------
  4344. revision 1.202
  4345. date: 2007/01/06 05:07:08; author: gilles; state: Exp; lines: +7 -6
  4346. SmarterMail success
  4347. ----------------------------
  4348. revision 1.201
  4349. date: 2007/01/03 23:49:10; author: gilles; state: Exp; lines: +30 -6
  4350. Use login2() instead of login() (literal form is not always
  4351. supported.
  4352. ----------------------------
  4353. revision 1.200
  4354. date: 2007/01/02 08:27:04; author: gilles; state: Exp; lines: +48 -15
  4355. use message_to_file()instead of message_string()
  4356. use append_file() instead of append_string()
  4357. fixed INBOX with --prefix2 problem.
  4358. Authmechanism() can't receive 'LOGIN' as argument (bug ?).
  4359. ----------------------------
  4360. revision 1.199
  4361. date: 2006/12/30 15:53:51; author: gilles; state: Exp; lines: +7 -6
  4362. Sun Java System Messaging Server success
  4363. ----------------------------
  4364. revision 1.198
  4365. date: 2006/12/30 04:23:36; author: gilles; state: Exp; lines: +19 -15
  4366. Added a comment about CPU and memory hungriness.
  4367. Removed exit(1) on No auth CAPABILITY.
  4368. Authenticate is always done now.
  4369. ----------------------------
  4370. revision 1.197
  4371. date: 2006/12/10 02:49:39; author: gilles; state: Exp; lines: +7 -10
  4372. Updated online documantation about new
  4373. --include and --exclude behavior
  4374. ----------------------------
  4375. revision 1.196
  4376. date: 2006/12/10 02:41:37; author: gilles; state: Exp; lines: +21 -15
  4377. - Now IO::Socket::SSL is loaded only with -ssl*
  4378. - multiple --include are taken like a "or" list ,
  4379. not an "and" list.
  4380. ----------------------------
  4381. revision 1.195
  4382. date: 2006/12/08 04:48:54; author: gilles; state: Exp; lines: +10 -8
  4383. Added OpenMail success
  4384. Counted how many different imap server software succeeded.
  4385. ----------------------------
  4386. revision 1.194
  4387. date: 2006/12/08 04:04:34; author: gilles; state: Exp; lines: +22 -12
  4388. Added --folderrec option
  4389. Now --folder --subscribed and --folderrec can be
  4390. used simultaneously.
  4391. ----------------------------
  4392. revision 1.193
  4393. date: 2006/12/08 03:29:14; author: gilles; state: Exp; lines: +8 -8
  4394. Replace PLAIN with LOGIN
  4395. ----------------------------
  4396. revision 1.192
  4397. date: 2006/12/04 13:57:45; author: gilles; state: Exp; lines: +10 -9
  4398. Added imap server releases
  4399. ----------------------------
  4400. revision 1.191
  4401. date: 2006/11/11 22:11:25; author: gilles; state: Exp; lines: +7 -7
  4402. imap servers section
  4403. DBMail 2.2rc1
  4404. ----------------------------
  4405. revision 1.190
  4406. date: 2006/11/11 00:13:15; author: gilles; state: Exp; lines: +10 -6
  4407. Be case inseitive with header keywords.
  4408. ----------------------------
  4409. revision 1.189
  4410. date: 2006/11/04 16:47:38; author: gilles; state: Exp; lines: +6 -6
  4411. typo CommuniGatePro
  4412. ----------------------------
  4413. revision 1.188
  4414. date: 2006/10/30 01:18:37; author: gilles; state: Exp; lines: +22 -17
  4415. Fixed typos about transfer*
  4416. ----------------------------
  4417. revision 1.187
  4418. date: 2006/09/29 12:18:53; author: gilles; state: Exp; lines: +6 -6
  4419. bug fixed when "user<NUL>authuser<NUL>password" is over 76 characters
  4420. ----------------------------
  4421. revision 1.186
  4422. date: 2006/09/29 12:09:15; author: gilles; state: Exp; lines: +6 -6
  4423. Surgemail release
  4424. ----------------------------
  4425. revision 1.185
  4426. date: 2006/09/28 11:15:20; author: gilles; state: Exp; lines: +6 -5
  4427. Surgemail success.
  4428. ----------------------------
  4429. revision 1.184
  4430. date: 2006/08/22 01:25:18; author: gilles; state: Exp; lines: +9 -5
  4431. Added advice in case bad PLAIN AUTHENTICATE.
  4432. ----------------------------
  4433. revision 1.183
  4434. date: 2006/08/22 01:17:28; author: gilles; state: Exp; lines: +7 -6
  4435. exit if --authmech1 method is not supported by an imap
  4436. server.
  4437. ----------------------------
  4438. revision 1.182
  4439. date: 2006/08/01 23:07:42; author: gilles; state: Exp; lines: +8 -6
  4440. David Tobit V8
  4441. ----------------------------
  4442. revision 1.181
  4443. date: 2006/07/19 14:45:29; author: gilles; state: Exp; lines: +22 -7
  4444. Added several controls to check connected status.
  4445. ----------------------------
  4446. revision 1.180
  4447. date: 2006/07/19 13:45:55; author: gilles; state: Exp; lines: +7 -7
  4448. Updated success list
  4449. ----------------------------
  4450. revision 1.179
  4451. date: 2006/07/18 01:57:31; author: gilles; state: Exp; lines: +7 -6
  4452. Fixed bug about variable mess_size_total_skipped.
  4453. Thanks to Doug Gorton
  4454. ----------------------------
  4455. revision 1.178
  4456. date: 2006/07/02 23:26:07; author: gilles; state: Exp; lines: +10 -8
  4457. Added Mailsite success
  4458. ----------------------------
  4459. revision 1.177
  4460. date: 2006/06/13 20:03:21; author: gilles; state: Exp; lines: +14 -14
  4461. typos
  4462. ----------------------------
  4463. revision 1.176
  4464. date: 2006/06/08 23:00:56; author: gilles; state: Exp; lines: +6 -6
  4465. typo
  4466. ----------------------------
  4467. revision 1.175
  4468. date: 2006/06/08 00:52:00; author: gilles; state: Exp; lines: +28 -9
  4469. Added --regexflag option to remove "bad" flags when needed.
  4470. ----------------------------
  4471. revision 1.174
  4472. date: 2006/06/07 22:17:37; author: gilles; state: Exp; lines: +6 -6
  4473. Scalix release
  4474. ----------------------------
  4475. revision 1.173
  4476. date: 2006/05/31 11:48:24; author: gilles; state: Exp; lines: +10 -6
  4477. Updated "IMAP SERVERS" success list:
  4478. - Added Scalix
  4479. - Added Eudora WorldMail v2
  4480. ----------------------------
  4481. revision 1.172
  4482. date: 2006/05/09 23:06:29; author: gilles; state: Exp; lines: +10 -5
  4483. Added split value 1000 by default
  4484. ----------------------------
  4485. revision 1.171
  4486. date: 2006/04/27 08:25:04; author: gilles; state: Exp; lines: +21 -13
  4487. Added more information with --justconnect
  4488. - OS system.
  4489. - kernel (uname -a)
  4490. - perl version
  4491. ----------------------------
  4492. revision 1.170
  4493. date: 2006/04/27 06:58:37; author: gilles; state: Exp; lines: +21 -30
  4494. Move "Multiple copies" bug in the FAQ.
  4495. Removed "Flag bug in first sync".
  4496. Added how to report bug.
  4497. ----------------------------
  4498. revision 1.169
  4499. date: 2006/04/13 21:36:15; author: gilles; state: Exp; lines: +7 -6
  4500. Added Zimbra IMAP success.
  4501. ----------------------------
  4502. revision 1.168
  4503. date: 2006/04/02 01:49:10; author: gilles; state: Exp; lines: +32 -10
  4504. Added --delete2 option: remove messages on destination that
  4505. are not on the source server.
  4506. ----------------------------
  4507. revision 1.167
  4508. date: 2006/03/30 02:33:00; author: gilles; state: Exp; lines: +6 -6
  4509. SPLIT print in debug mode only.
  4510. ----------------------------
  4511. revision 1.166
  4512. date: 2006/03/30 02:22:39; author: gilles; state: Exp; lines: +30 -30
  4513. Use of parse_headers() instead of parse_headers()
  4514. Finished to fix bug "word too long" by splitting request
  4515. also in parse_headers2() function.
  4516. ----------------------------
  4517. revision 1.165
  4518. date: 2006/03/30 01:41:22; author: gilles; state: Exp; lines: +125 -9
  4519. Fixed a bug with interactive passwords (it was not used...)
  4520. Added function parse_headers2() from IMAPClient.pm
  4521. ----------------------------
  4522. revision 1.164
  4523. date: 2006/03/26 03:17:48; author: gilles; state: Exp; lines: +97 -9
  4524. Fixed the bug "Word too large" by spliting requests on
  4525. demand with --split1 and --split2 options.
  4526. Added Split() fetch_hash2() in lib
  4527. ----------------------------
  4528. revision 1.163
  4529. date: 2006/03/24 04:18:58; author: gilles; state: Exp; lines: +61 -51
  4530. Added ask_for_password() function
  4531. FLAGS INTERNALDATE and RFC822.SIZE fetch together
  4532. ----------------------------
  4533. revision 1.162
  4534. date: 2006/03/22 03:45:05; author: gilles; state: Exp; lines: +59 -31
  4535. Added --authuser1 --authuser2 options
  4536. ----------------------------
  4537. revision 1.161
  4538. date: 2006/03/20 00:09:41; author: gilles; state: Exp; lines: +12 -42
  4539. Fixed default auth to CRAM-MD5
  4540. unless not told to.
  4541. ----------------------------
  4542. revision 1.160
  4543. date: 2006/03/19 23:54:48; author: gilles; state: Exp; lines: +82 -23
  4544. Added SSL support.
  4545. Added options --ssl1 --ssl2
  4546. Added PLAIN auth support
  4547. Added options --authmech1 --authmech2
  4548. ----------------------------
  4549. revision 1.159
  4550. date: 2006/03/11 13:00:52; author: gilles; state: Exp; lines: +11 -8
  4551. Added failure story dkimap
  4552. Fixed bug when both --minage and --maxage are used.
  4553. Changed message date selection : date sent instead of internal date.
  4554. ----------------------------
  4555. revision 1.158
  4556. date: 2006/03/02 06:28:30; author: gilles; state: Exp; lines: +38 -29
  4557. Made acls_sync() to_folder_name()
  4558. ----------------------------
  4559. revision 1.157
  4560. date: 2006/03/02 04:32:01; author: gilles; state: Exp; lines: +15 -11
  4561. Made --include --exclude options possibly be a list.
  4562. ----------------------------
  4563. revision 1.156
  4564. date: 2006/03/02 03:14:12; author: gilles; state: Exp; lines: +6 -5
  4565. Added imap_tools link.
  4566. ----------------------------
  4567. revision 1.155
  4568. date: 2006/02/28 02:18:13; author: gilles; state: Exp; lines: +14 -7
  4569. Updated AUTHOR section.
  4570. Talked about confirmation request
  4571. Talked about comp.mail.imap
  4572. ----------------------------
  4573. revision 1.154
  4574. date: 2006/02/28 02:03:40; author: gilles; state: Exp; lines: +18 -17
  4575. Fixed doc: No need to rerun imapsync with expunge now.
  4576. ----------------------------
  4577. revision 1.153
  4578. date: 2006/02/22 02:41:52; author: gilles; state: Exp; lines: +10 -9
  4579. updated usage()
  4580. ----------------------------
  4581. revision 1.152
  4582. date: 2006/02/17 02:57:21; author: gilles; state: Exp; lines: +55 -18
  4583. Made the --justconnect a real "just connect" connection,
  4584. not a auth connection like it is now.
  4585. ----------------------------
  4586. revision 1.151
  4587. date: 2006/02/17 01:28:57; author: gilles; state: Exp; lines: +9 -6
  4588. Added documentation about --regextrans2, dry mode.
  4589. ----------------------------
  4590. revision 1.150
  4591. date: 2006/02/16 05:23:05; author: gilles; state: Exp; lines: +9 -7
  4592. DBMail 2.0.7 failure story
  4593. ----------------------------
  4594. revision 1.149
  4595. date: 2006/02/14 00:44:44; author: gilles; state: Exp; lines: +9 -8
  4596. Documented --exclude 'fold1|fold2|f3'
  4597. ----------------------------
  4598. revision 1.148
  4599. date: 2006/02/14 00:30:49; author: gilles; state: Exp; lines: +7 -7
  4600. More debug for dbmail pb.
  4601. ----------------------------
  4602. revision 1.147
  4603. date: 2006/02/08 07:54:46; author: gilles; state: Exp; lines: +7 -9
  4604. Just a little debug for Jim.
  4605. ----------------------------
  4606. revision 1.146
  4607. date: 2006/01/13 02:43:18; author: gilles; state: Exp; lines: +6 -6
  4608. MDaemon
  4609. ----------------------------
  4610. revision 1.145
  4611. date: 2005/12/04 01:58:54; author: gilles; state: Exp; lines: +54 -12
  4612. Added --minage option
  4613. ----------------------------
  4614. revision 1.144
  4615. date: 2005/11/28 00:32:05; author: gilles; state: Exp; lines: +60 -17
  4616. Added RFC compliance about NAMESPACE prefixes.
  4617. Added --prefix1 option.
  4618. ----------------------------
  4619. revision 1.143
  4620. date: 2005/11/27 20:36:12; author: gilles; state: Exp; lines: +12 -10
  4621. made --regextrans2 a multiple option
  4622. ----------------------------
  4623. revision 1.142
  4624. date: 2005/11/16 01:08:49; author: gilles; state: Exp; lines: +7 -5
  4625. Added expunge1 and expunge2 getoption code
  4626. ----------------------------
  4627. revision 1.141
  4628. date: 2005/11/16 01:05:16; author: gilles; state: Exp; lines: +6 -6
  4629. fixed bug about subscribed folders. Was introduced
  4630. by a line commented in 1.137
  4631. ----------------------------
  4632. revision 1.140
  4633. date: 2005/10/30 10:16:52; author: gilles; state: Exp; lines: +21 -8
  4634. Added --expunge1 --expunge2 options
  4635. ----------------------------
  4636. revision 1.139
  4637. date: 2005/07/16 12:46:22; author: gilles; state: Exp; lines: +6 -6
  4638. server list
  4639. ----------------------------
  4640. revision 1.138
  4641. date: 2005/07/16 11:12:45; author: gilles; state: Exp; lines: +20 -13
  4642. Added failure story.
  4643. Added license information and url in imap server list.
  4644. ----------------------------
  4645. revision 1.137
  4646. date: 2005/06/26 03:08:35; author: gilles; state: Exp; lines: +22 -11
  4647. Added --fastio1 --fastio2 options.
  4648. Fixed bad variable declaration with --maxage.
  4649. ----------------------------
  4650. revision 1.136
  4651. date: 2005/06/23 02:24:19; author: gilles; state: Exp; lines: +42 -29
  4652. Fixed --maxsize --skipsize bug
  4653. ----------------------------
  4654. revision 1.135
  4655. date: 2005/06/21 01:29:44; author: gilles; state: Exp; lines: +25 -33
  4656. Removed md5 test on perl lib
  4657. ----------------------------
  4658. revision 1.134
  4659. date: 2005/06/03 10:33:11; author: gilles; state: Exp; lines: +8 -8
  4660. updated documentation.
  4661. ----------------------------
  4662. revision 1.133
  4663. date: 2005/05/21 02:33:29; author: gilles; state: Exp; lines: +45 -31
  4664. Added foldersizes function
  4665. ----------------------------
  4666. revision 1.132
  4667. date: 2005/05/20 03:18:48; author: gilles; state: Exp; lines: +23 -16
  4668. Updated doc with all options.
  4669. ----------------------------
  4670. revision 1.131
  4671. date: 2005/05/20 02:47:56; author: gilles; state: Exp; lines: +5 -37
  4672. Removed unused code
  4673. ----------------------------
  4674. revision 1.130
  4675. date: 2005/05/20 02:40:26; author: gilles; state: Exp; lines: +23 -15
  4676. Added --useheader option
  4677. ----------------------------
  4678. revision 1.129
  4679. date: 2005/05/19 01:54:31; author: gilles; state: Exp; lines: +14 -11
  4680. Added --buffersize option.
  4681. No sync acls by default now.
  4682. ----------------------------
  4683. revision 1.128
  4684. date: 2005/05/18 18:52:09; author: gilles; state: Exp; lines: +7 -6
  4685. Groupwise
  4686. ----------------------------
  4687. revision 1.127
  4688. date: 2005/05/09 04:14:48; author: gilles; state: Exp; lines: +6 -7
  4689. Fixed bug about @regexmess who was applied for the first
  4690. message only. Thanks to Scott Glenn.
  4691. ----------------------------
  4692. revision 1.126
  4693. date: 2005/05/09 04:04:20; author: gilles; state: Exp; lines: +26 -21
  4694. Applied patch from Dag-Erling Smørgrav about acl sync pb
  4695. ----------------------------
  4696. revision 1.125
  4697. date: 2005/04/22 01:12:18; author: gilles; state: Exp; lines: +23 -9
  4698. Allow password input on command line
  4699. if none by options --password nor --passfile
  4700. Thanks to Brian Cunnie for his patch.
  4701. ----------------------------
  4702. revision 1.124
  4703. date: 2005/04/13 11:37:38; author: gilles; state: Exp; lines: +9 -7
  4704. Added Samsung Contact success
  4705. ----------------------------
  4706. revision 1.123
  4707. date: 2005/03/19 04:25:46; author: gilles; state: Exp; lines: +17 -6
  4708. Added check about flags undef
  4709. Bug reported from Novell NetMail by Dan Wang
  4710. ----------------------------
  4711. revision 1.122
  4712. date: 2005/03/19 04:11:33; author: gilles; state: Exp; lines: +8 -6
  4713. Updated Success stories
  4714. ----------------------------
  4715. revision 1.121
  4716. date: 2005/02/01 04:03:30; author: gilles; state: Exp; lines: +7 -5
  4717. Added links imapcopy and migrationtool
  4718. ----------------------------
  4719. revision 1.120
  4720. date: 2005/02/01 02:38:38; author: gilles; state: Exp; lines: +7 -6
  4721. Success stories : MDaemon
  4722. ----------------------------
  4723. revision 1.119
  4724. date: 2005/02/01 01:54:08; author: gilles; state: Exp; lines: +13 -8
  4725. Fixed undef flag array problem (that I've never encounter).
  4726. Don't remenber who gave the patch
  4727. patches/imapsync-undef_arrayref.diff
  4728. ----------------------------
  4729. revision 1.118
  4730. date: 2005/01/17 14:45:25; author: gilles; state: Exp; lines: +10 -8
  4731. --regexmess option can be repeated
  4732. ----------------------------
  4733. revision 1.117
  4734. date: 2005/01/16 13:51:49; author: gilles; state: Exp; lines: +17 -11
  4735. Changed get_separator()
  4736. Calling namespace capability if needed
  4737. ----------------------------
  4738. revision 1.116
  4739. date: 2005/01/16 01:50:23; author: gilles; state: Exp; lines: +50 -49
  4740. Added --regexmess option
  4741. ----------------------------
  4742. revision 1.115
  4743. date: 2005/01/10 00:14:45; author: gilles; state: Exp; lines: +10 -12
  4744. Tried to get flags in one command, but it is too slow.
  4745. ----------------------------
  4746. revision 1.114
  4747. date: 2005/01/07 09:58:59; author: gilles; state: Exp; lines: +82 -76
  4748. moved parse_header_msg1
  4749. ----------------------------
  4750. revision 1.113
  4751. date: 2005/01/07 07:28:40; author: gilles; state: Exp; lines: +9 -9
  4752. Added conditional --dry actions
  4753. ----------------------------
  4754. revision 1.112
  4755. date: 2005/01/04 04:49:43; author: gilles; state: Exp; lines: +19 -18
  4756. acl only if option
  4757. ----------------------------
  4758. revision 1.111
  4759. date: 2005/01/04 04:05:07; author: gilles; state: Exp; lines: +9 -13
  4760. Suppressed perl warnings
  4761. ----------------------------
  4762. revision 1.110
  4763. date: 2005/01/04 03:56:59; author: gilles; state: Exp; lines: +92 -12
  4764. Better performances
  4765. ----------------------------
  4766. revision 1.109
  4767. date: 2005/01/02 00:47:24; author: gilles; state: Exp; lines: +6 -9
  4768. Removed useless lines
  4769. ----------------------------
  4770. revision 1.108
  4771. date: 2004/12/29 03:19:48; author: gilles; state: Exp; lines: +8 -7
  4772. --prefix2 applied before --regextrans2
  4773. ----------------------------
  4774. revision 1.107
  4775. date: 2004/12/28 23:24:05; author: gilles; state: Exp; lines: +30 -9
  4776. Added option --nosyncacls
  4777. Added synchronization of acls (by default)
  4778. Added --justfolders
  4779. ----------------------------
  4780. revision 1.106
  4781. date: 2004/12/28 03:35:00; author: gilles; state: Exp; lines: +9 -8
  4782. If --sep2 or --sep1 is given then it has precedence over the
  4783. separator given by imap namespace.
  4784. ----------------------------
  4785. revision 1.105
  4786. date: 2004/12/28 03:32:30; author: gilles; state: Exp; lines: +7 -11
  4787. Removed commented code about separator
  4788. ----------------------------
  4789. revision 1.104
  4790. date: 2004/11/13 02:30:24; author: gilles; state: Exp; lines: +7 -6
  4791. Added Worldmail success
  4792. ----------------------------
  4793. revision 1.103
  4794. date: 2004/10/19 04:15:27; author: gilles; state: Exp; lines: +9 -11
  4795. Removed search("ALL") from foldersizes code
  4796. ----------------------------
  4797. revision 1.102
  4798. date: 2004/10/15 14:41:25; author: gilles; state: Exp; lines: +36 -21
  4799. Add use of fetch_hash() in foldersizes counting.
  4800. ----------------------------
  4801. revision 1.101
  4802. date: 2004/10/12 15:17:37; author: gilles; state: Exp; lines: +7 -6
  4803. Added OpenWave
  4804. ----------------------------
  4805. revision 1.100
  4806. date: 2004/10/08 00:57:33; author: gilles; state: Exp; lines: +33 -12
  4807. Added time infos
  4808. ----------------------------
  4809. revision 1.99
  4810. date: 2004/10/04 18:42:40; author: gilles; state: Exp; lines: +15 -8
  4811. Added explanation about --skipheader option :
  4812. only one regex taken into account.
  4813. ----------------------------
  4814. revision 1.98
  4815. date: 2004/09/29 15:49:53; author: gilles; state: Exp; lines: +11 -6
  4816. Ordered message transfer by uid. Thanks to David Alix suggestion.
  4817. ----------------------------
  4818. revision 1.97
  4819. date: 2004/09/29 15:00:26; author: gilles; state: Exp; lines: +7 -6
  4820. Success stories : Domino 5.0.6
  4821. ----------------------------
  4822. revision 1.96
  4823. date: 2004/07/09 09:08:43; author: gilles; state: Exp; lines: +41 -36
  4824. Rewrote foldersizes using size() instead of new and not
  4825. available everywhere fetch_hash().
  4826. ----------------------------
  4827. revision 1.95
  4828. date: 2004/07/08 23:31:53; author: gilles; state: Exp; lines: +44 -6
  4829. Applied --foldersizes patch as is from Reed Sandberg
  4830. ----------------------------
  4831. revision 1.94
  4832. date: 2004/06/15 03:42:56; author: gilles; state: Exp; lines: +13 -6
  4833. Added time stat
  4834. ----------------------------
  4835. revision 1.93
  4836. date: 2004/06/14 23:13:55; author: gilles; state: Exp; lines: +18 -11
  4837. Added stats about messages transfered and messages skipped
  4838. ----------------------------
  4839. revision 1.92
  4840. date: 2004/05/29 02:23:14; author: gilles; state: Exp; lines: +17 -13
  4841. Updated usage()
  4842. ----------------------------
  4843. revision 1.91
  4844. date: 2004/04/07 18:51:24; author: gilles; state: Exp; lines: +7 -6
  4845. - Expunging the destination server is commented.
  4846. - Expunge each message deleted message from the source server
  4847. if --expunge
  4848. ----------------------------
  4849. revision 1.90
  4850. date: 2004/04/07 18:14:05; author: gilles; state: Exp; lines: +13 -6
  4851. Added --regextrans2 option
  4852. ----------------------------
  4853. revision 1.89
  4854. date: 2004/03/31 17:37:23; author: gilles; state: Exp; lines: +17 -13
  4855. Changed debug output
  4856. ----------------------------
  4857. revision 1.88
  4858. date: 2004/03/29 23:33:00; author: gilles; state: Exp; lines: +27 -11
  4859. Added BUGS section about "Multiple copies".
  4860. ----------------------------
  4861. revision 1.87
  4862. date: 2004/03/24 00:08:35; author: gilles; state: Exp; lines: +6 -5
  4863. Updated Servers list.
  4864. ----------------------------
  4865. revision 1.86
  4866. date: 2004/03/21 23:25:47; author: gilles; state: Exp; lines: +19 -7
  4867. Added --skipheader option
  4868. Added --skipsize option
  4869. ----------------------------
  4870. revision 1.85
  4871. date: 2004/03/13 20:39:10; author: gilles; state: Exp; lines: +7 -6
  4872. Updated pod IMAP SERVERS
  4873. ----------------------------
  4874. revision 1.84
  4875. date: 2004/03/13 03:43:34; author: gilles; state: Exp; lines: +8 -7
  4876. Sort also same type headers (like Received)
  4877. ----------------------------
  4878. revision 1.83
  4879. date: 2004/03/12 02:29:00; author: gilles; state: Exp; lines: +8 -5
  4880. Do not parse first blanks in headers (dbmail bug, thanks to
  4881. Christophe Labouisse)
  4882. ----------------------------
  4883. revision 1.82
  4884. date: 2004/03/12 01:40:27; author: gilles; state: Exp; lines: +6 -6
  4885. removed only
  4886. ----------------------------
  4887. revision 1.81
  4888. date: 2004/03/12 01:39:51; author: gilles; state: Exp; lines: +11 -5
  4889. AUTHOR pod section
  4890. ----------------------------
  4891. revision 1.80
  4892. date: 2004/03/12 01:11:22; author: gilles; state: Exp; lines: +6 -6
  4893. IMail Win2003
  4894. ----------------------------
  4895. revision 1.79
  4896. date: 2004/03/12 01:08:12; author: gilles; state: Exp; lines: +6 -5
  4897. Added IMail 7.15
  4898. ----------------------------
  4899. revision 1.78
  4900. date: 2004/03/12 01:04:10; author: gilles; state: Exp; lines: +19 -9
  4901. --timeout option added. Thanks to William Hernandez (fromESS/PR Webmasters)
  4902. ----------------------------
  4903. revision 1.77
  4904. date: 2004/03/11 05:33:22; author: gilles; state: Exp; lines: +26 -8
  4905. Better authmd5 stuff
  4906. Added option --noauthmd5
  4907. ----------------------------
  4908. revision 1.76
  4909. date: 2004/02/18 21:34:46; author: gilles; state: Exp; lines: +9 -6
  4910. Added mailutil ref
  4911. ----------------------------
  4912. revision 1.75
  4913. date: 2004/02/18 14:27:40; author: gilles; state: Exp; lines: +6 -6
  4914. dovecot version
  4915. ----------------------------
  4916. revision 1.74
  4917. date: 2004/02/12 03:11:14; author: gilles; state: Exp; lines: +11 -6
  4918. Updated SIMILAR SOFTWARES
  4919. ----------------------------
  4920. revision 1.73
  4921. date: 2004/02/12 00:12:46; author: gilles; state: Exp; lines: +11 -5
  4922. www.imap.org
  4923. ----------------------------
  4924. revision 1.72
  4925. date: 2004/02/09 15:42:33; author: gilles; state: Exp; lines: +39 -9
  4926. Better MD5 handling
  4927. ----------------------------
  4928. revision 1.71
  4929. date: 2004/01/29 04:28:36; author: gilles; state: Exp; lines: +23 -7
  4930. Added statistics about bytes transfered, skipped
  4931. ----------------------------
  4932. revision 1.70
  4933. date: 2004/01/29 03:32:01; author: gilles; state: Exp; lines: +9 -5
  4934. Updated "Huge Migration".
  4935. ----------------------------
  4936. revision 1.69
  4937. date: 2004/01/29 02:27:41; author: gilles; state: Exp; lines: +45 -16
  4938. Patch from Kaspar Brand as is.
  4939. ----------------------------
  4940. revision 1.68
  4941. date: 2004/01/28 03:49:29; author: gilles; state: Exp; lines: +17 -13
  4942. Added "Success stories"
  4943. Sorted "Success stories"
  4944. Added windows note.
  4945. ----------------------------
  4946. revision 1.67
  4947. date: 2004/01/28 03:10:24; author: gilles; state: Exp; lines: +6 -6
  4948. Better description for google.
  4949. ----------------------------
  4950. revision 1.66
  4951. date: 2004/01/23 20:27:28; author: gilles; state: Exp; lines: +6 -6
  4952. Added IMAP sync words for google response.
  4953. ----------------------------
  4954. revision 1.65
  4955. date: 2003/12/24 03:04:34; author: gilles; state: Exp; lines: +20 -7
  4956. Wrote separator_invert()
  4957. Use separator_invert() to transform separators
  4958. ----------------------------
  4959. revision 1.64
  4960. date: 2003/12/23 19:45:46; author: gilles; state: Exp; lines: +5 -8
  4961. Removed auth capability debug
  4962. ----------------------------
  4963. revision 1.63
  4964. date: 2003/12/23 19:44:47; author: gilles; state: Exp; lines: +7 -6
  4965. One line only for --version
  4966. ----------------------------
  4967. revision 1.62
  4968. date: 2003/12/23 19:28:12; author: gilles; state: Exp; lines: +6 -5
  4969. Added ref pop2imap
  4970. ----------------------------
  4971. revision 1.61
  4972. date: 2003/12/23 19:23:07; author: gilles; state: Exp; lines: +11 -6
  4973. Updated Success stories
  4974. ----------------------------
  4975. revision 1.60
  4976. date: 2003/12/23 18:21:44; author: gilles; state: Exp; lines: +8 -8
  4977. Try separator()
  4978. ----------------------------
  4979. revision 1.59
  4980. date: 2003/12/23 18:19:24; author: gilles; state: Exp; lines: +34 -16
  4981. Added MD5 auth
  4982. ----------------------------
  4983. revision 1.58
  4984. date: 2003/12/23 17:26:45; author: gilles; state: Exp; lines: +44 -27
  4985. Preparation to MD5 auth
  4986. ----------------------------
  4987. revision 1.57
  4988. date: 2003/12/23 03:04:16; author: gilles; state: Exp; lines: +14 -6
  4989. Prepared code for separator() use.
  4990. Added --justconnect option.
  4991. ----------------------------
  4992. revision 1.56
  4993. date: 2003/12/13 19:38:33; author: gilles; state: Exp; lines: +7 -7
  4994. Removed tha bad help message about nested folders and
  4995. --folder option
  4996. ----------------------------
  4997. revision 1.55
  4998. date: 2003/12/13 18:16:56; author: gilles; state: Exp; lines: +30 -15
  4999. Better subscribe behavior
  5000. ----------------------------
  5001. revision 1.54
  5002. date: 2003/12/12 18:13:01; author: gilles; state: Exp; lines: +7 -6
  5003. Updated "Success stories".
  5004. ----------------------------
  5005. revision 1.53
  5006. date: 2003/12/12 17:34:45; author: gilles; state: Exp; lines: +17 -6
  5007. Added comments.
  5008. Added subscribe code.
  5009. ----------------------------
  5010. revision 1.52
  5011. date: 2003/12/12 17:16:51; author: gilles; state: Exp; lines: +12 -4
  5012. Use join() for the banner (less ugly).
  5013. ----------------------------
  5014. revision 1.51
  5015. date: 2003/12/12 17:12:39; author: gilles; state: Exp; lines: +25 -9
  5016. Updated the INSTALL pod doc.
  5017. Prepared the --subscribe option.
  5018. ----------------------------
  5019. revision 1.50
  5020. date: 2003/12/01 16:32:15; author: gilles; state: Exp; lines: +6 -4
  5021. Added Mail::IMAPClient::VERSION
  5022. ----------------------------
  5023. revision 1.49
  5024. date: 2003/12/01 16:19:46; author: gilles; state: Exp; lines: +6 -6
  5025. Updated success stories.
  5026. ----------------------------
  5027. revision 1.48
  5028. date: 2003/11/21 04:23:10; author: gilles; state: Exp; lines: +26 -4
  5029. Added "HUGE MIGRATION" pod section. (Thanks
  5030. Tommi Lätti
  5031. ----------------------------
  5032. revision 1.47
  5033. date: 2003/11/21 03:15:31; author: gilles; state: Exp; lines: +19 -4
  5034. Added a SECURITY pod doc section.
  5035. ----------------------------
  5036. revision 1.46
  5037. date: 2003/11/21 02:52:37; author: gilles; state: Exp; lines: +6 -4
  5038. Documented --subscribed option in usage()
  5039. Add GPL link
  5040. ----------------------------
  5041. revision 1.45
  5042. date: 2003/11/21 02:42:49; author: gilles; state: Exp; lines: +28 -8
  5043. Added usage of sysexists constants.
  5044. Exit in error if a problem occurs with options.
  5045. Added --subscribed option
  5046. ----------------------------
  5047. revision 1.44
  5048. date: 2003/11/11 18:01:49; author: gilles; state: Exp; lines: +5 -5
  5049. Fixed get_separator call bug for "to" server.
  5050. Thanks Eric Yung.
  5051. ----------------------------
  5052. revision 1.43
  5053. date: 2003/11/11 02:18:45; author: gilles; state: Exp; lines: +35 -8
  5054. Added --sep1 and --sep2 options in case NAMESPACE can not be
  5055. used
  5056. Wrote get_separator() function.
  5057. ----------------------------
  5058. revision 1.42
  5059. date: 2003/10/20 22:56:57; author: gilles; state: Exp; lines: +27 -16
  5060. Added --syncinternaldates option
  5061. ----------------------------
  5062. revision 1.41
  5063. date: 2003/10/20 19:19:52; author: gilles; state: Exp; lines: +9 -4
  5064. RFC 2060: \Recent can not be altered by the client.
  5065. Thanks to Tomasz Orzechowski <tomek AT lj.pl>
  5066. ----------------------------
  5067. revision 1.40
  5068. date: 2003/10/17 01:34:59; author: gilles; state: Exp; lines: +5 -5
  5069. Added condition to add prefix2
  5070. ----------------------------
  5071. revision 1.39
  5072. date: 2003/10/17 01:26:20; author: gilles; state: Exp; lines: +4 -14
  5073. Removed commented code
  5074. ----------------------------
  5075. revision 1.38
  5076. date: 2003/10/17 01:25:40; author: gilles; state: Exp; lines: +12 -7
  5077. Added --prefix2 option for the INBOX. namespace problem
  5078. with cyrus imap servers.
  5079. ----------------------------
  5080. revision 1.37
  5081. date: 2003/10/16 01:37:52; author: gilles; state: Exp; lines: +9 -8
  5082. Added a loop in case there is several identical key header
  5083. ----------------------------
  5084. revision 1.36
  5085. date: 2003/10/16 01:23:51; author: gilles; state: Exp; lines: +4 -38
  5086. Removed commented code in parse section.
  5087. ----------------------------
  5088. revision 1.35
  5089. date: 2003/10/16 01:22:52; author: gilles; state: Exp; lines: +20 -19
  5090. Use of parse_header_msg() in "to" server
  5091. ----------------------------
  5092. revision 1.34
  5093. date: 2003/10/16 01:18:07; author: gilles; state: Exp; lines: +49 -24
  5094. Wrote parse_header_msg()
  5095. Use of parse_header_msg for "from" server.
  5096. ----------------------------
  5097. revision 1.33
  5098. date: 2003/10/16 00:47:43; author: gilles; state: Exp; lines: +6 -6
  5099. Added prefix in debug output for headers
  5100. ----------------------------
  5101. revision 1.32
  5102. date: 2003/10/16 00:36:17; author: gilles; state: Exp; lines: +17 -5
  5103. Added code to check internal dates
  5104. Commented code about internal dates
  5105. ----------------------------
  5106. revision 1.31
  5107. date: 2003/08/28 16:07:28; author: gilles; state: Exp; lines: +5 -5
  5108. Fixed bug converting separators
  5109. ----------------------------
  5110. revision 1.30
  5111. date: 2003/08/27 16:40:38; author: gilles; state: Exp; lines: +9 -5
  5112. Added output separators
  5113. Fixed bad output fot "To folders"
  5114. ----------------------------
  5115. revision 1.29
  5116. date: 2003/08/24 02:01:28; author: gilles; state: Exp; lines: +6 -4
  5117. Updated doc about fixed flags first time bug.
  5118. ----------------------------
  5119. revision 1.28
  5120. date: 2003/08/24 01:55:25; author: gilles; state: Exp; lines: +8 -30
  5121. Set the flags using append_strings() instead of store()
  5122. Flags are well set since the first run now.
  5123. ----------------------------
  5124. revision 1.27
  5125. date: 2003/08/23 14:40:57; author: gilles; state: Exp; lines: +4 -10
  5126. Removed unused code
  5127. ----------------------------
  5128. revision 1.26
  5129. date: 2003/08/23 14:36:58; author: gilles; state: Exp; lines: +18 -11
  5130. Updated doc with imap servers, freshmeat url
  5131. ----------------------------
  5132. revision 1.25
  5133. date: 2003/08/23 01:44:33; author: gilles; state: Exp; lines: +18 -12
  5134. Fixed pb with no UIDPLUS and flags
  5135. ----------------------------
  5136. revision 1.24
  5137. date: 2003/08/23 00:05:57; author: gilles; state: Exp; lines: +13 -5
  5138. Added server software output
  5139. Added server capability output
  5140. ----------------------------
  5141. revision 1.23
  5142. date: 2003/08/22 21:55:01; author: gilles; state: Exp; lines: +37 -8
  5143. Added code to better sync flags
  5144. ----------------------------
  5145. revision 1.22
  5146. date: 2003/08/22 17:17:18; author: gilles; state: Exp; lines: +22 -17
  5147. Added code to underdstand why Daniele can't create folders
  5148. ----------------------------
  5149. revision 1.21
  5150. date: 2003/08/22 16:25:07; author: gilles; state: Exp; lines: +4 -9
  5151. Removed commented code adding INBOX. prefix
  5152. ----------------------------
  5153. revision 1.20
  5154. date: 2003/08/21 16:31:53; author: gilles; state: Exp; lines: +6 -5
  5155. Fixed banner output. Must be after getoptions because of --version
  5156. ----------------------------
  5157. revision 1.19
  5158. date: 2003/08/21 16:18:32; author: gilles; state: Exp; lines: +11 -8
  5159. Added code and comment to understand why message uid was not printed
  5160. Solution : some imap server don't have UIDPLIS Capability
  5161. ----------------------------
  5162. revision 1.18
  5163. date: 2003/08/21 14:37:45; author: gilles; state: Exp; lines: +5 -5
  5164. Removed unuseful param in $from->folders call
  5165. ----------------------------
  5166. revision 1.17
  5167. date: 2003/08/21 13:49:05; author: gilles; state: Exp; lines: +5 -4
  5168. Fixed banner
  5169. ----------------------------
  5170. revision 1.16
  5171. date: 2003/08/21 13:47:14; author: gilles; state: Exp; lines: +12 -11
  5172. Added imapxfer url, thanks to Daniele Frijia.
  5173. Added [] to see blank caracter in folder names.
  5174. Added a banner with imapsync version.
  5175. ----------------------------
  5176. revision 1.15
  5177. date: 2003/07/17 12:22:23; author: gilles; state: Exp; lines: +4 -4
  5178. Added imap debug mode to server2
  5179. ----------------------------
  5180. revision 1.14
  5181. date: 2003/07/17 11:58:56; author: gilles; state: Exp; lines: +14 -12
  5182. - Fixed port2 variable.
  5183. Thanks again Patrick C. F. Ernzer
  5184. ----------------------------
  5185. revision 1.13
  5186. date: 2003/07/16 17:28:59; author: gilles; state: Exp; lines: +6 -3
  5187. - fix "you forgot to honour the --port option"
  5188. Thanks to Patrick C. F. Ernzer
  5189. ----------------------------
  5190. revision 1.12
  5191. date: 2003/07/07 20:19:58; author: gilles; state: Exp; lines: +20 -4
  5192. Updated documentation :
  5193. - Added IMAP SERVERS section (Success and bad stories).
  5194. - Updated SIMILAR SOFTWARES section.
  5195. ----------------------------
  5196. revision 1.11
  5197. date: 2003/07/04 23:32:23; author: gilles; state: Exp; lines: +7 -5
  5198. - use of namespace separator,
  5199. Thanks to Sebastien Namèche.
  5200. ----------------------------
  5201. revision 1.10
  5202. date: 2003/05/05 22:37:48; author: gilles; state: Exp; lines: +5 -5
  5203. Updated --folder documentation.
  5204. ----------------------------
  5205. revision 1.9
  5206. date: 2003/05/05 22:33:50; author: gilles; state: Exp; lines: +8 -7
  5207. Commented INBOX prefix addition (cyrus "buggy" namespace)
  5208. ----------------------------
  5209. revision 1.8
  5210. date: 2003/05/05 21:05:14; author: gilles; state: Exp; lines: +20 -4
  5211. When folders are given with the --folder option then nested are
  5212. also taken into account.
  5213. ----------------------------
  5214. revision 1.7
  5215. date: 2003/03/15 03:40:54; author: gilles; state: Exp; lines: +19 -9
  5216. Added documentation.
  5217. ----------------------------
  5218. revision 1.6
  5219. date: 2003/03/14 02:17:24; author: gilles; state: Exp; lines: +5 -3
  5220. Added positive exit if errors occurred.
  5221. ----------------------------
  5222. revision 1.5
  5223. date: 2003/03/14 01:20:37; author: gilles; state: Exp; lines: +14 -6
  5224. Better debug output.
  5225. ----------------------------
  5226. revision 1.4
  5227. date: 2003/03/14 01:01:08; author: gilles; state: Exp; lines: +143 -15
  5228. Added documentation.
  5229. Added --folder option.
  5230. Added error counter.
  5231. ----------------------------
  5232. revision 1.3
  5233. date: 2003/03/12 23:19:58; author: gilles; state: Exp; lines: +276 -166
  5234. Adapted from transfert-bal-verify.pl
  5235. Added usage()
  5236. Changed variable names.
  5237. Added get_options()
  5238. Added option controls.
  5239. ----------------------------
  5240. revision 1.2
  5241. date: 2001/07/29 23:27:52; author: gilles; state: Exp; lines: +7 -4
  5242. 8bit -> X
  5243. ----------------------------
  5244. revision 1.1
  5245. date: 2001/07/29 22:34:01; author: gilles; state: Exp;
  5246. Initial revision
  5247. =============================================================================