-
Notifications
You must be signed in to change notification settings - Fork 2
/
ChangeLog.maemo.old
1854 lines (1236 loc) · 65.6 KB
/
ChangeLog.maemo.old
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2010-01-14 Marco Barisione <[email protected]>
Add other merge functions similar to e_vcard_attribute_merge_param().
Based on an original patch by Robert Peto.
* libebook-dbus/e-vcard.c (e_vcard_attribute_param_merge_value),
(e_vcard_attribute_param_merge_values),
(e_vcard_attribute_merge_param_with_value),
(e_vcard_attribute_merge_param_with_values):
* libebook-dbus/e-vcard.h:
Reviewed-By: Robert Peto <[email protected]>
2010-01-14 Marco Barisione <[email protected]>
Add e_vcard_attribute_merge_param().
Based on an original patch by Robert Peto.
* libebook-dbus/e-vcard.c (merge_values),
(e_vcard_attribute_merge_param):
* libebook-dbus/e-vcard.h:
Reviewed-By: Robert Peto <[email protected]>
2009-01-20 Robert Peto <[email protected]>
Add nickname index table to file-backend for supporting 'get all
contacts ordered by nick' queries.
* addressbook/backends/file/e-book-backend-file-index.c:
nickname_add_cb(), nickname_remove_cb(): callback functions for
adding and removing nicknames
get_key_attribute(): priority arg added
Reviewed-By: Mathias Hasselmann <[email protected]>
2009-01-18 Robert Peto <[email protected]>
NB#145900 - corematic: ABRT in __dbenv_open_4002
* addressbook/backends/file/e-book-backend-file.c:
Put a "recovery-needed" file in db_home directory when the paniccall
gets called. When libdb's regular recovery fails, then rename the
db dir to db-corrupted so we can start our db from scratch again.
(This agressive file removal is needed because without this we can
stuck in a recovery - crash loop.)
Reviewed-By: Marco Barisione <[email protected]>
2009-01-18 Robert Peto <[email protected]>
NB#145900 - Create a public version from delete_directory() as
e_util_recursive_rmdir().
* addressbook/libedata-book-dbus/e-data-book-factory.c:
* libedataserver/e-data-server-util.c:
* libedataserver/e-data-server-util..h: See above.
Reviewed-By: Marco Barisione <[email protected]>
2010-01-12 Robert Peto <[email protected]>
NB#140389 - fine tune checkpoint handling
* addressbook/backends/file/e-book-backend-file.c (sync_dbs()):
Create a checkpoint if the last checkpoint was created more than 60
mins ago or more than 1MB was written to log file. Remove
unnecessary log file to preserve disk space. (We don't prepare for
catastrophic recovery.)
* addressbook/backends/file/e-book-backend-file.c
(e_book_backend_file_sync()): Force checkpoint before we create the
backup.
Reviewed-By: Marco Barisione <[email protected]>
2010-01-12 Robert Peto <[email protected]>
NB#140389 - fine tune transaction log handling
* addressbook/backends/file/e-book-backend-file.c
(e_book_backend_file_setup_db_env()): set log file size to 4MB and
log buffer size to 128kB.
Reviewed-By: Marco Barisione <[email protected]>
2010-01-12 Robert Peto <[email protected]>
NB#140389 - wait 200ms before retry to commit the transaction
* addressbook/backends/file/e-book-backend-file-utils.c
(txn_execute_ops()):
wait 200ms before retry the commit, only retry if the transaction
was aborted because of deadlock in libdb, retry max 10 times
Reviewed-By: Marco Barisione <[email protected]>
2010-01-11 Robert Peto <[email protected]>
NB#148921 - Fix memory leak in get_changes().
* addressbook/backends/file/e-book-backend-file.c
(e_book_backend_file_changes_foreach_key): Properly free
vcard_dbt.data.
Reviewed-By: Marco Barisione <[email protected]>
2009-12-09 Robert Peto <[email protected]>
NB#143770 - Introduce method not supporter return value.
* addressbook/libebook-dbus/e-book-types.h (EBookStatus):
* addressbook/libebook-dbus/e-book.c (get_status_from_error()):
Client side changes to handle the new return value.
* addressbook/libedata-book-dbus/e-book-backend-sync.c:
* addressbook/libedata-book-dbus/e-book-backend.c:
* addressbook/libedata-book-dbus/e-data-book-types.h:
Server side changes to send the new return value when it is needed.
Reviewed-By: Marco Barisione <[email protected]>
2009-12-09 Robert Peto <[email protected]>
NB#143770 - New API function to reset synchronization history.
* addressbook/backends/file/e-book-backend-file.c
(e_book_backend_file_get_changes(),
e_book_backend_file_reset_changes()): protect the changes files with
a mutex, implement reset_changes().
* addressbook/libebook-dbus/e-book.c (e_book_reset_changes(),
reset_changes_reply(), e_book_async_reset_change()):
* addressbook/libebook-dbus/e-book.h (e_book_reset_change(),
e_book_async_reset_changes()):
Introduce D-Bus wrappers for resetChanges method.
* addressbook/libedata-book-dbus/e-book-backend-sync.c
(e_book_backend_sync_reset_changes(),
_e_book_backend_reset_changes(), e_book_backend_sync_class_init()):
* addressbook/libedata-book-dbus/e-book-backend-sync.h
(EBookBackendSyncClass, e_book_backend_sync_reset_changes()):
Provide hooks for synchronous version of resetChanges method.
* addressbook/libedata-book-dbus/e-book-backend.c
(e_book_backend_reset_changes()):
* addressbook/libedata-book-dbus/e-book-backend.h (EBookBackendClass,
e_book_backend_reset_changes()):
Provide hooks for asynchronous version of resetChanges method.
* addressbook/libedata-book-dbus/e-data-book.c
(OperationID, operation_thread(),
impl_AddressBook_Book_resetChanges(),
e_data_book_respond_reset_changes(), ):
* addressbook/libedata-book-dbus/e-data-book.h
(e_data_book_respond_reset_changes):
* addressbook/libedata-book-dbus/e-data-book.xml
(org.gnome.evolution.dataserver.addressbook.Book):
Introduce resetContacts DBus method.
Reviewed-By: Marco Barisione <[email protected]>
2009-12-09 Robert Peto <[email protected]>
NB#148921 - Properly free the EBookBackendFileChangeContext struct.
* addressbook/backends/file/e-book-backend-file.c
(e_book_backend_file_get_changes()): See above.
Reviewed-By: Marco Barisione <[email protected]>
2009-12-09 Robert Peto <[email protected]>
NB#148921 - Close and re-create the db handle while getting changes.
* libedataserver/e-dbhash.c (e_dbhash_new()): See above.
Reviewed-By: Marco Barisione <[email protected]>
2009-11-16 Mathias Hasselmann <[email protected]>
NB#132818 - Use the Universal Charset Detector for parsing vCards.
* addressbook/libebook-dbus/e-vcard.c (ensure_utf8_attributes()):
Really run the charset detector.
2009-10-23 Mathias Hasselmann <[email protected]>
NB#132818 - Use the Universal Charset Detector for parsing vCards.
* addressbook/libebook-dbus/Makefile.am:
* addressbook/libebook-dbus/e-uchardet.cpp (new file):
Introduce function for guessing the charset of a vCard.
* addressbook/libebook-dbus/e-vcard.c (ensure_utf8_attributes):
Call _evc_guess_charset() to guess the charset of the vCard.
Reviewed-By: Robert Peto <[email protected]>
Reviewed-By: Marco Barisione <[email protected]>
2009-10-23 Mathias Hasselmann <[email protected]>
NB#132818 - Disable detectors that g_convert() doesn't support.
* libuchardet/src/*:
Disable Hebrew, Thamil and some Cyrillic language models.
* libuchardet/tests/Makefile.am:
* libuchardet/tests/test_charsets.c (new file):
Check which charsets actually are supported by g_convert().
Reviewed-By: Robert Peto <[email protected]>
Reviewed-By: Marco Barisione <[email protected]>
2009-10-23 Mathias Hasselmann <[email protected]>
NB#132818 - Add the Universal Charset Detector to the build system.
* configure.in:
Find header files for libuchardet.
* debian/control:
Add build dependency on microb-engine-dev.
* Makefile.am (LIBUCHARDET, SUBDIRS):
* libuchardet/Makefile.am (new file):
* libuchardet/src/Makefile.am (new file):
* libuchardet/tests/Makefile.am (new file):
Add instructions for building libuchardet.
* libuchardet/src/nsCharSetProber.cpp
(nsCharSetProber::FilterWithoutEnglishLetters,
nsCharSetProber::FilterWithEnglishLetters):
* libuchardet/src/nsLatin1Prober.cpp
(nsProbingState nsLatin1Prober::HandleData):
* libuchardet/src/nsSBCSGroupProber.cpp
(nsSBCSGroupProber::HandleData):
Use builtin C++ allocator instead of the NSPR allocator to avoid
linking against Gecko libraries. It's not worth the overhead for
such trivial functions.
* libuchardet/tests/test_libuchardet.cpp (new file):
Check that the Universal Charset Detector can be use.
Reviewed-By: Robert Peto <[email protected]>
Reviewed-By: Marco Barisione <[email protected]>
2009-10-23 Mathias Hasselmann <[email protected]>
NB#132818 - Copy Gecko's Universal Charset Detector.
* libuchardet/*: Copy source code from microb-engine-20090612.
Reviewed-By: Robert Peto <[email protected]>
Reviewed-By: Marco Barisione <[email protected]>
2009-10-23 Mathias Hasselmann <[email protected]>
NB#132818 - Consistently drop ENCODING parameters
* addressbook/libebook-dbus/e-vcard.c (read_attribute_params):
Don't create an attribute parameter when seeing "QUOTED-PRINTABLE".
This change is to provide consistent behavor between full and
abbreviated "ENCODING" parameters.
Reviewed-By: Robert Peto <[email protected]>
Reviewed-By: Marco Barisione <[email protected]>
2009-10-23 Mathias Hasselmann <[email protected]>
NB#132818 - Improve robustness of vCard parser for bogus charsets.
* addressbook/libebook-dbus/e-vcard.c (skip_until(),
read_attribute_value(), read_attribute_params(), read_attribute(),
get_charset(), enforce_utf8(), ensure_utf8_values(),
ensure_utf8_attributes(), e_vcard_ensure_attributes()):
Don't eagerly try UTF-8 routines on text which also could any kind
of extended ASCII charset (ISO-8859, KOI, GB, ...): Most low-level
routines don't check for invalid UTF-8. Therefore we risk to skip
significant tokens by assuming UTF-8 too early. We now treat the
vCard as plain ASCII when parsing and only normalize attribute
values to UTF-8 when done with parsing.
Reviewed-By: Robert Peto <[email protected]>
Reviewed-By: Marco Barisione <[email protected]>
2009-10-29 Robert Peto <[email protected]>
Add the "remove-all-contacts" capability for the file-backend.
* addressbook/backends/file/e-book-backend-file-index.c:
* addressbook/backends/file/e-book-backend-file-index.h:
(e_book_backend_file_index_truncate()): function for emptying the
backing stores for index tables.
* addressbook/backends/file/e-book-backend-file.c
(increment_open_cursors(), decrement_open_cursors()): helper
functions for handling the open_cursors variable
* addressbook/backends/file/e-book-backend-file.c
(e_book_backend_file_remove_contacts(), modify_contact(),
e_book_backend_file_modify_contacts(),
e_book_backend_file_get_contact_list(), book_view_thread(),
e_book_backend_file_get_changes()): indicate that the running thread
is using a cursor
* addressbook/backends/file/e-book-backend-file.c
(e_book_backend_file_remove_all_contacts()): the actual
implementation of the remove-all-contacts
* addressbook/backends/file/e-book-backend-file.c
(e_book_backend_file_get_static_capabilities()): add
"remove-all-contacts" to static capabilities
* addressbook/libedata-book-dbus/e-data-book.c
(e_data_book_respond_remove_all_contacts()): fix a memleak.
Reviewed-By: Marco Barisione <[email protected]>
2009-10-20 Marco Barisione <[email protected]>
Add a missing include for glib/gstdio.h.
* libedata-book-dbus/e-data-book-factory.c:
Reviewed-By: Robert Peto <[email protected]>
2009-10-19 Marco Barisione <[email protected]>
Add some support code for backup restoration.
If there is a directory ~/.osso-abook-restore (created by the
backup/restore application) rename it to ~/.osso-abook. This way we
can replace the DBs in an atomic way without interfering with the
normal behaviour of EDS.
* libedata-book-dbus/e-data-book-factory.c (delete_directory),
(main):
Reviewed-By: Jonathon Jongsma <[email protected]>
Reviewed-By: Robert Peto <[email protected]>
2009-10-12 Joergen Scheibengruber <[email protected]>
NB#140520 - Memory leak in addressbook/libebook-dbus/e-book-sexp.c
compare_list
* addressbook/libebook-dbus/e-book-sexp.c (compare_list()): See above
Reviewed-By: Mathias Hasselmann <[email protected]>
Reviewed-By: Robert Peto <[email protected]>
2009-10-12 Joergen Scheibengruber <[email protected]>
NB#140354 - e-addressbook factory crashed while importing contacts
* addressbook/libedata-book-dbus/e-book-backend.c
e_book_backend_get_book_views(): return with a copy of EList
e_book_backend_foreach_view(): protect access to views with a mutex
Reviewed-By: Mathias Hasselmann <[email protected]>
Reviewed-By: Robert Peto <[email protected]>
2009-10-12 Robert Peto <[email protected]>
Split contact list to chunks when adding contacts with
e_book_async_add_contacts() function. (Do the same as in
e_book_add_contacts()).
* addressbook/libebook-dbus/e-book.c (async_data_add_contacts_new(),
async_data_add_contacts_free(), add_contacts_reply(),
e_book_async_add_contacts_by_threshold_limit(),
e_book_async_add_contacts()): See above.
* addressbook/libedata-book-dbus/e-data-book-view.c: rename THRESHOLD
macro to NOTIFY_THRESHOLD.
* configure.in: set default BATCH_THRESHOLD value to 256 and
NOTIFY_THRESHOLD to 96.
Reviewed-By: Mathias Hasselmann <[email protected]>
2009-09-30 Joergen Scheibengruber <[email protected]>
NB#140530 - Memory leak in transaction enabled eds
* addressbook/backends/file/e-book-backend-file-utils.c
(txn_delete_by_cursor()): See above.
Reviewed-By: Jonathon Jongsma <[email protected]>
Reviewed-By: Robert Peto <[email protected]>
2009-09-30 Joergen Scheibengruber <[email protected]>
NB#123381 - If a vcard contains duplicate fields, there will be
warnings from the index.
* addressbook/backends/file/e-book-backend-file-index.c
(generic_field_add(), generic_field_remove()): Make sure we do not try
to add/remove key/value dups to the index.
Reviewed-By: Mathias Hasselmann <[email protected]>
Reviewed-By: Robert Peto <[email protected]>
2009-09-30 Robert Peto <[email protected]>
Remove version tag from addressbook.db and db format upgrade
functionality. (See NB#120562)
* addressbook/backends/file/e-book-backend-file.c: See above.
* addressbook/backends/file/e-book-backend-file-index.c: Do not filter
the version tag when populating indices.
Reviewed-By: Jonathon Jongsma <[email protected]>
Reviewed-By: Mathias Hasselmann <[email protected]>
2009-09-23 Sayantan Majumder <[email protected]>
NB#139743 - e-addressbook-factory crash while incoming chat notification
* addressbook/libebook-dbus/e-book-sexp.c (compare_address()):
Use a different looping variable for the inner loop.
Reviewed-By: Jonathon Jongsma <[email protected]>
Reviewed-By: Mathias Hasselmann <[email protected]>
2009-09-23 Robert Peto <[email protected]>
Remove old recovery functionality. (See NB#120562)
* addressbook/backends/file/e-book-backend-file.c: See above.
Reviewed-By: Jonathon Jongsma <[email protected]>
Reviewed-By: Mathias Hasselmann <[email protected]>
2009-09-23 Robert Peto <[email protected]>
Modify contact(s) in transaction. (See NB#120562)
* addressbook/backends/file/e-book-backend-file-index.c
* addressbook/backends/file/e-book-backend-file-index.h
* addressbook/backends/file/e-book-backend-file.c: See above.
Reviewed-By: Jonathon Jongsma <[email protected]>
Reviewed-By: Mathias Hasselmann <[email protected]>
2009-09-23 Robert Peto <[email protected]>
Remove contacts in transaction. (See NB#120562)
* addressbook/backends/file/e-book-backend-file-index.c
* addressbook/backends/file/e-book-backend-file-index.h
* addressbook/backends/file/e-book-backend-file.c: See above.
Reviewed-By: Jonathon Jongsma <[email protected]>
Reviewed-By: Mathias Hasselmann <[email protected]>
2009-09-23 Robert Peto <[email protected]>
Do the batch add within a transaction. (See NB#120562)
* addressbook/backends/file/e-book-backend-file.c: See above.
Reviewed-By: Jonathon Jongsma <[email protected]>
Reviewed-By: Mathias Hasselmann <[email protected]>
2009-09-23 Robert Peto <[email protected]>
Populate index dbs in a transaction. (See NB#120562)
* addressbook/backends/file/e-book-backend-file-index.c: See above.
Reviewed-By: Jonathon Jongsma <[email protected]>
Reviewed-By: Mathias Hasselmann <[email protected]>
2009-09-23 Robert Peto <[email protected]>
Intall pre-installed vcards in a transaction. (See NB#120562)
* addressbook/backends/file/e-book-backend-file.c
(install_pre_installed_vcards()): See above.
Reviewed-By: Jonathon Jongsma <[email protected]>
Reviewed-By: Mathias Hasselmann <[email protected]>
2009-09-23 Robert Peto <[email protected]>
Make create_contact() transaction protected. (See NB#120562)
* addressbook/backends/file/e-book-backend-file-index.c
* addressbook/backends/file/e-book-backend-file-index.h
* addressbook/backends/file/e-book-backend-file.c: See above.
Reviewed-By: Jonathon Jongsma <[email protected]>
Reviewed-By: Mathias Hasselmann <[email protected]>
2009-09-23 Robert Peto <[email protected]>
New utility functions for transaction handling. (See NB#120562)
* addressbook/backends/file/e-book-backend-file-utils.c
* addressbook/backends/file/e-book-backend-file-utils.h
(txn_execute_ops(), txn_ops_add_new(), txn_ops_free()): See above.
Reviewed-By: Jonathon Jongsma <[email protected]>
Reviewed-By: Mathias Hasselmann <[email protected]>
2009-09-23 Robert Peto <[email protected]>
Do db->open() in a transaction, add the version number into freshly
created db. (See NB#120562)
* addressbook/backends/file/e-book-backend-file.c
* addressbook/backends/file/e-book-backend-file-index.c: See above.
Reviewed-By: Jonathon Jongsma <[email protected]>
Reviewed-By: Mathias Hasselmann <[email protected]>
2009-09-23 Robert Peto <[email protected]>
Move dbt_fill_with_string() into a common header.
* addressbook/backends/file/Makefile.am
* addressbook/backends/file/e-book-backend-file-utils.c
* addressbook/backends/file/e-book-backend-file-utils.h: See above.
* addressbook/backends/file/e-book-backend-file.c
* addressbook/backends/file/e-book-backend-file-index.c: Change to use
the above mentioned function.
Reviewed-By: Jonathon Jongsma <[email protected]>
Reviewed-By: Mathias Hasselmann <[email protected]>
2009-09-23 Robert Peto <[email protected]>
Stylistic changes in addressbook's file backend:
- remove trailing white spaces
- use tabs for indenting
- use macros from e-book-backend-file-log.h for debug messages
* addressbook/backends/file/e-book-backend-file-index.c
* addressbook/backends/file/e-book-backend-file-index.h
* addressbook/backends/file/e-book-backend-file.c: See above
* addressbook/backends/file/e-book-backend-file-log.h: CRITICAL macro
is addedd
Reviewed-By: Jonathon Jongsma <[email protected]>
Reviewed-By: Mathias Hasselmann <[email protected]>
2009-09-14 Robert Peto <[email protected]>
Introduce a vcard split function for convenience. (It splits vcards
when there is a line feed before the "BEGIN:VCARD" and "END:VCARD")
* addressbook/libebook-dbus/e-vcard.h
addressbook/libebook-dbus/e-vcard.c: introduce
e_vcard_util_split_cards() function
* addressbook/backends/file/e-book-backend-file.c:
install_pre_installed_vcards(): use e_vcard_util_split_cards()
instead of old get_contact_from_string().
read_preinst_conf_file(): memory leak fix
Reviewed-By: Marco Barisione <[email protected]>
2009-09-02 Marco Barisione <[email protected]>
Don't check if the vcards we parse are valid UTF-8 as they can be in
different encodings.
* libebook-dbus/e-vcard.c (e_vcard_construct_with_uid):
Reviewed-By: Jonathon Jongsma <[email protected]>
2009-08-20 Jonathon Jongsma <[email protected]>
* addressbook/libebook-dbus/e-book.c:
(e_book_async_remove_contacts): Do a little bit of extra validation on
the ids passed so that we don't crash if somebody passes a NULL id.
Instead simply return an error. Fixes: NB#132074
Reviewed-By: Travis Reitter <[email protected]>
2009-08-17 Marco Barisione <[email protected]>
Use libdbus directly and not dbus-glib to get the NameOwnerChanged
signal, this way we can be woken up only for the NameOwnerChanged
signals we really care about and not for every name change on the
session bus.
* libedata-book-dbus/e-data-book-factory.c
(get_name_owner_changed_match_rule), (name_owner_changed),
(impl_BookFactory_getBook), (message_filter), (main):
Reviewed-By: Robert Peto <[email protected]>
2009-08-14 Robert Peto <[email protected]>
Remove libdb's lock file if it was left behind from a previous run.
Otherwise libdb's open method would block, and we would be in an
unusable environment. See NB#126480
* addressbook/backends/file/e-book-backend-file.c
(e_book_backend_file_remove_db_locks(),
e_book_backend_file_load_source()): see summary.
2009-08-14 Robert Peto <[email protected]>
Fix phone phone number queries. See NB#126480
* addressbook/backends/file/e-book-backend-file-index.c
generic_field_add(): normalize phone numbers before put them to
index db.
generic_field_remove(): normalize phone numbers before remove from
phone index db.
real_query(): normalize phone numbers in queries.
2009-08-14 Mukund Sivaraman <[email protected]>
* addressbook/libebook-dbus/e-book-util.c:
Make e_normalize_phone_number() passthrough chars it doesn't know
about
2009-08-10 Mathias Hasselmann <[email protected]>
NB#130184 - Introduce e_vcard_attribute_equal().
* addressbook/libebook-dbus/e-vcard.c
string_list_compare(), e_vcard_attribute_equal()):
* addressbook/libebook-dbus/e-vcard.h (e_vcard_attribute_equal()):
Introduce function to compare vcard attributes by value.
Reviewed-By: Xavier Claessens <[email protected]>
2009-08-05 Robert Peto <[email protected]>
Fix CHECKED_RETURN issue in e_book_query_from_string()
* addressbook/libebook-dbus/e-book-query.c
(e_book_query_from_string()): check the return value of
e_sexp_parse().
Reviewed-By: Xavier Claessens <[email protected]>
2009-08-05 Robert Peto <[email protected]>
Fix CHECKED_RETURN issue in e-book-util.c
* addressbook/libebook-dbus/e-book-util.c (ht_add()): check return
value of g_hash_table_lookup_extended().
Reviewed-By: Xavier Claessens <[email protected]>
2009-08-05 Robert Peto <[email protected]>
Fix CHECKED_RETURN issue in e-book-util.c
* addressbook/libebook-dbus/e-book-util.c
(e_book_util_remove_duplicates_using_book()): check return value of
e_book_get_contacts().
Reviewed-By: Xavier Claessens <[email protected]>
2009-08-05 Robert Peto <[email protected]>
Fix CHECKED_RETURN issue in EBookBackendFileIndex.
* addressbook/backends/file/e-book-backend-file-index.c
(get_key_attribute()): check return value of g_hash_table_iter_next()
Reviewed-By: Xavier Claessens <[email protected]>
2009-08-05 Robert Peto <[email protected]>
Fix FORWARD_NULL issue reported by coverity in EBook.
* addressbook/libebook-dbus/e-book.c (e_book_e_list_reply(),
get_required_fields_reply(), e_book_get_supported_fields(),
e_book_get_supported_auth_methods()): See summary.
Reviewed-By: Xavier Claessens <[email protected]>
2009-08-05 Robert Peto <[email protected]>
Fix VARARGS issue reported by coverity in EBookQuery.
* addressbook/libebook-dbus/e-book-query.c (conjoinv(),
e_book_query_andv(), e_book_query_orv()): call va_end in the same
function as va_start.
Reviewed-By: Xavier Claessens <[email protected]>
2009-07-31 Marco Barisione <[email protected]>
Don't leak the list of contacts after calling
e_data_book_respond_get_contact_list.
* libedata-book-dbus/e-book-backend-sync.c
(_e_book_backend_get_contact_list):
Reviewed-By: Robert Peto <[email protected]>
2009-07-31 Robert Peto <[email protected]>
Free the DBusConnection properly when client is disconnected.
* addressbook/libedata-book-dbus/e-data-book-view.c
(dbus_signal_filter_cb()): Add a signal handler for dbus connection
to check if the client is disconnected abruptly. It it did, then
dispose the book view object.
(impl_BookView_dispose()): Remove the signal filter function to
prevent getting dbus signals when we run the dispose.
(e_data_book_view_dispose()): Stop the book view if it is till running
when disposing.
(e_data_book_view_finalize(), unref_dbus_connection_cb()):
Unref the DBus connection in an idle handler.
Reviewed-By: Mathias Hasselmann <[email protected]>
2009-07-30 Robert Peto <[email protected]>
Close wrongly opened dbs before trying to open them again.
* addressbook/backends/file/e-book-backend-file-index.c
(create_index_db()): cut out the creation and setup of DB object into
a separate function.
(e_book_backend_file_index_setup_indicies()): close and recreate the
DB object when trying to open 2nd time to avoid memleak.
* addressbook/backends/file/e-book-backend-file.c
(e_book_backend_file_setup_running_ids()): close and recreate the DB
object when trying to open 2nd time to avoid memleak.
Reviewed-By: Marco Barisione <[email protected]>
2009-07-29 Marco Barisione <[email protected]>
Lock the .changes.db file while using it so that the backup scripts
don't try to save it when it's in an inconsistent state.
* backends/file/e-book-backend-file.c
(e_book_backend_file_get_changes):
Reviewed-By: Jonathon Jongsma <[email protected]>
2009-07-29 Marco Barisione <[email protected]>
Return an error code if an error occurs in
e_book_backend_file_get_changes instead of always returning a success
code.
* backends/file/e-book-backend-file.c
(e_book_backend_file_get_changes):
Reviewed-By: Jonathon Jongsma <[email protected]>
2009-07-29 Mathias Hasselmann <[email protected]>
NB#128596 - Improve robustness of e_contact_date_from_string()
* addressbook/libebook-dbus/e-contact.c (e_contact_date_from_string()):
Use regular expression to accept wider range of date strings and to
improve error detection. Normalize parsed dates to sane values.
Reviewed-By: Xavier Claessens <[email protected]>
2009-07-28 Robert Peto <[email protected]>
Code cleanup.
* addressbook/backends/file/e-book-backend-file.c: Remove global_env
struct and all related methods, since it can cause trouble with the
previously added changes.
e_book_backend_file_setup_running_ids(): cleanup, modify the return
value to int, to be consistent with the libdb functions.
e_book_backend_file_setup_db_env(): refactored from
setup_global_env(), all db_envs are EBookBackendFile specific.
e_book_backend_file_load_source(): follow the "exception pattern",
cleanup object's private variables under the error label in the end
of the function.
e_book_backend_file_dispose(): close the db_env as well.
2009-07-28 Robert Peto <[email protected]>
If the DB environment got corrupted then abort and the next start
remove the corrupted DB, so we can start with an empty one.
(See: NB#114835)
* addressbook/backends/file/e-book-backend-file.c:
file_paniccall(): create a temp file in the db_home of the
environment.
setup_global_env(): create the db_home directory if it does not
exists already, open the env with this directory
e_book_backend_file_maybe_recover(): use this function to check and
recover if needed
e_book_backend_file_load_source(): remove redundant code.
2009-07-22 Robert Peto <[email protected]>
NB#129181 - Edited Contact is not reflected in all contacts view.
* addressbook/backends/file/e-book-backend-file.c (sync_dbs()):
sync id_db when other dbs are synced.
Reviewed-By: Marco Barisione <[email protected]>
2009-07-17 Mathias Hasselmann <[email protected]>
NB#122626 - Normalize attribute values during queries
* addressbook/backends/file/e-book-backend-file-index.c:
Store stripped values in index table.
* addressbook/libebook-dbus/e-book-sexp.c:
Normalize phone numbers for TEL field related queries.
Strip leading and trailing spaces for other attributes.
Reviewed-By: Marco Barisione <[email protected]>
2009-07-16 Mathias Hasselmann <[email protected]>
NB#122626 - Introduce function for normalizing phone numbers.
* addressbook/libebook-dbus/e-book-util.c:
* addressbook/libebook-dbus/e-book-util.h:
Introduce e_normalize_phone_number().
Reviewed-By: Marco Barisione <[email protected]>
2009-07-16 Mathias Hasselmann <[email protected]>
NB#122626 - Move EBookBackendSExp from libebook to cleanup layering.
* addressbook/libebook-dbus/Makefile.am:
* addressbook/libebook-dbus/e-book-sexp.c:
* addressbook/libebook-dbus/e-book-sexp.h:
Add EBookSExp to libebook.
* addressbook/libedata-book-dbus/e-book-backend-sexp.c:
* addressbook/libedata-book-dbus/e-book-backend-sexp.h:
Make EBookBackendSExp a wrapper for EBookSExp.
Reviewed-By: Marco Barisione <[email protected]>
2009-07-15 Robert Peto <[email protected]>
* addressbook/libebook-dbus/e-vcard.c (read_attribute_value()): Skip
soft line breaks ("=\r\n") when parsing QP encoded values.
Reviewed-By: Marco Barisione <[email protected]>
2009-07-14 Robert Peto <[email protected]>
Optimize the check of pre-installed cards. (related to NB#117500)
* addressbook/backends/file/e-book-backend-file.c: Replace the old
md5checksum mechanism with mtime checking.
Reviewed-By: Mathias Hasselmann <[email protected]>
2009-07-13 Robert Peto <[email protected]>
Optimize file-backend's load_source. (related to NB#117500)
* addressbook/backends/file/e-book-backend-file.c: open
running_id db in a separate file, remove priv->index_filename.
* addressbook/backends/file/e-book-backend-file-index.c: open index
dbs in separate files, so in db->open doesn't need to sync them.
Reviewed-By: Mathias Hasselmann <[email protected]>
2009-07-13 Robert Peto <[email protected]>
Fix memory leaks when converting photo types.
* addressbook/libebook-dbus/e-contact.c:
(e_contact_photo_convert_to_inlined(),
e_contact_photo_convert_to_uri()): Free allocated memory in
photo->data.xxx when changing type.
Reviewed-By: Mathias Hasselmann <[email protected]>
2009-07-01 Jonathon Jongsma <[email protected]>
Reviewed by Marco Barisione <[email protected]>
* libedata-book-dbus/e-data-book-factory.c:
(my_remove):
(impl_BookFactory_getBook): don't exit due to inactivity. Under
normal operation on the device, e-d-s should never exit anyway
because addressbook will always be automatically re-started. So
the only thing the exit timeout does is make our lives more
difficult in the case that we are heavily loaded. Fixes NB#112135
2009-06-29 Marco Barisione <[email protected]>
NB#121193 - First and last name show incorrect information from a
Me-card contact in certain conditions.
We used to split long lines encoded in quoted-printable using a soft
line break with a space at the beginning of new lines, i.e. "=\r\n ".
This was breaking some other parsers that were inserting an extra
whitespace instead of ignoring it, so in r570 we switched to use
normal line breaks ("\r\n ").
Some other parsers are not able to parse split lines that don't
terminate with a "=", so this commit switches to use "=\r\n", with no
extra whitespace.
When using base64 we just split using "\r\n " as usual.
* libebook-dbus/e-vcard.c (e_vcard_to_string_vcard_21): use "=\r\n" to
split long lines encoded with quoted-printable.
Reviewed-By: Robert Peto <[email protected]>
2009-06-29 Mathias Hasselmann <[email protected]>
NB#125020 - Contacts doesnt get synced when all data types are synced
from phone to rover.
* addressbook/libebook-dbus/e-book.c (e_book_open(), open_reply()):
* addressbook/libedata-book-dbus/e-book-backend.c (e_book_backend_open()):
* addressbook/libedata-book-dbus/e-data-book.c (DBusMethodReturnBoolData,
dbus_method_return_bool_data_new(), dbus_method_return_bool_data_free(),
idle_dbus_method_return_bool(), e_data_book_respond_open()):
* addressbook/libedata-book-dbus/e-data-book.h (e_data_book_respond_open()):
* addressbook/libedata-book-dbus/e-data-book.xml
(org.gnome.evolution.dataserver.addressbook.Book.open()):
Pass initial writable flag via open call response instead of using a
separate signal to avoid latency and the need for connecting to
writable-status signal.
Reviewed-By: Robert Peto <[email protected]>
2009-06-29 Mathias Hasselmann <[email protected]>
Drop bogus AM_MAINTAINER_MODE.
* configure.in: See summary.
Reviewed-By: Robert Peto <[email protected]>
2009-06-29 Mathias Hasselmann <[email protected]>
Use proper callback for remove-all-contacts call.
* addressbook/libebook-dbus/e-book.c
(e_book_async_remove_all_contacts()): See summary.
Reviewed-By: Robert Peto <[email protected]>
2009-06-29 Mathias Hasselmann <[email protected]>
Various build fixes to make -Werror pass again.
* addressbook/backends/file/e-book-backend-file-index.c
(index_sync()): Mark data argument as immutable.
* addressbook/backends/file/e-book-backend-file.c
(e_book_backend_file_modify_contact()): Initialize db_error.
* addressbook/libebook-dbus/e-book.c
(e_book_remove_all_contacts_fallback(),
remove_all_contacts_get_contacts_cb()): Make g_list_prepend() happy.
* addressbook/libebook-dbus/e-contact.c
(e_contact_photo_convert_to_inlined()): Make g_content_type_guess() happy.
* addressbook/libebook-dbus/e-vcard.c (e_vcard_construct_with_uid()):
Properly return FALSE instead of NULL on error.
Reviewed-By: Robert Peto <[email protected]>
2009-06-26 Mathias Hasselmann <[email protected]>
NB#101759 - Contact editor dialog does not close after tapping on Save
button
* addressbook/libedata-book-dbus/e-data-book-view.c:
Drop thaw_lock and use pending_mutex instead to avoid dead-looks.
Expect for e_data_book_view_thaw() they are identical anyway, and
for the thaw function it's acceptable to wait for pending_mutex.
Turn pending_mutex into a GStaticRecMutex so that we can make sure
to really have the lock in notify_add(). Reuse existing thaw idle
handler to avoid needlessly defering thawing of the book view.
Reviewed-By: Robert Peto <[email protected]>
2009-06-23 Robert Peto <[email protected]>
* addressbook/backends/file/e-book-backend-file.c
(e_book_backend_file_load_source()): Unref bf->priv->index if
running_id couldn't be loaded.
Reviewed-By: Mathias Hasselmann <[email protected]>
2009-06-22 Robert Peto <robert.peto>