-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathREADME
223 lines (170 loc) · 8.19 KB
/
README
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
This is ColdSync, a tool for synchronizing data between Palm
devices and Unix workstations.
Copyright (C) 1999-2001, Andrew Arensburger.
The latest version of this package is available at
http://www.coldsync.org/
This package is distributable under the terms of the Artistic
License. You should have received a file called "Artistic", which
specifies the terms under which this package may be distributed and
modified.
The Artistic License is taken from the Perl 5.005_03
distribution, so some of the text is specific to Perl and does not
apply to ColdSync. I hope to address this in a future release.
This product includes software developed by the University of
California, Berkeley and its contributors.
This product includes software developed by the Apache Group
for use in the Apache HTTP server project (http://www.apache.org/).
(Actually, the Apache code in question was written by Panos
Tsirigotis. See comments in "src/ap_snprintf.c".)
----------------------------------------
* WHAT IS COLDSYNC?
ColdSync is a tool for synchronizing data between Palm
computing devices (such as the PalmPilot, PalmPilot Pro, Palm V,
QualComm PDQ, Handspring Visor and so forth), and a Unix workstation.
ColdSync can back up and restore the state of a Palm, as well
as synchronize its data, which is sort of like a two-way rdist (see
below). In future versions, it will be possible to do more interesting
things with this data.
* WHAT YOU'LL NEED
- A POSIX-compliant operating system, preferably some flavor
of Unix
- An ANSI C compiler
- An ANSI C++ compiler
- Perl 5.005_03 or later (though earlier versions might work)
* BUILDING AND INSTALLING COLDSYNC
If you've built GNU software before, this should be familiar
territory. You should be able to just
./configure
make
make install
Full details are provided in the "INSTALL" file.
* WHAT IS SYNCHRONIZING?
Synchronizing, also referred to as "syncing" refers to the
process of examining two databases (everything on the Palm is a
database) to see how they differ, and updating them so that they are
identical.
Syncing is different from just overwriting one database with
the other. For instance, if you add an entry for "Aunt Mabel" in your
Palm's address book, and an entry for "Uncle Bob" on your desktop
machine, then you don't want to just copy the address book from the
Palm to the desktop or vice-versa: that would delete one of the
entries that you just created. When you sync with ColdSync, you'll
wind up with both entries, on both the Palm and the desktop.
Another difference between synchronizing and blind copying
lies in the fact that PalmOS has facilities to support syncing. If you
have 2000 entries in your Palm address book and want to copy them to
the desktop, it'll take a rather long time to copy them over a
relatively slow serial connection. When it syncs, ColdSync copies only
those records that have changed.
ColdSync tries to be very cautious when it syncs, and not
delete any information unless it is sure that that is the right thing
to do. Its attitude is that it's better to err on the side of caution,
and maybe make you delete something twice, than it is to delete some
crucial bit of information.
* SECURITY CONSIDERATIONS
ColdSync is not secure. Period.
I have tried to pay due attention to security considerations,
but the sync process itself is inherently insecure. When ColdSync,
running on a workstation, receives a connection from a Palm, it has no
reliable way of knowing that the Palm on the other end is in fact the
one that it claims to be.
Likewise, when a Palm syncs with a workstation (whether that
workstation is using ColdSync or Palm's own HotSync), it has no
reliable way of knowing that the workstation is the one that it claims
to be.
PalmOS allows you to mark records as "private." This doesn't
mean a thing when you sync: the private and non-private records are
treated equally. In particular, anyone who has physical access to your
Palm can download your private records.
There may be a Palm utility out there that will encrypt each
record in a database before a sync, but I don't know of any such
utility.
* INTERNATIONALIZATION
ColdSync includes some internationalization (i18n) support. It
is believed to work on all platforms with a Uniforum-compliant libintl
(gettext()). ColdSync does not work with XPG i18n (catgets() etc.).
However, you need GNU xgettext to compile the message catalog
("i18n/messages.po") from the source files.
----------------------------------------
COMPATIBILITY NOTES
* ColdSync 2.2.4
FreeBSD:
This package was developed under FreeBSD 3.x/4.x, and compiles
cleanly with no modification under 4.2-RELEASE.
On newer versions of FreeBSD (4.0 and beyond), it's possible
to communicate with the Handspring Visor using its USB
interface. Configure a listen type of "usb" rather than
"serial", and use device /dev/ugen0.
Redhat Linux 6.2 (also Debian, and probably others):
(as of ColdSync v1.6.6-20010130)
Compiles cleanly with no modifications. Runs fine.
The Linux serial device driver appears to drop characters at
random. As a result, you may see a lot of
##### Got an unexpected data packet. Sending an ACK to shut it up.
messages.
Solaris 2.8:
(as of v2.3.1, Mar. 18, 2002)
Compiles cleanly with both gcc 2.95.2 and Sun Forte 6.1U1.
Solaris 2.7:
(as of v2.2.4)
There are still some problems with ColdSync's IPv6 code under
Solaris 2.6 and later. You'll need to use
./configure --without-ipv6
(as of v2.2.0-20010805)
Compiles with Sun Forte 6U1.
ColdSync is known not to work with Sun's i18n utilities.
ColdSync should detect this, and disable i18n.
Digital Unix 4.0:
(as of v2.3.1, Mar. 18, 2002)
Compiles with gcc 2.95.2, but with warnings (partly because
DEC uses nonstandard types, and not all functions are declared
in /usr/include. Grrr...):
PConnection_serial.c:646: warning: implicit declaration of function `cfmakeraw'
config.c:1058: warning: overflow in implicit constant conversion
"TRUE" and "FALSE" redefined in "lexer.l".
(as of ColdSync v2.4.4-20011113)
DEC's linker chokes on the overly-long identifiers produced by
the STL. GNU ld might work.
(as of ColdSync v1.6.6-20010130)
Compiles with gcc 2.7.2. Compilation prints several warnings;
they appear to be benign:
PConnection_serial.c:444: warning: implicit declaration of function `cfmakeraw'
PConnection_net.c:281: warning: passing arg 6 of `_Erecvfrom' from incompatiblepointer type
PConnection_net.c:674: warning: passing arg 6 of `_Erecvfrom' from incompatiblepointer type
PConnection_net.c:872: warning: passing arg 3 of `_Eaccept' from incompatible pointer type
config.c:964: warning: overflow in implicit constant conversion
GenericConduit.cc:82: warning: unused parameter `const struct conduit_block * block'
If you are using DEC's C compiler, I suggest the following
compiler flags:
-std1 -msg_enable level3
AIX 4.1:
(as of ColdSync v1.1.2)
Compiles with gcc 2.7.2, but when linking, complains that:
ld: 0711-224 WARNING: Duplicate symbol: _IO_cleanup_registration_needed
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
This may be a problem with the installation, though (the same
thing happens when compiling "Hello, world").
I've only compiled it. I don't know whether it actually runs.
If you have any updated information, please send it in to the
maintainer ([email protected]). My testing pool isn't as large as it
once was.
Windows NT:
(as of ColdSync 1.4.5)
To the best of my knowledge, ColdSync compiles and runs under
Windows NT with the Cygwin tools.
However, ColdSync was written as a Unix tool. Windows users
have the HotSync desktop tools from Palm, which work quite
well. If ColdSync works under Windows, that's wonderful, but
I'm not going to let Windows compatibility get in the way of
Unix development.
MacOS X:
(as of ColdSync 1.4.6)
According to one correspondent, ColdSync compiles and runs
with no problems under MacOS X.
The serial port should be /dev/ttyd.printer .
----------------------------------------
BUGS:
If you create a Memo record, delete it without leaving the
editor, and check the "Save archive copy on PC" box, it will be
archived, but the archived record may contain trailing garbage.
This is due to a bug in PalmOS (as of 3.0).