684 lines
37 KiB
Plaintext
684 lines
37 KiB
Plaintext
$Id: ChangeLog,v 1.26 2001/11/20 23:26:42 thosch Exp $
|
|
ChangeLog for IC35 communication
|
|
================================
|
|
|
|
2001-11-10 version 1.18.1 (CVS only)
|
|
* ic35mgr.c,mgrtrans.c,mgrtrans.h,mgrproto.h,mgrproto.c: new ic35mgr
|
|
commands "mmcgettree","mmcputtree" for transfer whole directory tree
|
|
contributed by Hans-Michael Stahl <hm.stahl@berlin.de>
|
|
|
|
2001-08-12 version 1.18 IC35LINK-1-18
|
|
long pending release with several improvements and corrections
|
|
according to suggestions and bug reports by users.
|
|
improvements:
|
|
- improved README: table of contents, restrictions, more explanations
|
|
- ic35mgr restore and MMC write 30% faster (proposal by Harald Becker)
|
|
- ic35sync, ic35mgr, vcaconv now support long options, e.g. "--help"
|
|
info enquiry with "--help" or "--version" now returns exitcode 0
|
|
- new autogen.sh script for generate configure etc. after CVS checkout
|
|
(thanks Konrad Mader for report about missing configure in CVS)
|
|
- new configure option "--disable-logandcomsim" for conditional compile
|
|
without logging and com-simulation (proposal by Harald Becker)
|
|
- new configure options "--enable-ansi" and "--enable-pedantic"
|
|
bugfixes:
|
|
- fixed problem where ic35sync with many (ca. 860) addresses failed
|
|
(thanks Konrad Mader for bug report "get_mod_flen failed")
|
|
- ic35sync now accepts also empty PIMfile(s), e.g. empty ic35.memo
|
|
(thanks Malte Schmidt for bug report "ic35.memo: parse error")
|
|
- ic35mgr MMCard functions now check ic35path before accessing IC35
|
|
e.g. warn if shell eat backslash (\) in unquoted MMCard1\test.txt
|
|
(thanks Thomas Lichtenberg for bug report)
|
|
- restricted ic35mgr to max.blocksize 16350 found by experiments
|
|
- ic35sync, ic35mgr now abort on open failure of logfile or simfile
|
|
- fixed com-simulation for adjacent "RD nn" lines and non-logged bytes
|
|
- fixed compile problem util.c with Linux Mandrake-8.0 and SuSE-7.2
|
|
(thanks Christian Theile, Karl Stroetmann for bug reports)
|
|
- corrected warnings from "--enable-ansi" and "--missing-prototypes"
|
|
- fixed all Makefile.am: maintainer-clean keeps only sources in CVS,
|
|
install also README and COPYING, clean dependencies and versinfo.c
|
|
2001-08-12_05
|
|
* Makefile.am: maintainer-clean delete also INSTALL, as not in CVS
|
|
* autogen.sh: clearified CONFIGURE_FLAGS and NOCONFIGURE
|
|
* README: didactic reordering, explain autogen.sh maintainer-mode,
|
|
initial test with 'ic35sync status', tested some more platforms
|
|
2001-08-02_22
|
|
* autogen.sh: new script for generating configure and Makefile.in etc.
|
|
thanks Konrad Mader <konrad.mader@gmx.de> for problem report about
|
|
configure missing in CVS
|
|
* README: explain when and how to use autogen.sh
|
|
2001-06-18_01 version 1.17.6 (CVS only)
|
|
* synproto.c: timeout 2.0 sec for L1-ack1 response on L1-command
|
|
thanks Konrad Mader <konrad.mader@gmx.de> for bug report where
|
|
sync of ca. 860 addresses caused "get_mod_flen failed"
|
|
2001-06-09_11
|
|
* util.c: explicitely #include <time.h>, as using localtime() etc.
|
|
thanks Christian Theile <ch_theile@gmx.de> for bug report with
|
|
Mandrake 8.0 gcc 2.96
|
|
2001-03-03_04
|
|
* ic35mgr.c,comio.c,comio.h: new option "--nice=NICEVAL" to lower
|
|
process priority with restore,mmcput, default "--nice=2", works
|
|
like builtin 'nice -n 2 ic35mgr mmcput ..", see nice(1).
|
|
(proposal from Harald Becker)
|
|
2001-03-02_02 version 1.17.5 (CVS only)
|
|
* configure.in,README: new configure option "--disable-logandcomsim"
|
|
(proposal from Harald Becker)
|
|
* ic35sync.c,dataio.c,databin.c,datavca.c,ic35frec.c,syntrans.c,
|
|
ic35mgr.c,mgrtrans.c,mgrproto.c,comio.{c,h},util.{c,h}:
|
|
conditional compile for logging and com-simulation (default enabled)
|
|
* ic35sync.c,ic35mgr.c,comio.c,util.c:
|
|
log_init(),com_siminit() abort program on failure opening file
|
|
* util.{c,h}: new fatal() reports error message and aborts program
|
|
2001-02-22_05
|
|
* datavca.c bugfix: accept also empty PIMfile(s), e.g. empty ic35.memo
|
|
ic35sync creates empty ic35.memo if IC35 has no memo records, and
|
|
next call ic35sync complained "vCard/vCal "ic35.memo": parse error"
|
|
(thanks Malte Schmidt for bug report)
|
|
* README: explain 1..3 PIMfiles, more details about export,import,sync
|
|
2001-02-19_19
|
|
* comio.c: com_sendw() delay with busy wait instead of interval timer
|
|
increased write MMCard file throughput to 1740 b/s (with 2kB blocks)
|
|
(thanks Harald Becker)
|
|
* ic35mgr.c: max.blocksize 16350 for MMC read/write found by experiments
|
|
* mgrproto.c: timeout 5.0 sec for response length needed with big blocks
|
|
2001-02-19_02 version 1.17.4 (CVS only)
|
|
* ic35mgr.c: MMCard functions now check ic35path before accessing IC35
|
|
(thanks Thomas Lichtenberg for bug report)
|
|
* comio.c: fixed com_simrecv() adjacent "RD nn" lines, non-logged bytes
|
|
* README: remarks about install-strip and uninstall
|
|
* all Makefile.am: maintainer-clean keeps only sources under CVS
|
|
* .cvsignore,src/.cvsignore: added missing config.log, programs, .deps
|
|
2001-02-17_21 version 1.17.3 (CVS only)
|
|
* ic35sync.c,ic35mgr.c,vcaconv.c: support long options, e.g. "--help"
|
|
info enquiry with "--help" or "--version" now returns exitcode 0
|
|
* ic35sync.c,ic35mgr.c,comio.h,comio.c,util.h,util.c:
|
|
error exit on open failure of logfile or simfile
|
|
* README: 'configure --enable-ansi' is ok, warning '--enable-pedantic'
|
|
successful tests on some more platforms (thanks Thomas Lichtenberg)
|
|
restrictions of ic35sync and ic35mgr
|
|
* configure.in: pass revision info to configure
|
|
* Makefile.am: install also README and COPYING
|
|
* src/Makefile.am: clean dependencies and versinfo.c
|
|
2001-02-10_04 version 1.17.1 (CVS only)
|
|
* configure.in: separate "ansi" and "pedantic" gcc compile options
|
|
* ic35sync.c,ic35mgr.c,datavca.c,port.h,vcc.y,comio.c:
|
|
corrected warnings from "-ansi" compile
|
|
* util.c,util.h,comio.c,comio.h:
|
|
local substitutes for functions missing with "-ansi" compile
|
|
2001-02-07_04
|
|
* configure.in: more compile warnings with "--missing-prototypes"
|
|
* databin.c,mgrtrans.c,vcc.y,vobject.c:
|
|
corrected warnings from "--missing-prototypes"
|
|
* README: table of contents, warning about 'configure --enable-ansi'
|
|
|
|
2001-02-05_03 IC35LINK-1-17
|
|
package renamed to "ic35link" and automake/autoconf/CVS reorganization.
|
|
no changes in sources, programs are unchanged except for version (and
|
|
except for compile with -O2 instead of -O due to automake/autoconf).
|
|
new files:
|
|
NEWS release information
|
|
AUTHORS authors
|
|
THANKS contributors
|
|
configure.in input for autoconf to create configure
|
|
Makefile.am input for automake to create Makefile.in
|
|
.cvsignore topdir CVS ignore patterns
|
|
doc/ subdirectory with documentation
|
|
doc/Makefile.am input for automake to create doc/Makefile.in
|
|
doc/.cvsignore CVS ignore patterns
|
|
src/ subdirectory with sources
|
|
src/Makefile.am input for automake to create doc/Makefile.in
|
|
src/.cvsignore CVS ignore patterns
|
|
|
|
2001-02-04_02 IC35SYNC-1-16
|
|
this is a bugfix and redesign release and is the last named "ic35sync".
|
|
(the package will be renamed to "ic35link" in the next release, when
|
|
the reorganizations for automake/autoconf and public CVS are done.)
|
|
improvements and redesign:
|
|
- ic35sync,ic35mgr,vcaconv now report package version and build info
|
|
- distribution includes vcc.c to handle missing/bad 'bison' or 'yacc'
|
|
(e.g. SuSE-7.0's yacc produced bad vcc.o, thanks Michael Bruennert)
|
|
- reworked and clearified the IC35 manager protocol documentation and
|
|
implementation (see ic35mgr.txt, mgrtrans.*, mgrproto.*), refer to
|
|
the IC35 SoftwareDevelopmentKit API MMCard functions in mgrproto.c
|
|
bugfixes in ic35mgr and ic35sync:
|
|
- fixed compile error RedHat-7.0 gcc-2.96 (thanks Dieter Schultschik)
|
|
- corrections for 'ic35mgr status' (thanks Michael Bruennert):
|
|
mgrtrans.c:status() tries to get IC35 response instead of only wait
|
|
mgrproto.c:MMCsend() sends blocklength with initial wait
|
|
corrected output of MMCard2 label
|
|
- ic35mgr commands backup and restore show error messages on new line
|
|
- avoid failing 'ic35mgr restore ..' at "disconnect" by delay 3.25 sec
|
|
after writedatabase() done
|
|
- avoid failure of 'ic35mgr mmcput file' with occasional slow IC35
|
|
MMCard write with 3.5 sec timeout for length of response block
|
|
- corrected MMC closedir,closefile response PDUs having no status-word
|
|
- corrected to make 'ic35sync status' work also with simulation file
|
|
2001-02-04_01
|
|
* ic35sync.c,ic35mgr.c,vcaconv.c,Makefile:
|
|
import version info from auto-generated "versinfo.c"
|
|
all programs now report the common package version
|
|
* util.{c,h}: new log_proginfo(),log_argsinfo() used
|
|
by ic35sync.c,ic35mgr.c for initial info in logfile
|
|
* ic35sync.c: corrected com_siminit() before status command
|
|
* Makefile: include vcc.c in distribution to avoid bison/yacc problems
|
|
2001-02-03_20
|
|
* mgrproto.h,mgrtrans.h: moved MMC file attributes and open modes
|
|
from mgrtrans.h to mgrproto.h as needed for MMCxxxx() functions
|
|
* mgrproto.c,mgrtrans.c: common conversions functions for FILE_INFO
|
|
import FIDENSZ for accurate size of FILE_IDEN from IC35 SDK Mmc.h
|
|
* ic35mgr.txt: incorporated protocol corrections due to experience
|
|
2001-01-30_01
|
|
* mgrproto.c: need 3.5 sec timeout for length of response block
|
|
2001-01-29_13
|
|
* fixed compile error gcc-2.96 RedHat-7.0 (thanks Dieter Schultschik):
|
|
synproto.c now passes 'int' instead of 'ushort to 'va_arg', because
|
|
`short unsigned int' is promoted to `int' when passed through `...'
|
|
* mgrproto.h,mgrproto.c,mgrtrans.c:
|
|
new MMCard command functions MMCxxxx() replace sendmcmd(),recvmcmd()
|
|
for better prototype check and avoid the gcc-2.96 RedHat-7.0 problem
|
|
refer to IC35 SoftwareDevelopmentKit API MMCard functions
|
|
* synproto.c,mgrproto.c,ic35frec.c offsetof,alenof macros now in util.h
|
|
2001-01-27_05
|
|
* bugfix "ic35mgr status" (thanks to Michael Bruennert):
|
|
mgrtrans.c:status() tries to get IC35 response instead of only wait
|
|
mgrproto.c:MMCsend() sends blocklength with initial wait
|
|
ic35mgr.c: corrected MMCard2 label output
|
|
* ic35mgr.c,util.{c,h}: extracted _not_impl() to util.{c,h}
|
|
2001-01-25_05
|
|
* mgrtrans.c,mgrproto.c,ic35mgr.txt:
|
|
corrected: closedir,closefile response PDUs do not have status-word
|
|
* mgrtrans.c: backup,restore show error messages on new line
|
|
writedatabase() delays 3.25 sec to avoid failure in mdisconnect()
|
|
* mgrtrans.c,mgrproto.c,mgrproto.h,genproto.h:
|
|
reorganized manager protocol, new Mcmdrsp(),Msendblk(),Mrecvblk()
|
|
* ic35mgr.txt: described and incorporated basic protocol operations
|
|
2001-01-21_21
|
|
* genproto.c,genproto.h,Makefile,README:
|
|
new module genproto.{c,h} - general IC35 protocol support
|
|
* synproto.c,mgrproto.c: import PDU encode/decode with genproto.h
|
|
* syntrans.c,mgrtrans.c: import general welcome() with genproto.h
|
|
|
|
2001-01-20_03 IC35SYNC-1-15
|
|
new IC35 manager 'ic35mgr' supports access of IC35 MMCard(s)
|
|
- command "mmcdir" lists contents of MMCard(s)
|
|
- commands "mmcget","mmcput","mmcdel" read,write,delete MMCard file
|
|
- commands "backup","restore" IC35 organizer database
|
|
- ic35mgr.txt now really describes the IC35 manager protocol
|
|
(previously it was just extracts of Windows 'portmon' logfiles)
|
|
bugfixes in ic35sync and vcaconv:
|
|
- "ic35sync sync" now updates record if on IC35, else writes new record
|
|
- "vcaconv sortvca ic35.vcal" did produce empty output, fixed vobject.c
|
|
- fixed vcc.y compile warnings
|
|
- "vcaconv sortvca .." improved: shows properties in sort order sequence
|
|
todo:
|
|
- ic35mgr install application on IC35
|
|
- ic35sync initial sync does not yet write all records to IC35
|
|
workaround: do "ic35sync import .." before first "ic35sync sync .."
|
|
* ic35mgr.c: fixed compile warning with unused _not_impl()
|
|
2001-01-18_02
|
|
* comio.{c,h},mgrproto.c,mgrtrans.c:
|
|
new com_sendw() - send datablock with waiting (for slow MMCard ops)
|
|
com_send() does send without delays at full speed
|
|
* mgrtrans.c: status() needs 10 msec delay to let IC35 get ready
|
|
2001-01-17_05
|
|
* ic35mgr.c,mgrtrans.c:
|
|
implemented "restore" IC35 organizer database from file, tested OK
|
|
2001-01-16_05
|
|
* ic35mgr.c,mgrtrans.h,mgrtrans.c:
|
|
implemented "backup" IC35 organizer database to file, tested OK
|
|
* ic35mgr.txt: corrected details IC35 backup: head retry, last ack resp
|
|
2001-01-14_23
|
|
* README: IC35 manager modules and usage, short section "programs"
|
|
2001-01-14_22
|
|
* comio.c: com_send() using interval timer for delay increased
|
|
write MMCard file throughput to 1350 b/s (with 2kB blocks)
|
|
2001-01-14_01
|
|
* ic35log.sh: new option "-s n" - prepend output with 1:line 2:time
|
|
CAVEAT: "-s n" does not work for "-lsyn2", "-lsyn4"
|
|
* Makefile: added missing ic35log,ic35mgr to "all" target
|
|
2001-01-13_04
|
|
* comio.c: made "mmcput" faster with 2 stopbits and delay every 29 bytes
|
|
improved write MMCard to 890 b/s default 2kB blocks (930 b/s with 5kB)
|
|
err.corr com_recv,comsend: handle un-opened com_fd to avoid segfault
|
|
RCS branch 1.4.1 with experiments for throughput
|
|
RCS branch 1.3.1 with com_simrecv() non-logged bytes (yet erroneous)
|
|
2001-01-12_22
|
|
ic35mgr "mmcget", "mmcput", "mmcdel" commands tested OK with IC35
|
|
* ic35mgr.c,mgrtrans.h,mgrtrans.c,mgrproto.h,mgrproto.c:
|
|
implemented "mmcput" - write file to IC35 MMCard, tested OK (but slow)
|
|
implemented "mmcdel" - delete file on IC35 MMCard, tested OK (fast ;-)
|
|
additional 'mode' parameter for mmc_openfile(),sendmcmd(MCMDopenfile,)
|
|
* ic35mgr.c: new option "-b size" - read/write blocksize (for tests)
|
|
corrected mmcget,mmcput show progress: space to separate errormessage
|
|
* mgrproto.c: log checksum error in MPDUsend(),MPDUrecv() for diagnostic
|
|
* ic35mgr.txt: MMCard operations for write file, delete file
|
|
table of contents, table of MMCard operation functions and codes
|
|
moved logfile reference to end, removed hacked log extracts
|
|
read MMCard file throughput 2250 b/s with default 5kB blocksize
|
|
write MMCard file throughput 590 b/s default 2kB (610 b/s with 5kB)
|
|
2001-01-10_02
|
|
* ic35mgr.c: mmcget,mmcput without 'file' arg derive it from ic35path
|
|
mmcget converts ic35path lowercase to uppercase, translate '/' to '\'
|
|
mmcget shows file transfer progress every 5kB read data
|
|
2001-01-09_05
|
|
* ic35mgr.c,mgrtrans.h,mgrtrans.c,mgrproto.h,mgrproto.c:
|
|
implemented "mmcget" - read file from IC35 MMCard, tested OK
|
|
* mgrproto.c: MPDUrecv() needs receive timeout increased to 2.0 sec
|
|
2001-01-08_03
|
|
ic35mgr "mmcdir" corrected and tested OK with IC35
|
|
* ic35mgr.c: mmcdir output to stdout for simpler redirect to file
|
|
mmcdir output also MMC file attribute, do not read IC35 status data
|
|
* mgrtrans.c: status() must always send '\x50' to init IC35,
|
|
status() optionally reads status data, fixed typo mmctstampstr()
|
|
* mgrproto.c: reduced MAXRETRY to 5 for MPDUsend(),MPDUrecv()
|
|
corrected retry protocol MPDUsend(), 10 sec timeout nn_nn response
|
|
err.corr sendmcmd(): puttxt0() append trailing '\0' to dirpath in pdu
|
|
* comio.c: delays 100 usec before send every 16th byte (slow MMCard ops)
|
|
* comio.c,comio.h: com_settimeout() return previous timeout
|
|
* ic35mgr.txt: details about MMCard ops filestatus block from IC35 SDK
|
|
read status data from IC35 is optional, initial send 50 is mandatory
|
|
negative acknowledge in MMCard operations protocol
|
|
2001-01-07_06
|
|
* ic35mgr.c,mgrtrans.h,mgrtrans.c,mgrproto.h,mgrproto.c:
|
|
implemented directory listing of MMCard(s), tested OK with simulation
|
|
corrected max.length of MMC label to 11 chars (IC35 SDK API Ref.Guide)
|
|
* mgrtrans.c: corrected mdisconnect(): send 09 recv 90, send 01 recv 90
|
|
mconnect() reads IC35 status only if statfname specified, log mconnect
|
|
problem: MMCard(s) directory listing does not work with IC35,
|
|
checksum error / timeout on send command get directory length
|
|
uncertain if read IC35 status data needed in ic35mgr.c:ic35mmcdir()
|
|
2001-01-04_07
|
|
* ic35mgr.txt: description of MMCard operations and backup,restore
|
|
* ic35mgr.c,mgrtrans.h,mgrtrans.c,mgrproto.h,mgrproto.c,Makefile
|
|
first version of IC35 Manager, "status" command working with IC35
|
|
* syntrans.c: removed not needed headers <time.h>,"dataio.h"
|
|
2001-01-01_20
|
|
* ic35mgr.c: framework for (yet non-functional) IC35 Manager commands
|
|
2000-12-31_18
|
|
* vcc.y: corrected compile warnings about unused functions
|
|
fixed yacc/bison warning: %expect 2 shift/reduce conflicts for "items"
|
|
use YYERROR_VERBOSE for parse error reports, disabled useless YYDEBUG
|
|
* vobject.c: correct delList(): return removed vobj even if first
|
|
* vcaconv.c: improved "sortvca": show properties in sort order sequence
|
|
sort todo by due-time,summary, memo by summary,modify-time
|
|
compare date+time independant of encoding
|
|
* ic35sync.c: corrected "sync": update record if on IC35, else write new
|
|
|
|
2000-12-28_04 IC35SYNC-1-14
|
|
ic35sync import,sync step-5 done: "sync" command, misc. improvements
|
|
- sync command for synchronize vCard,vCalendar format PIMdata with IC35
|
|
- corrected convert of PIM BDAY birthday to IC35 for yyyy-mm-dd format
|
|
- PIM multiple CATEGORIES now preserved by prepend category from IC35,
|
|
single or standard of multiple CATEGORIES are replaced
|
|
- PIM fullname FN now preserved, IC35 updates first,last name into it
|
|
- put first 2 EMAIL entries from vCard into IC35 address Email1,Email2
|
|
- put unspecific telno to IC35 TelWork for "Business", else to TelHome
|
|
- map IC35 address "(def.)"s in VCARD.NOTE marked "(def1):","(def2):"
|
|
- conversion IC35 to/from PIM record does now yet delete record fields
|
|
- extracted data formats from dataio.c into separate modules:
|
|
datatxt.c text format (output only)
|
|
databin.c binary IC35 record format
|
|
datavca.c vCard,vCalendar format
|
|
vcutil.c vCard,vCalendar utilities
|
|
vcutil.h header for vCard,vCalendar utilities
|
|
fixes for gnomecard from gnome-pim_1.2.0:
|
|
- compare VCARD.REV against old reference date+time from IC35, because
|
|
gnomecard does not maintain X-PILOTSTAT.
|
|
- write VCARD.REV:yyyy-mm-ddThh:mm:ss, because yyyymmddThhmmss was
|
|
ignored by gnomecard.
|
|
fixes for gnomecal from gnome-pim_1.2.0:
|
|
- first line of VEVENT.SUMMARY to/from IC35 Summary, remaining lines
|
|
to/from Notes, because gnomecal does not support VEVENT.DESCRIPTION
|
|
- keep unsupported property VTODO.DTSTART marked in VTODO.DESCRIPTION
|
|
- add VEVENT,VTODO.CLASS:PUBLIC, else gnomecal would crash on edit
|
|
fixes for korganizer v1.1.1:
|
|
- put UID:IC35id-xxxxxxxx to vCard,vCalender record if no UID there.
|
|
- produce output vCard,vCal in same CRLF/NL-mode as found on input,
|
|
as korganizer has NL-terminated lines in vCalendar.
|
|
- translate IC35 CRLF to/from PIM NL in NOTE and DESCRIPTION fields.
|
|
- keep unsupported properties VTODO.DTSTART,DUE,CATEGORIES as marked
|
|
lines in VTODO.DESCRIPTION
|
|
- korganizer supports only DALARM, map IC35 LED and Beep to/from it
|
|
vcaconv extensions:
|
|
- command "prvca" reports vCard/vCalendar parse error.
|
|
- command "sortvca" outputs sorted vCard,vCalendar to standard output.
|
|
- command "imphandy" appends vCards with category HANDY from vCard file
|
|
to standard output, after import the result back into IC35 they are
|
|
for upload to a mobile phone from IC35 addresses in category HANDY.
|
|
CAVEAT:
|
|
- no options for sync conflict resolve, PIMfile always overrides IC35!
|
|
- IC35 has no different times for LED,Beep alarm, DALARM takes priority
|
|
- vcaconv conversions do not transfer clean/modified record status
|
|
- memory leak in vobject.c: all setVObject_*_Value() do not free the
|
|
previously attached dupStr()-allocated string value
|
|
* datavca.c,vcutil.{c,h}: support delete empty fields IC35 to/from PIM
|
|
* vobject.c: correct delList(), delete (only) first in property list
|
|
2000-12-27_21
|
|
* comio.c: for simulate do not set DTR, allow "RDx" in simulation file
|
|
* datavca.c,vcutil.c,vcutil.h:
|
|
extracted vCard,vCal utilities from datavca.c to vcutil.c,vcutil.h
|
|
new clr_vobjdirty(),SetModtimeIfdirty() for vCard,vCal modified time
|
|
* vcaconv.c: use vCard,vCal utilities vcutil.c
|
|
2000-12-27_01
|
|
* datavca.c: correct vca_set_recid(): update UID if "IC35id-xxxxxxxx"
|
|
2000-12-26_04
|
|
* datavca.c: fixes for gnomecal,korganizer
|
|
gnomecal does not support VTODO.DTSTART, keep in VTODO.DESCRIPTION
|
|
avoid gnomecal crash on edit by add VTODO,VEVENT.CLASS:PUBLIC
|
|
add VTODO,VEVENT.CLASS:PUBLIC, else gnomecal crashes on edit
|
|
korganizer supports only DALARM, map IC35 LED and Beep to/from it
|
|
* dataio.c,dataio.h,databin.c,datatxt.c,datavca.c:
|
|
fix open,close logic: new argument mode=r/w/r+ for xxx_open()
|
|
* dataio.c: no need to keep filenames
|
|
2000-12-25_17
|
|
* ic35sync.c: initial "sync" with empty PIM must export all IC35 recs
|
|
* datavca.c: fixes for korganizer and gnomecal
|
|
korganizer does not support VTODO.DTSTART,DUE,CATEGORIES, keep them
|
|
as marked lines in VTODO.DESCRIPTION
|
|
gnomecal does not support VEVENT.DESCRIPTION, keep the first line
|
|
of VEVENT.SUMMARY in IC35 S_Summary, more lines in S_Notes
|
|
* IC35 address fields with marks "(def1):","(def2):" to/from VCARD.NOTE
|
|
* README: added installation, usage, disclaimer sections
|
|
* Makefile: added COPYING (GPL) to distribution
|
|
2000-12-23_19
|
|
* datavca.c: default CLRF mode for output CRLF-terminated vCard,vCal
|
|
unspecific telno to IC35 TelWork for "Business", else to TelHome
|
|
replace single or standard of multiple categories, else prepend
|
|
new _vca_type() centralizes/simplifies vCard,vCal record type detect
|
|
* vcaconv.c: corrected "imphandy" to skip non-digit telno separators
|
|
2000-12-23_15
|
|
* dataio.{c,h},Makefile: extracted data formats into separate modules
|
|
datatxt.c text format (output only)
|
|
databin.c binary IC35 record format
|
|
datavca.c vCard,vCalendar format
|
|
* fixed problem with korganizer: translate IC35 CRLF to PIM NL in NOTEs
|
|
* fixed SIGSEGV in SetCategory()
|
|
2000-12-22_01
|
|
* dataio.c,vcc.y,vobject.c,vobject.h:
|
|
fixed problem with korganizer, has NL-terminated lines in vCalendar
|
|
produce output vCard,vCal in same CRLF/NL-mode as found on input
|
|
2000-12-21_22
|
|
* dataio.c: corrected some conversions IC35 to/from PIM
|
|
conversion to IC35 of PIM BDAY birthday failed with yyyy-mm-dd format
|
|
PIM multiple CATEGORIES now preserved by prepend category from IC35
|
|
PIM fullname FN now preserved, IC35 updated first,last name into it
|
|
* vcaconv.c: "sortvca" now sorts VObject property lists to ease tests
|
|
corrected "imphandy": created vCards lacked REV revised time
|
|
2000-12-21_15
|
|
improved reference date+time from IC35:
|
|
* syntrans.{c,h},ic35sync.c: ReadSysInfo() and WriteSysInfo() replace
|
|
old get_date_time(),set_date_time(), names like IC35Comm.dll
|
|
* dataio.{c,h},ic35sync.c: new set_oldic35dt() and get_newic35dt()
|
|
to convert IC35 old/new reference date+time to/from internal
|
|
fixes for gnomecard from gnome-pim_1.2.0:
|
|
* dataio.c: compare VCARD.REV against old reference date+time from IC35
|
|
because gnomecard does not maintain X-PILOTSTAT
|
|
write VCARD.REV:yyyy-mm-ddThh:mm:ss, because yyyymmddThhmmss was
|
|
ignored by gnomecard
|
|
2000-12-21_03
|
|
* vobject.{c,h},dataio.c: delList(),delProp() do not cleanVObject()
|
|
* fixed SEGV: dataio.c:_backup_and_openwr, ic35frec.c:_del_ic35recbuffs
|
|
* dataio.c: correct vcard_to_ic35addr(): 1st/2nd EMAIL to A_Email1/2
|
|
* vcaconv.c: new command "sortvca" - sort vCard,vCal file to stdout
|
|
new command "imphandy" - import vCards for upload to handy telbook
|
|
2000-12-19_02
|
|
* syntrans.c: set_date_time() reports set sysinfo
|
|
* ic35frec.c: set_ic35recdata(NULL,0) clears record-,field-buffers
|
|
* ic35frec.h: added IC35 record change flag definitions
|
|
* dataio.c: use IC35 record change flag definitions
|
|
correct vca_open(): handle empty vCal file, report parse error
|
|
(e.g. empty vCal file makes "sync" delete all IC35 records!)
|
|
ic35xxx_to_vyyy(): put UID to record if not there, korganizer needs
|
|
support pim_delrec(), vca_delrec() uses new delProp(),delList()
|
|
* vobject.{c,h}: support delete property from vobj, vobj from list
|
|
* vcaconv.c: command "prvca" reports vCard/vCal parse error
|
|
(cannot use pim_openinp() like other commands, as pim_getrec()
|
|
skips the VCALENDER property from vcafile with vCalender only.)
|
|
* ic35sync.c: implemented "sync" command as ic35sync(),syncfile()
|
|
importfile() collects IC35 actions, report num.of write/update/commit
|
|
CAVEAT: no conflict resolve options, PIMfile always overrides IC35!
|
|
|
|
2000-12-17_21 IC35SYNC-1-13 not released to public
|
|
ic35sync import,sync step-4 done: "import" command, misc. improvements
|
|
- algorithm details described in ic35sync.c:ic35import(),ic35export()
|
|
- import command for vCard,vCalendar or binary format PIMdata into IC35
|
|
- status command (new) shows IC35 version, sysinfo, total,mod records
|
|
- export command improved:
|
|
export into existing PIMfile(s), backup e.g. ic35vcal to ic35.vcal~
|
|
map IC35 address fields "(def.)" to/from VCARD:NOTE marked lines
|
|
change vCard,vCalendar record modified time only if record changed
|
|
support DCREATED in vCalendar: creation time of VEVENT,VTODO record
|
|
corrected VEVENT:AALARM,DLARM, were sometimes wrongly created
|
|
- support X-PILOTSTAT in vCard,vCal: 0=same, other=changed vs. IC35
|
|
- default format changed to "vca" for primary use vCard,vCalendar
|
|
- vcaconv may be used as filter with input/output from stdin/stdout
|
|
- fixed QUOTED-PRINTABLE problem with multi-field properties (like
|
|
VCARD:N, VCARD:ADR): due to problem with parser vcc.y and for
|
|
compatibility with other programs using the vCard,vCal output
|
|
QUOTED-PRINTABLE is not used on multi-field properties.
|
|
(otherwise the split into field sub-properties fails and the
|
|
first field (e.g. VCARD:ADR:STREET) gets the string of ALL the
|
|
fields (e.g. STREET,CITY,etc.) with ";" within it.)
|
|
todo: sync command, fix memory leak in vobject.c
|
|
conversion IC35 to/from PIM record does not yet delete record fields,
|
|
i.e. record on destination may differ and have fields not in source.
|
|
may be delete field needed only for sync, because import/export are
|
|
specified to not delete on destination.
|
|
* ic35sync.c,syntrans.c,synproto.c: support new "status" command
|
|
2000-12-17_08
|
|
* dataio.c: attach CHARSET to toplevel prop (e.g. VCARD:N, VCARD:ADR)
|
|
do not use QUOTED-PRINTABLE on e.g. VCARD:ADR due to parser problem
|
|
move IC35 address "(def.)" fields with markers to/from VCARD:NOTE
|
|
corrected for "vcaconv bin2txt .." conversion to standard output
|
|
corrected StringValue(): handle C and Unicode string values
|
|
ignore harmless LED,Beep, Start,EndTime differences (xxx_cmpic35rec)
|
|
log pimfile open,close operations
|
|
* ic35sync.c: default format now "vca", log ic35sync command line
|
|
corrected importfile(): commit was too often (vca) or not done (bin)
|
|
CAVEAT: delete field in convert vCard,vcal to/from IC35 not supported,
|
|
i.e. record on destination may differ and have fields not in source
|
|
2000-12-15_23
|
|
* ic35sync.c: re-designed import, commented import,export algorithms
|
|
compare all PIMrecs with IC35 and do commit/update/write to IC35
|
|
do not set sysinfo (date+time) if any IC35 record not in PIMfile
|
|
do not commit record on IC35 if not in PIMfile
|
|
use new _xxx_ic35recs() for records from IC35
|
|
* vcaconv.c,dataio.c: optionally use stdin/stdout to act as filter
|
|
* dataio.c: set vCard,vCal record modified-time only if record changed
|
|
added bin_cmpic35rec() - compare record from IC35 with binary record
|
|
corrected _ChangeString(): handle C and Unicode string values
|
|
fixed memory leak: pim_close() calls inpfmt close to free record list
|
|
2000-12-14_23
|
|
* dataio.c:
|
|
ignore categoryIDs, repeat fields if no repeat (vca_cmpic35rec)
|
|
corrected bin_open(): start with binlist after bin_rewind()
|
|
corrected vca_open(): must add all memo records separately to vcalist
|
|
corrected VCARD:FN space in fullname only if FirstName AND LastName
|
|
new bin_updic35rec() for pim_putrec() with e.g. "vcaconv bin2txt .."
|
|
* vcaconv.c: re-designed for generic PIM operations in dataio.c
|
|
2000-12-14_00
|
|
* ic35sync.c: corrections and improvements in importfile():
|
|
must always update_frec() owner address data with recid=05000001,
|
|
otherwise on IC35 in category "Address", but not as owner data
|
|
write back recordID and CLEAN status to PIM only if write to IC35 OK
|
|
fix memory leak: release newly created ic35rec
|
|
shorten progress,error messages of import and export commands
|
|
pim_cmpic35rec() params were swapped, close IC35 file after error
|
|
* dataio.{c,h}: prepare for vcaconv with generic operations pim_xxx()
|
|
pim_getrec() with fileid FILE_ANY=0 to get next record from any file
|
|
pim_putrec() converts inpfmt record to pimfmt and writes to outfile
|
|
pim_openinp() opens file for input and sets new inpfmt
|
|
pim_openout() opens file for output and sets pimfmt
|
|
removed old put_record(),_get_binrec(),_get_vcarec()
|
|
CAVEAT memory leak: record list from pim_openinp() not freed
|
|
2000-12-12_06
|
|
* dataio.{c,h}: support DCREATED creation time of VEVENT,VTODO record
|
|
support X-PILOTSTAT in vCard,vCal: 0=same, other=changed vs. IC35
|
|
generic operations pim_xxx(), use function tables per format
|
|
ic35xxx_to_vyyy() update existing instead of create vCard,vCal record
|
|
read from existing pimfile(s), so that "ic35sync export" preserves
|
|
corrected ic35sched_to_vevent(): create VEVENT:AALARM,DALARM only
|
|
if S_AlarmBefore is non-zero, S_Alarm_Repeat may be absent and thus
|
|
AlarmNoLED,AlarmNoBeep misleading
|
|
* syntrans.{c,h}: readfile() extracted to ic35sync.c:exportfile()
|
|
* ic35sync.c: implemented "import" command as ic35import(),importfile()
|
|
stub for "sync" command ic35sync(),syncfile(), yet non-functional
|
|
CAVEAT: memory leak in vobject.c: all setVObject_*_Value() do not free
|
|
previously attached dupStr()-allocated string value
|
|
dataio.c lacks some bin_xxx operations for import from binary format
|
|
delete PIM-record not supported yet, missing support in vobject.c
|
|
|
|
2000-12-07_04 IC35SYNC-1-12 not released to public
|
|
ic35sync import,sync step-3 done: convert vCard,vCal to IC35 record
|
|
* dataio.c: convert vCard,vCal to IC35 record vxxxx_to_ic35yyyy()
|
|
correct ic35addr_to_vcard(): set VCAdrProp if have any address field
|
|
* dataio.{c,h}: export vCard,vCal to IC35 conversion as _get_vcarec()
|
|
* ic35frec.c: corrected errors found with vCard,vCal to IC35 conversion
|
|
* vcaconv.c: support "vca2bin", new "bin2txt" conversions
|
|
* ic35sync.c: renamed ic35sync() to ic35export(), as that's what it does
|
|
stubs ic35import(), ic35sync() for un-implemented functions
|
|
connect() argument rdtime to retrieve value from IC35
|
|
2000-12-03_23
|
|
* ic35sync.txt: marked uncertain topics with "???"
|
|
experiments found new commands: read record by record-ID (01 05)
|
|
and write record data update (01 09), keeps recID on IC35 unchanged
|
|
* syntrans.{c,h},synproto.{c,h}: implemented new commands
|
|
read record by record-ID and write updated record data
|
|
* ic35log.sh: support new commands readrecrid,updatrec
|
|
2000-12-02_07
|
|
ic35sync import,sync step-2 done:
|
|
- new protocol functions for import,sync tested OK
|
|
- new knowledge about import,sync from experiments
|
|
todo: vCard,vCal to IC35 record, commands import,sync
|
|
* synproto.c: corrected CMDfgetmlen, CMDcategory, CMDsetdtime
|
|
* syntrans.{c,h}: connect() argument rdtime to retrieve value from IC35
|
|
* vcaconv.c,dataio.c: handle binfile records without data
|
|
* ic35log.sh: process ic35sync logfiles, fragmented response readmodrec
|
|
* ic35sync.txt: new knowledge about open file, changeflag, write record
|
|
first all read then write,del,commit, "date+time" may be any string
|
|
|
|
2000-12-01_20 IC35SYNC-1-11 not released to public
|
|
intermediate freeze after ic35sync import,sync step-1 done:
|
|
- new functions: set_date_time, category, get_mod_flen, read_mod_frec,
|
|
write_frec, delete_frec, commit_frec
|
|
- IC35 record access functions ic35frec.{c,h}
|
|
- 4byte record-ID combined from file-id (MSB) and record-id (LSW)
|
|
- support last-modified-time for vCard,vCalendar
|
|
- protocol-analyser ic35log.sh replaces and extends ic35prot.awk
|
|
todo: test new funcs, vCard,vCal to IC35 record, commands import,sync
|
|
* dataio.c: use 4byte record-ID in binary format
|
|
* ic35sync.c: IC35 file descriptions now from "ic35frec.h"
|
|
2000-12-01_19
|
|
* ic35sync.txt,ic35frec.h: comment max.lengths of record fields
|
|
* dataio.c,syntrans.c,ic35frec.{c,h}:
|
|
hide ic35 file description internals, use acces functions
|
|
* ic35frec.c: truncate to max.field-length, set nflds from recID
|
|
added missing 1byte-fields T_Completed,T_Priority
|
|
* vcaconv.c: usage on "-h", report unknown conversion
|
|
2000-12-01_02
|
|
* ic35frec.{c,h}: IC35 record access and file descriptions
|
|
* dataio.{c,h},syntrans.{c,h},vcaconv.c:
|
|
adapted for IC35 record access functions and 4byte record-ID
|
|
* synproto.c: adapted for 4byte record-ID combined of fileid,recid
|
|
* Makefile: new module ic35frec.{c,h}, ic35log replaces ic35prot.awk
|
|
target "clean" also removes .depend file
|
|
2000-11-29_21
|
|
* syntrans.{c,h}: missed commit_frec() for import,sync (yet untested)
|
|
2000-11-28_04
|
|
* dataio.c: support last-modified-time for vCard,vCalendar
|
|
concatenate IC35 file-id and record-id for XPilotIdProp
|
|
export ic35_dtime() for use in syntrans.c:set_date_time()
|
|
* syntrans.c: do disconnect on welcome() error to avoid hang IC35
|
|
* syntrans.{c,h}: functions for import,sync (untested): set_date_time,
|
|
category, get_mod_flen, read_mod_frec, write_frec, delete_frec
|
|
* synproto.{c,h}: import,sync commands: CMD{fdelrec,fgetmlen,fgetmrec}
|
|
2000-11-27_15
|
|
* ic35sync.txt: record-id, file-id, get number of modified records
|
|
new commands: read next modified record, delete record
|
|
updated correspondance with IC35Comm.dll to current knowledge
|
|
comment logs Delete.tar.gz:*.log, how M.Bruennert made them
|
|
* ic35log.sh: replaces ic35prot.awk, ic35prot2.awk
|
|
ic35prot.awk,ic35prot2.awk: moved to Attic/
|
|
2000-11-27_01
|
|
* ic35prot.awk: err.corr prxdata(), _plen was undefined if skip < 3
|
|
2000-11-25_18
|
|
* ic35prot2.awk: cosmetics, comment IC35Comm.dll functions
|
|
2000-11-25_03
|
|
* ic35prot2.awk: decode record field contents, comment variables
|
|
2000-11-24_04
|
|
* ic35prot.awk: prepend data with WRx,RDx (hex) WRa,RDa (ASCII)
|
|
skip also checksum if Level-1 headers are skipped with "-vskip=3"
|
|
* ic35prot2.awk: decode IC35sync PDUs from WRx,RDx transmission logs
|
|
from 'portmon' processed with 'awk -f ic35prot.awk -vskip=3'
|
|
|
|
2000-11-22_08 IC35SYNC-1-10
|
|
* ic35sync supports output IC35 PIM data in vCard,vCalendar format
|
|
new option "-f format" and command,pimfile args replace "-o outfile"
|
|
write date+time to logfile
|
|
* restrictions of implemented vCard,vCalendar output:
|
|
- strings with non-printable chars get "QUOTED-PRINTABLE" property
|
|
uncertain if it should be "ENCODING=QUOTED-PRINTABLE"
|
|
- strings with 8bit-chars also get "CHARSET=ISO-8859-1" property
|
|
uncertain if this is compliant to standard, because vobject.h
|
|
does not contain "CHARSET", but both "vCard Version 2.1" and
|
|
"vCalendar Version 1.0" explicitely allow "Character Set"
|
|
- IC35 "Memo" has no standard vCard,vCalendar format representation
|
|
using proprietary extension of VMEMO records
|
|
* vcc.y,vobject.{c,h}: extended by non-standard "VMEMO" records
|
|
for IC35 "Memo" representation
|
|
* dataio.c: VEVENT recurrence rules and alarms
|
|
* ic35sync.txt: corrected LED-,Beep-alarmflags
|
|
2000-11-21_04
|
|
* moved IC35 file descriptions from syntrans.* to dataio.*
|
|
to avoid vcaconv link needing syntrans.o,synproto.o etc.
|
|
* dataio.c: put_record() supports output vCard,vCalendar output
|
|
2000-11-20_02
|
|
* added vCard,vCalendar API: vcc.h vcc.y vobject.h vobject.c port.h
|
|
from gnome-pim-1.2.0.tar.gz:gnome-pim-1.2.0/libversit/
|
|
see ftp://ftp.gnome.org/pub/GNOME/stable/sources/gnome-pim/
|
|
other sources for vCard,vCalendar API:
|
|
- kpilot_3.1.10-1.0.tar.gz (based on KPilot 3.1b9)
|
|
from ftp://kde.tdyc.com/pub/kde/debian/dists/potato/contrib/source/
|
|
see also http://www.slac.com/pilone/kpilot_home/index.html
|
|
- versit consortium' SDK for Windows DLLs
|
|
from http://www.imc.org/pdi/sdkdllsr.zip
|
|
* new vcaconv.c vCard,vCalendar conversions, e.g. for offline tests
|
|
with IC35 binary data
|
|
* restrictions of implemented vCard,vCalendar output:
|
|
- sometimes non-7bit-ASCII chars lack QuotedPrintable and CharSet
|
|
- VEVENT recurrence rules not implemented
|
|
- VEVENT alarms AALARM,DALARM not implemented
|
|
- IC35 "Memo" has no standard vCard,vCalendar format representation
|
|
2000-11-19_07
|
|
* Makefile: ask before overwrite distribution tar.gz
|
|
* ic35sync.c: write date+time to logfile; replaced "-o outfile"
|
|
with new option "-f format" and command,pimfile arguments
|
|
* syntrans.c: reset serial device on abort with Ctrl-C
|
|
* comio.c: correct comrecv(): fdsets undefined if select() returns -1
|
|
* avoid gcc warnings about rcsid[]s not used
|
|
|
|
2000-11-19_00 IC35SYNC-1-9
|
|
added README, ic35sync.txt,ic35mgr.txt, ic35prot.awk
|
|
* Makefile: integrated help, target for tar.gz distribution
|
|
* syntrans.{c,h},ic35sync.c: export connect(), details internal
|
|
abort on bad power and wrong password responses
|
|
check for ready-reponse '\x80' from IC35
|
|
* ic35sync.c: write ic35sync version/rcsid to logfile
|
|
* util.{c,h}: log_init() interface changed (loglevel argument)
|
|
* ic35sync.txt: mention logfiles used for protocol analysis
|
|
|
|
2000-11-07_03 IC35SYNC-1-8
|
|
ic35sync.c split into modules
|
|
|
|
2000-11-05_05 IC35SYNC-1-7
|
|
version 1.7 released to Michael Bruennert
|
|
read PIM data from IC35 tested OK
|
|
CAVEAT:
|
|
- PIM data export in "home grown" format not compatible to anything
|
|
- cannot write PIM data to IC35, neither synchronize
|
|
- unsupported commands "set date+time", "category", "reset chgflag"
|
|
- ugly one-module-source
|
|
2000-11-04_19 ic35sync.c 1.1
|
|
hacking finished, now for compile and tests ..
|
|
2000-10-31
|
|
start hacking code
|