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 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904
|
2000-01-22 Andrew Arensburger <arensb@baa.ooblick.com>
Version 1.0.0 released.
* src/conduit.c: Commented out some trace statements that
shouldn't be printed every time. Clarified comment on status
codes.
* src/Makefile.in: Fixed install flags to strip binaries.
* doc/pdb.texi: Added @dircategory and @direntry, for BSD port.
* doc/conduits.texi: Added the reference section. Fixed some style
points. Added @dircategory and @direntry, for BSD port.
* doc/Makefile.in: Fixed the install flags. Duh. Took `libpalm'
out of the default install, since it needs to be reorganized.
Install the other info files by default.
Version 0.5.7 released.
Bug fix: categories weren't downloaded properly.
* src/coldsync.c: Bug fix: don't run Dump conduits if we're doing
a backup or restore
(or, more generally, don't run them unless we're doing a sync).
* libpdb/pdb.c: pdb_DownloadRecords() now correctly adds the
category to downloaded records.
* configure.in: Updated version.
* src/handledb.c: Changed handledb() to just call
run_GenericConduit() for now, until Sync conduits are implemented.
* src/conduit.h: Took out old-API conduit stuff.
* src/conduit.c: Took out a boatload of old-API conduit stuff.
* src/GenericConduit.cc: Added notes on syncing AppInfo block.
Updated invocations of new_Record().
* libpdb/pdb.c: new_Record() now takes a `category' attribute, and
combines it with the `attributes' argument. This makes other parts
of the code easier to write.
* libpdb/Makefile.in: Commented out the actual install actions:
it's too early to install the libraries just yet.
* libpconn/Makefile.in: Commented out the actual install actions:
it's too early to install the libraries just yet.
* include/pconn/Makefile.in: Commented out the actual install
actions: it's too early to install the .h files just yet.
* include/pdb.h: Added 'category' argument to new_Record(), for
"convenience" (it's a PITA to combine the flags and attribute, but
it's also sometimes a PITA to separate them).
* include/Makefile.in: Commented out the actual install actions:
it's too early to install the .h files just yet.
* doc/Makefile.in: Added INFODIR, preparatory to actually
installing the documentation. Fixed install flags: don't
automatically add the "-c". Added "conduits.texi", documentation
on conduits. First, failed attempt at including HTML documentation
in the distribution.
* doc/conduits.texi (added): Documentation on conduits.
* configure.in: Added test for 'texi2html', preparatory to
generating HTML documentation.
* src/Makefile.in: Fixed install flags: don't automatically add
the "-c".
2000-01-19 Andrew Arensburger <arensb@baa.ooblick.com>
* src/config.c: get_config() now sets host ID. Finally took out
load_config().
* src/conduit.h: Changed declarations for run_*_conduits()
functions.
* src/coldsync.c: Fixed run_Fetch_conduits() call.
* src/GenericConduit.cc: Made some trace statements more specific.
* doc/coldsync.8: "-p <device>" is now listed as optional.
Clarified explanation of the "-d" flags. Added "conduit"
directives in .coldsyncrc . Rewrote section on syncing.
* configure.in: Incremented version number.
* TODO: Added, removed some stuff.
* README: Redid the format of the OS-specific notes (again).
* src/conduit.c: Added definition for WCOREDUMP, for AIX. Added
run_conduits(), to hold the shared functionality of the
run_*_conduit() functions. run_Fetch_conduits() now functional;
run_Dump_conduits() uses run_conduits(). Sends "InputDB" and
"OutputDB" header fields to conduit.
2000-01-13 Andrew Arensburger <arensb@baa.ooblick.com>
Version 0.5.5 released.
* src/conduit.c: New conduit API. run_Dump_conduits() now works.
Use the STD*_FILENO macros for clarity. Made signal stuff more
portable. Replaced 'conduit_is_running' with a special value of
'conduit_pid', so that things are more atomic. Use execvp()
instead of execve() to spawn conduits, so that they inherit
environment. Send header lines to conduit: "Daemon", "Version",
"InputDB", "OutputDB". Now use file handles instead of file
descriptors to talk to conduit. Use fork() to spawn conduit
instead of vfork(), since there's too much stuff going on for
vfork() to work. Child's stdout is now line-buffered. Lots of
smallish stuff in cond_sendline(). Added cond_sendheader(), for
convenience. Added cond_readline(). Added cond_readstatus().
* src/config.c: In get_config(), get max # file descriptors. This
can be useful in conduits. Set conduit flags to 0 in
new_conduit_block().
* src/conduit.h: Defined max size of the lines sent back and forth
between ColdSync and conduits; make sure they're sane.
* src/coldsync.h: Added flags to conduit block. They're not used
yet, though. Added 'sys_maxfds', the max # of file descriptors you
can have.
* src/coldsync.c: Removed the separate check for <locale.h>, since
it appears to be a standard part of libintl. Updated the "-h" help
message to conform to reality.
* src/parser.y: Added "default" and "final" options for conduits.
These aren't used yet, though.
* src/lexer.l: Added placeholders for "final" and "default"
options for conduits. These haven't been implemented yet.
* src/handledb.c: Print out a message saying which database it's
syncing.
* config.h.in: Added macro for signal()'s return type. Added
HAVE_SYSCONF. Added magic cpp lines to make things compile cleanly
under OSF1/DU/Tru64.
* configure.in: I18n support (such as it is) can now be turned off
with "configure --without-i18n". The documentation-related tests
now print a warning message if 'makeinfo', 'texi2dvi', 'dvips'
couldn't be found, just so it's obvious that they weren't found.
Added checks for <locale.h> and sysconf().
* README: Added version-specific notes, since I haven't been
testing each version with each OS.
* Makefile.in: Fixed the 'id' target so that the ID file gets
rebuilt every time you "make id".
* src/GenericConduit.cc: Changed sync logic yet again:
"AddressBook" doesn't set the "deleted" flag for archived records.
Grrr...
1999-12-05 Andrew Arensburger <arensb@baa.ooblick.com>
* src/conduit.c: First draft of functions that implement working
conduits, preparatory to changing their API to use FILE *s instead
of file descriptors. Added spawn_conduit(), cond_sendline(),
sigchld_handler(). Added static global variables for child process
state; this may prove to be a mistake. Use execve() for spawning
conduits. This is probably a mistake.
1999-12-02 Andrew Arensburger <arensb@baa.ooblick.com>
* src/lexer.l: Hack to make lexer.l compile cleanly under Solaris.
* src/GenericConduit.cc: Handle the case where a record was added
and deleted since the last sync.
* libpdb/pdb.c: Fixed a 0-byte allocation bug in new_Record().
1999-12-01 Andrew Arensburger <arensb@baa.ooblick.com>
* src/Makefile.in, libpdb/Makefile.in, libpconn/Makefile.in,
include/pconn/Makefile.in, include/Makefile.in: Split distribution
stuff into "dist" and "dist-core", so that snapshots don't have to
include extra fluff.
Rearranged the order of cpp flags, so that a) user-specified flags
can override those in the Makefile, and b) when compiling a new
version, it #includes the .h files in the source tree, not those
already installed.
* doc/Makefile.in: Split distribution stuff into "dist" and
"dist-core", so that snapshots don't have to include extra fluff
(PostScript and .info files).
* Makefile.in: Split distribution stuff into "dist" and
"dist-core", so that snapshots don't have to include extra fluff.
* src/coldsync.c: #include <locale.h>, for I18N packages other
than GNU's.
* src/parser.y: Fixed a double-free bug.
1999-11-28 Andrew Arensburger <arensb@baa.ooblick.com>
* libpdb/pdb.c: Fixed bug in pdb_DownloadRecords():
DlpReadRecordIDList() doesn't return more than 500 record IDs at
once, which can cause problems for large databases. Need to call
it repeatedly to make sure all of the IDs get read.
Bug reported by Paul Rolland.
* libpconn/dlp_cmd.c: Documented limitation in
DlpReadRecordIDList(), that it doesn't retrieve more than 500
record IDs at once.
* src/Makefile.in: Tidied up the 'depend' target.
* libpdb/Makefile.in, libpconn/Makefile.in: Made 'make depend'
work again.
1999-11-27 Andrew Arensburger <arensb@baa.ooblick.com>
Version 0.5.4 released
* src/parser.y, src/lexer.l: Added I18N.
* src/handledb.c: Got rid of some unused #includes.
* src/config.c: Minor cleaning.
* src/log.c, src/install.c: In error messages, took function name
out of the string to be translated, to make things easier on
translators.
* src/coldsync.c: main() cleans up better after itself when
something fails. In error messages, took function name out of the
string to be translated, to make things easier on translators.
* src/backup.c: Added logging during backup.
* src/restore.c: Added logging during restores.
* src/archive.c: Added I18N. Got rid of an unused #include.
* src/GenericConduit.cc: Minor cleaning.
* libpdb/pdb.c: Added I18N. Made error messages a tad more
standard, for the benefit of translators.
* libpconn/palm_errno.c: List the error codes next to their
respective messages.
* libpconn/dlp_cmd.c: Added I18N. Fixed most of the potential
buffer overflows.
* libpconn/slp.c, libpconn/padp.c, libpconn/dlp.c,
libpconn/PConnection.c: Added I18N.
* include/pconn/dlp_cmd.h: Added DLPARGLEN_CallApplication_*
constants.
* include/Makefile.in: Fixed the "entering directory `foo'",
"leaving directory `foo'" messages.
* HACKING: Added some notes on I18N.
1999-11-20 Andrew Arensburger <arensb@baa.ooblick.com>
* README: Minor disclaimer about compatibility.
Added I18N.
* src/config.c: Took out a bunch of obsolete stuff. Added sanity
checks in get_config. Simplified getuid() call in
load_palm_config().
* src/conduit.h: Removed unload_conduit() prototype.
* src/conduit.c: Minor cleaning. Took out some of the old conduit
API stuff that's obviously never going to be used.
* src/coldsync.h: Fixed Connect() prototype. Removed obsolete
parse_args(), load_config(). Added add_to_log().
* libpdb/pdb.c: Fixed pdb_Read: file offsets are supposed to be
unsigned. Took out bogus arguments in calls to DlpWriteAppBlock()
and DlpWriteSortBlock(). get_file_length() now returns unsigned
value, like it says. Minor tidying: explicit 0Ls in a few places.
1999-11-19 Andrew Arensburger <arensb@baa.ooblick.com>
* configure.in: Added -I${prefix}/include to default CPPFLAGS.
Added check for libintl, for i18n.
* config.h.in: Added stuff for i18n.
1999-11-12 Andrew Arensburger <arensb@baa.ooblick.com>
* src/parser.y: Mark's patch: can't assign NULL to an enum. Duh.
Added lint support in Makefiles
* src/GenericConduit.cc: Took out the add_to_log() prototype,
since it's now in "coldsync.h".
* include/pconn/dlp_cmd.h, libpconn/dlp_cmd.c: Took out some
unused arguments.
* configure.in: Bumped up version number.
* libpdb/Makefile.in, libpconn/Makefile.in: Added a variable for
the library name.
* Makefile.in: Fixed snapshot tarball name.
* doc/libpalm.texi: Took out all the function prototypes.
1999-11-11 Andrew Arensburger <arensb@baa.ooblick.com>
* src/install.c: Add to the Palm's log when installing a file.
Fixed a case where an error didn't get cleaned up properly.
* doc/coldsync.8: Added section on configuration file. Rewrote the
section on conduits for clarity; now talks about the new conduit
API. Minor cleaning. Removed a bunch of old crap. Added
~/.palm/backup/Attic to list of files.
1999-11-10 Andrew Arensburger <arensb@baa.ooblick.com>
* src/GenericConduit.cc: FastSync now uploads dirty local records
and otherwise deals correctly with the local database.
* libpconn/dlp_cmd.c: Fixed a bug that clobbered the username on
the Palm.
* include/pconn/dlp_cmd.h: Fixed a bunch of bad memory references
found by Purify.
* src/parser.y: Set cur_listen to NULL when we're done with it.
This way, it doesn't get free()d prematurely and we avoid all
sorts of nastiness.
* src/lexer.l: Explicitly terminate strings.
* src/coldsync.c: Added "parse" to the list of debugging
facilities. Initialize some 'uinfo' fields in UpdateUserInfo, to
make Purify happy.
* src/Makefile.in: Added stub for Purify, mainly to remind me how
to do it.
* Makefile.in: ${DISTFILES} now includes README. D'oh! Snapshot
tarball now includes version number as well as date.
1999-11-09 Andrew Arensburger <arensb@baa.ooblick.com>
* configure.in: Incremented version number.
* src/coldsync.c: Got rid of the 'user_fullname' global variable.
* src/Makefile.in: Got rid of some obsolete comments and the
experimental 'parse' target.
* src/parser.y: Use new_{listen,conduit}_block(). Free cur_listen
and cur_conduit at the end, if necessary.
* src/config.c: Got rid of user_fullname global variable.
* src/coldsync.h: Made 'userinfo' globally visible. Added
declarations for new_conduit_block() and free_conduit_block().
* src/backup.c: Make sure backup file name is terminated.
* src/archive.c: Use the precomputed 'archivedir' for constructing
archive file names, instead of finding $HOME manually. Changed
some buffers's sizes to MAXPATHLEN+1 instead of MAXPATHLEN, to
simplify the code.
* src/config.c: The permissions for new directories are 0700,
non-negotiable. If you want something else, there's 'chmod'. Added
new_conduit_block(), free_conduit_block().
* libpconn/dlp_cmd.c: Fixed some potential buffer overflows.
1999-11-08 Andrew Arensburger <arensb@baa.ooblick.com>
* src/config.c: Added cpp symbol PALMDEV for built-in default Palm
device. Moved get_config up in the file. Added -S, -F -R
command-line flags, removed -u. Bug fix: used to dump core if
~/.coldsyncrc didn't exist. Fixed a misleading trace statement,
made another more explicit.
* src/coldsync.c: Consolidated parse_args and load_config() into
get_config(). Cleaned up a bit.
* doc/coldsync.8: Describe default device.
* libpconn/PConnection.c: Minor tweaking at end of connection.
* src/parser.y: Changed raw fprintf(stderr...) statements to use
PARSE_TRACE.
* src/parser.h: Added PARSE_TRACE.
1999-11-04 Andrew Arensburger <arensb@baa.ooblick.com>
* src/coldsync.c: Massive reorganization on two fronts: the
conduit API has completely changed, and support for config files.
This code is in flux, so it's a mess.
Got rid of the debugging flags struct, since it didn't really work
after the two libraries seceded from the rest of the code base.
parse_args() and load_config() have now been merged into
get_config(). Some global options no longer exist because of this.
'struct config' is now more generic, and should allow coldsync to
listen on multiple ports. For now, this is still rather ad hoc,
though.
parse_args() was moved to "config.c" before being commented out.
Added stub code to run Fetch and Dump conduits before and after
the main sync, respectively.
Added clearer trace statements, since it's not always easy to tell
whether coldsync has terminated normally, or has dumped core.
* src/coldsync.h: Moved a bunch of stuff into here out of
"conduit.h", for a wider audience, and to simplify some of the
code.
Got rid of the old debugging structure. Added variables
'sync_trace' and 'misc_trace'. Now trace statements work again.
Added 'struct userinfo', for information about the Palm's owner.
Moved 'listen_block' and 'conduit_block' into here, since they're
used throughout the code, not just in the parser. Added 'struct
config' to hold the current configuration (ports to listen on,
lists of conduits, and so forth).
Lots of tentative stuff involving config files and conduits. This
code is a mess right now.
In 'struct cmd_opts', took out a bunch of members that became
obsolete after parse_args() and load_config() got merged into
get_config().
Added outline of the new conduit API.
Added a bunch of function prototypes, having to do with the
changes outlined above.
* src/conduit.h: Settled on a conduit API. Moved a bunch of stuff
into "coldsync.h", mainly structures and stuff that has to do with
configuration; stuff that might be of interest to a bunch of
files.
A bunch of changes to the conduit API; this is currently in flux:
up until now, I'd assumed that a conduit would be a
dynamically-linked object module, but now I'm convinced that it's
better if conduits are external programs. Naturally, this involves
a lot of reorganization, so the code is currently a mess.
Added declarations for new-API functions run_Fetch_conduits() and
run_Dump_conduits().
* src/config.c: Beginning of massive reorganization in the way
configuration is done. Now supports config files instead of just
command-line arguments. Global configuration is now in the
variable 'config'. Information about the Palm's owner is in
'userinfo'
Moved parse_args() out of "coldsync.c" and into here, then
promptly #if 0-ed it out, 'cos it's deprecated: parse_args() and
load_config() have been merged into the new function get_config(),
since the two are so closely related. get_config() populates
'config' with stuff from both the command line and the config
file, as appropriate.
Added new_config() and free_config() to manage configurations.
Added new_listen_block() and free_listen_block(), for convenience.
Added get_userinfo() to get information about the Palm's user.
This also records the user's home directory, so that we can use
either $HOME or the password file entry, as appropriate (up until
now, this has been
(and still is, in places) rather ad hoc).
* src/lexer.l: Got rid of "mystring", which was just for testing
anyway. The string code now allocates a new string and returns it.
Added a bunch of stuff to make the compiler shut up under
different configurations (flex, flex in compatibility mode).
Added 'lineno', so error messages can include the line number.
Took "\n" out of whitespace class for this. Comments no longer
include the "\n" at the end of the line, for the same reason.
Added keywords: "device" and conduit flavors.
* src/parser.y: Changed the grammar around: "listen" block must
now specify the type of connection; "conduit" block must now
specify the conduit flavor. Went from "keyword: value;" style to
"keyword value;", to make the parser easier to write (and also so
I can ignore a lot of error-checking that I don't know whether I
could detect :-) ). Got rid of the "args" directive for conduits,
at least for now.
Added some actual functionality: the parser now actually builds up
a struct with all of the information contained in the config file,
instead of just verifying the file's correctness.
Currently only supports serial "listen" blocks.
Moved the Yacc-specific stuff out of "parser.h" into here. Added a
custom yyerror(). Added parse_config() function, for a friendlier
API. Added magic Emacs lines.
* src/parser.h: Moved 'listen_block' into "coldsync.h". Moved the
stuff dealing with Yacc internals into "parser.y". Added
declaration for 'lineno', maintained by the lexer. Got rid of
'handle_listen()'. Added magic Emacs lines.
* src/conduit.c: Added first drafts of run_Fetch_conduits() and
run_Dump_conduits().
* src/archive.c: Use the GNU-recommended code for including
<string.h>
* libpdb/pdb.c: Added 'pdb_trace' for debugging. pdb_Read() now
barfs if the file isn't seekable.
* libpconn/slp.c: Added 'slp_trace' for debugging.
* libpconn/padp.c: Added 'padp_trace' for debugging.
* libpconn/dlp_cmd.c: Added 'dlpc_trace' for debugging.
* libpconn/dlp.c: Added 'dlp_trace' for debugging.
* libpconn/cmp.c: Added 'cmp_trace' for debugging.
* include/pconn/pconn.h: Added declarations for the *_trace
debugging variables.
* include/pdb.h: Minor cleaning. Added pdb_trace for debugging.
* TODO: Cleaned up the sample code for
including <string.h>
1999-11-03 Andrew Arensburger <arensb@baa.ooblick.com>
* libpdb/pdb.c: Replaced #include <string.h> with the more
portable GNU-recommended construct.
1999-11-01 Andrew Arensburger <arensb@baa.ooblick.com>
* configure.in: Make sure there's a working lex.
* libpdb/pdb.c: Took out all references to add_to_log(), since it
really doesn't belong here anyway.
* src/Makefile.in: Make sure ${BINDIR} exists before installing.
* libpdb/Makefile.in: Took out some useless junk. Make sure
${LIBDIR} exists before installing. Also, install library in
${LIBDIR}, not ${BINDIR}. Duh.
* libpconn/Makefile.in: Make sure ${LIBDIR} exists before
installing. Also, install library in ${LIBDIR}, not ${BINDIR}.
Duh.
* include/pconn/Makefile.in: Added escapes for multi-line rules.
Duh.
* include/Makefile.in: JFerg's patch: make sure install directory
exists when installing.
* doc/pdb.texi: Fixed documentation of dmHdrAttrCopyPrevention
flag.
* doc/coldsync.8: Added mention of -f <config_file> option, and
~/.coldsyncrc.
* doc/Makefile.in: Fixed 'install' target to create man*
directories when installing. Added dependencies for .dvi files.
* config.h.in: Added variables for Emacs at end, since can't have
-*- magic at the top.
* Makefile.in: Added ${PREFIX}. Make sure that it exists when
installing.
1999-10-24 Andrew Arensburger <arensb@baa.ooblick.com>
* src/coldsync.h: Cleaned out some old crap. Added default
location of site-wide config file.
* src/Makefile.in: Took out the 'COMPAT' stuff, since it doesn't
belong here and was making builds barf under Solaris. Split SRCS
into C_SRCS and CXX_SRCS. Added parser.h. Fixed stupid typo. Fixed
Yacc arguments and such. Made 'depend' target work with
'makedepend'.
* libpdb/pdb.c: Hacked up add_to_log() so the library will
compile. Plugged a memory leak.
* configure.in: Make sure ${prefix} is set near the top of the
script. Cleaned up LDFLAGS assignment. Added pedantic flags to
CXXFLAGS, not just CFLAGS. Test for 'yacc' now makes sure that it
finds a working 'yacc'. Fixed check for 'mkid' for systems that
don't have it. Now works with 'mkdep' and 'makedepend'. Added
${sysconfdir} to C defines.
* config.h.in: Added SYSCONFDIR (where to look for the master
"coldsync.conf" file). Cleaned Justin's patch up a bit to shut
egcs up under OpenLinux.
* Makefile.in: Added a target for creating daily snapshot
releases.
1999-10-23 Andrew Arensburger <arensb@baa.ooblick.com>
* src/Makefile.in: Fixed lex/yacc stuff: made it part of the
distribution. Fixed libraries to work properly.
* include/pconn/Makefile.in: Took out the recursive targets, since
Sun's 'sh' can't deal with a for loop over an empty list.
* config.h.in: Incorporated Justin's patch for making gcc shut up
under Slackware 4.0.
* src/parser.h: Definitions and such for config file parser.
* src/lexer.l: First draft of lexer.
1999-10-21 Andrew Arensburger <arensb@baa.ooblick.com>
* src/Makefile.in: Cleaned up some old crap. Took Makefile.in out
of ${DISTFILES}. Added lex/yacc stuff. Fixed CPPFLAGS to allow
user additions.
* libpdb/Makefile.in: Added Makefile.in
* libpconn/Makefile.in: Added Makefile.in
* include/pconn/Makefile.in: Added Makefile.in
* include/Makefile.in: Added Makefile.in
* configure.in: Took out conduits/memodump, 'cos it's broken.
* configure.in: Added checks for lex and yacc. Added support for
LEXARGS and YACCARGS, to allow user-specified arguments. Now
creates Makefiles for the various libraries.
* Makefile.in: Took out conduits/memodump, 'cos it's broken.
* Makefile.in: Added conduits/memodump, an experimental conduit.
Fixed messages in ${RECURSIVE_TARGETS} target.
1999-10-18 Andrew Arensburger <arensb@baa.ooblick.com>
* src/parser.y: First draft of parser.
1999-09-09 Andrew Arensburger <arensb@baa.ooblick.com>
* src/install.c: Changed syntax of InstallNewFiles(): now can
specify directory from which to install, and whether or not to
delete the files after installation.
* configure.in: Bumped up version number. AC_INIT uses a different
file to find the source, because of the source tree
reorganization.
* README: Added UCB notice for "cfmakeraw.c", per BSD license.
Added compatibility notes.
Major directory rearrangement: the functions that permit
communication with the Palm are now in a separate library,
libpconn. Functions dealing with PDBs are in another separate
library: libpdb.
These libraries should make it easier to create conduits.
The .h files that go with the libraries have been moved to a new
`include' directory. This is mainly to make installation and
compilation simpler. At some later point (e.g., if the libraries
become useful in their own right), it might make sense to move the
.h files back into the library source directories.
* Makefile.in: Added new subdirectories "include", "libpconn",
"libpdb".
* src/conduit.h: Rearranged #includes for the source tree
reorganization. Added a big XXX comment on conduits. This should
go when I pick a conduit API.
* src/coldsync.h: Rearranged #includes for the source tree
reorganization. Moved definition of CARD0 to include/pconn/pconn.h
. Changed prototype for InstallNewFiles(); added prototype for
append_dbentry().
* src/coldsync.c: Rearranged #includes for the source tree
reorganization. Cleaned up some comments. Use new syntax for
InstallNewFiles(). Added appen_dbentry() convenience function.
* src/Makefile.in: Rearranged things to work with the source tree
reorganization: moved a bunch of files out of $(SRCS), $(OBJS) and
$(HEADERS), added stuff to link with the new libraries.
* src/restore.c: Rearranged #includes for the source tree
reorganization.
* src/handledb.c: Rearranged #includes for the source tree
reorganization.
* src/config.c: Rearranged #includes for the source tree
reorganization.
* src/backup.c: Rearranged #includes for the source tree
reorganization.
* src/archive.h: Rearranged #includes for the source tree
reorganization.
* src/archive.c: Rearranged #includes for the source tree
reorganization.
* src/GenericConduit.hh: Rearranged #includes for the source tree
reorganization.
* src/GenericConduit.cc: Rearranged #includes for the source tree
reorganization.
* include/pconn/pconn.h: Created to simplify programs that use
libpconn.
* include/pconn/PConnection.h: Moved from src/.
* include/pconn/cmp.h: Moved from src/.
* include/pconn/dlp.h: Moved from src/.
* include/pconn/dlp_cmd.h: Moved from src/.
* include/pconn/padp.h: Moved from src/.
* include/pconn/palm_errno.h: Moved from src/.
* include/pconn/palm_types.h: Moved from src/.
* include/pconn/slp.h: Moved from src/.
* include/pconn/util.h: Moved from src/.
* include/pdb.h: Moved from src/.
* libpconn/PConnection.c: Moved from src/.
* libpconn/cfmakeraw.c: Moved from src/.
* libpconn/cmp.c: Moved from src/.
* libpconn/dlp.c: Moved from src/.
* libpconn/dlp_cmd.c: Moved from src/.
* libpconn/padp.c: Moved from src/.
* libpconn/palm_errno.c: Moved from src/.
* libpconn/slp.c: Moved from src/.
* libpconn/util.c: Moved from src/.
* libpdb/pdb.c: Moved from src/.
1999-09-04 Andrew Arensburger <arensb@baa.ooblick.com>
ColdSync announced on freshmeat. Officially moves to beta stage.
* src/log.c: Make add_to_log() less annoyingly verbose.
* src/dlp_cmd.c: Fixed core dump with empty usernames.
* src/PConnection.c: Added a clearer error message.
* src/restore.c: Added copyright statement. #include <strings.h>
where appropriate.
* src/pdb.c: Added copyright statement. Now adds log messages when
uploading a database.
* src/install.c: Added "install.c", with function to upload new
databases as necessary.
* src/dlp_cmd.c: Added copyright statement. Changed "errno" to
"error" where necessary.
* src/dlp.c: Added copyright statement. Changed "errno" to "error"
where necessary.
* src/dlp.h: Added copyright statement. Renamed 'errno' to 'error'
in struct dlp_resp_header, since 'errno' is a preprocessor
function in some implementations.
* src/config.c: Added copyright statement. Added 'atticdir' Print
UIDs in a more portable format. Make sure that
~/.palm/backup/Attic exists. Early version of a test to reassure
user in case egcs whines. Fixed casting problem.
* src/conduit.h: Minor housecleaning.
* src/coldsync.h: Added copyright statement. Added 'atticdir' and
prototypes for new functions. Minor housecleaning.
* src/coldsync.c: Added copyright statement. #include <strings.h>
where necessary. Check for extraneous files in ~/.palm/backup that
aren't on the Palm. Move those files to ~/.palm/backup/Attic. Now
installs new databases in ~/.palm/install. Added find_dbinfo()
convenience function.
* src/archive.c: Added copyright statement. Fixed "Can't open
<filename>" error message so it only appears when appropriate.
* src/Makefile.in: Added copyright statement. Added "install.c"
Commented out the "ignore this warning" thing for config.o, since
it wasn't working properly.
* configure.in: Bumped up version number. Added check for libnsl.
Took out the ugly ad hoc "make gcc shut up" section.
* config.h.in: Simplified the "make gcc shut up" part.
1999-08-26 Andrew Arensburger <arensb@baa.ooblick.com>
* Added copyright statement everywhere.
1999-08-25 Andrew Arensburger <arensb@baa.ooblick.com>
* src/Makefile.in: Print a message telling the user not to worry
about a certain known warning.
* src/log.c: Fixed a bug whereby the log wasn't initialized
properly the first time.
* src/util.c: "config.h" was being included twice. Fixed.
* src/pack.c, src/coldsync.h, src/archive.h, src/PConnection.h:
Include "config.h" at the top.
* src/pdb.c: Fixed problem where pdb_DownloadRecords() tried to
allocate 0 bytes for expunged records.
* doc/Makefile.in: Added variables to actually make 'make install'
work (oops!). Added variables for 'makeinfo', 'texi2dvi' and
'dvips', so that things will fail cleanly on systems that don't
have those.
* README: Added long-overdue README file.
* INSTALL: Added installation instructions, from GNU `automake'.
* configure.in: Added checks for 'makeinfo', 'texi2dvi' and
'dvips'.
* Makefile.in: Took out the bit about separate distributions.
* src/GenericConduit.cc: Fixed a memory problem (referencing a
freed memory location).
* configure.in: Added check for libnsl, for Solaris. Cleaned up
ElectricFence code somewhat.
* Makefile.in: Added 'aclocal.m4' to the list of files in a
distribution.
* aclocal.m4: Oops! Forgot to add this back when it was written.
* Artistic: Added Artistic License file.
* src/dlp_cmd.c: Added abortive punpack() call.
* src/pack.c: Added support for PACK_TIME, for reading and writing
'struct dlp_time's.
* src/pack.h: Added PACK_TIME, for reading and writing 'struct
dlp_time's.
1999-08-23 Andrew Arensburger <arensb@baa.ooblick.com>
* src/dlp_cmd.c: Includes "config.h", to get configure-time
variables. Started fixing a bunch of potential buffer overflows.
* src/coldsync.c: Now can restore from a backup directory. Use
str(n)casecmp() when possible, str(n)cmp() otherwise. Cast uid_t
to 'long' before printing, to pacify pedantic compilers. Cleaned
up a bit. Added "pdb" debugging facility. 'coldsync -v' now lists
some configure-time options.
* src/util.c: Took out remnants of an earlier fix.
* src/pdb.c: Includes "config.h", to get all the configure-time
stuff. Changed SYNC_TRACE() calls to PDB_TRACE() (i.e., "pdb" got
its own debugging flag). Added the pdb_Upload() function.
* src/pack.h: Added. Declares the ppack() and punpack()
convenience functions.
* src/pack.c: Added. Contains the ppack() and punpack()
convenience functions.
* src/PConnection.c: Now includes "coldsync.h", for completeness.
* src/Makefile.in: Fixed up 'autoconf' style variables. Added
'install' target. Added pack.{c,h} to source file list.
* configure.in: Bumped up version number. Add -L$prefix/lib
instead of just -L/usr/local/lib .
* Makefile.in, doc/Makefile.in: Added 'install' target.
1999-08-01 Andrew Arensburger <arensb@baa.ooblick.com>
* src/slp.c, src/palm_errno.c, src/log.c, src/handledb.c,
src/dlp.c, src/config.c, src/conduit.c, src/cmp.c,
src/cfmakeraw.c, src/backup.c, src/archive.c, src/PConnection.c,
src/GenericConduit.cc: Made sure "config.h" is the first file
included.
* src/util.c: Moved #include "config.h" to the top. Commented out
the #warning statement, since it's not doing anything useful at
the moment, and just causes anal compilers to choke.
* src/slp.c: Added braces to an 'if' statement, to make egcs
happy.
* src/restore.c: New file. This contains Restore(), the function
to restore a directory full of databases (presumably created by
Backup()), and implements the "-r <dir>" option.
* src/pdb.h: Added prototype for pdb_Upload().
* src/dlp.c: In dlp_send_req(), made 'outbuf'
dynamically-allocated, thereby fixing a buffer overrun.
* src/config.c: Clarified a comment.
* src/coldsync.h: Added "pdb" debugging facility. Added prototype
for Restore().
* src/PConnection.c: Added a trace statement.
* src/Makefile.in: Added explicit rules for compiling .c and .cc
files, since not all 'make's use the same symbols and such.
Removed "upload.c", added "restore.c".
* src/GenericConduit.cc: Fixed a list-walking bug involving
referencing freed memory. * doc/Makefile.in: Made it easier to
take the big files (*.ps, *.info) out of the standard
distribution.
* configure.in: Bumped version number. Removed comments for some
stuff that's been done. Added -L/usr/local/lib to LDFLAGS. Added
--with-efence option. Added 'struct dirent' checks. Added some
stuff to try to make things compile cleanly under Linux.
* config.h.in: Added directory-related symbols, WITH_EFENCE for
verbosity. Added first draft of #defines to make things compile
cleanly under Linux and other exotic OSes.
* Makefile.in: Added an XXX comment.
* HACKING: Added some portability recommendations.
1999-07-24 Andrew Arensburger <arensb@baa.ooblick.com>
* Deleted upload.c. Its intended use was subsumed by pdb_Upload()
in pdb.c.
1999-07-14 Andrew Arensburger <arensb@baa.ooblick.com>
* Merged changes from "portable" branch: coldsync now compiles
under FreeBSD 3.x, Redhat 6.0, Solaris 2.5, DU 4.0, AIX 4.1.
* src/padp.c: Made select() work under AIX. Moved `#include
"config.h"' to the top, so it'll affect system filess (this may
turn out to be a Bad Thing). Include <sys/select.h>, for AIX.
Include <strings.h>, for AIX.
* src/log.c: Renamed `log' to `synclog', to avoid conflict with
math library.
* src/dlp_cmd.c: Added a check for NULL pointer in a fprintf()
call, and a reminder to do so for another.
* src/config.c: Added emergency definition of MAXHOSTNAMELEN. This
may just be necessary under UMIACS's screwy setup, though.
* src/coldsync.c: Moved `#include "config.h"' to the top, so it'll
affect system header files where necessary. Bumped down the sync
speed to something that an Ultra 1 can handle. Renamed `log' to
`synclog', to avoid conflict with the math library under Solaris.
Solaris's printf() can't print NULL pointers as strings. Fixed the
appropriate printf() statements. Trace statements now go to stderr
instead of stdout. Cast a uid_t to 'unsigned int' instead of
'int', to make Solaris happy. Commented out declarations of
getopt() auxiliary variables: they should be in the header file
anyway.
* src/Makefile.in: Added @LIBS@ to LDFLAGS (D'oh!)
* configure.in: Added checks for AIX, <strings.h>, <sys/select.h>
(needed under AIX).
* config.h.in: Rearranged things a bit. Added a kludge to define
__EXTENSIONS__ under gcc, so it won't fuss about functions not
explicitly named in the ANSI standard.
* Makefile.in: Added 'make' symbols TAR and GZIP.
* src/coldsync.c: Cleaned up trace statements a bit. Allegedly
better command-line option parsing. Fixed usage message.
* src/backup.c: When doing a backup, just open databases
read-only. This simplifies the code.
* doc/coldsync.8: Added caveats about backups and restores.
1999-07-12 Andrew Arensburger <arensb@baa.ooblick.com>
* src/coldsync.c: Obsolete "-c" option is no longer accepted.
* doc/coldsync.8: Brought list of options in sync with reality.
Added various sections, and an explanation of conduits.
* src/GenericConduit.cc: Decided that C and C++ aren't bitter
enemies, and removed some paranoid XXX comments. Took out
reference to obsolete C SyncRecord() function. Switched to new
debugging/trace system. Added convenience functions for testing
PDB records' flags. Added destructor. Added read_backup(),
write_backup() methods. GenericConduit::run() and others now use
these new methods for reading/writing backup file, instead of
constructing filenames and reading file themselves. Can now force
slow or fast sync (not that this necessarily always makes sense).
Split up the monster run() method up into FirstSync(), SlowSync()
and FastSync(). Got rid of (f)printf() calls and bogus NULLs.
* src/coldsync.c: Got rid of remnants of old debugging/tracing
flags, replaced with new, command-line-based system. Can now just
do backup. Placeholder in place for restore. Now uses command-line
flag to see whether to consider ROM databases when syncing. Use
getopt() to parse command-line arguments instead of homegrown
system. Added "-d" command-line option for debugging. Changed "-s"
and "-f" flags to "-S" and "-F". Added sanity checks for
command-line options.
* src/coldsync.h: Got rid of do_clean option. If the user wants a
clean slate, he can either delete all of the files in the backup
directory, or hard-reset vis Palm, whichever is appropriate. Added
placeholder for config file to be specified on command line. Added
placeholder flag to consider ROM databases when syncing or backing
up, and one to specify whether new databases should be installed
before or after the main sync. Added 'struct debug_flags', as a
place to put all of the debugging flags and trace levels. #defined
some convenience macros. Cleaned out old prototypes from files
that don't exist anymore.
* src/conduit.c: Use debugging levels specified on the command
line.
* src/config.c: Use debugging levels specified on the command
line.
* src/handledb.c: Use debugging levels specified on the command
line.
* src/log.c: Use debugging levels specified on the command line.
* src/upload.c: Commented everything out, preparatory to rewriting
from scratch.
* src/util.c: Fixed off-by-one-month error (Unix numbers months
from Jan == 0, PalmOS numbers them from Jan == 1).
* src/slp.c: Use debugging levels specified on the command line.
* src/pdb.c: Use debugging levels specified on the command line.
Fixed some comments.
* src/padp.c: Use debugging levels specified on the command line.
* src/dlp_cmd.c: Use debugging levels specified on the command
line.
* src/dlp.c: Use debugging levels specified on the command line.
* src/cmp.c: Use debugging levels specified on the command line.
* src/backup.c: Rewritten from scratch. Backup() now backups up
everything on the Palm, instead of just one database.
* src/archive.c: Changed some memcpy() calls to strcpy(). This
should fix problems with dumping core on some machines. D'oh!
* src/PConnection.c: Removed XXX comment.
* src/Makefile.in: Fixed ${INCLUDES} for egcs. Added explicit CXX
and CCC symbols, for non-GNU, non-Berkeley 'make's. Got rid of
"sync.c". Added padp.h, palm_types.h to list of headers. Diddled
with files-to-clean symbols a bit. Added 'depend' target.
* src/GenericConduit.hh: Added destructor. Split up the different
types of sync into their own methods. Added read_backup(),
write_backup() methods to read and write the backup file; this
should make it easier to subclass the conduit to make new
conduits.
* doc/Makefile.in: Diddled with the lists of files to clean, a
bit. Simplified .texi->.info rule. Added a dummy "depend" target.
* doc/coldsync.8: Added a man page.
* configure.in: Added EXIT_STATUS variable; 'configure' now checks
for mandatory components and exits with a non-zero status if they
can't be found. Bumped up version number. Changed some comments
from m4 comments to shell comments, so they'll make their way into
the 'configure' script, for the benefit of the poor souls who have
to read them. Added checks for 'mkdep', 'tar' and 'gzip'. Added
check for <termios.h>. Added checks for select(), rename(),
strncpy(), strcasecmp(), strncasecmp(). Took out checks for sizes
of various types; replaced them with AC_TYPE_<type>, to define
types to sane values if they don't exist. Fixed workaround for
systems without cfmakeraw(). Added reminder to "make depend" at
the end.
* config.h.in: Instead of checking for types' sizes (gid_t,
mode_t, off_t, pid_t, size_t), use the 'autoconf' macros to define
them to something sane if they don't exist. Added checks for
strcasecmp(), strncasecmp(), getopt(), rename(), strncpy(),
<termios.h>. Added workaround for systems that don't have
strcasecmp() and strncasecmp().
* Makefile.in: Added 'depend' to the list of recursive targets.
Added "configure.in" to the distribution. Fixed up the CLEAN,
DISTCLEAN and SPOTLESS file lists. Added GZIP environment variable
to 'tar'.
* src/sync.c: deleted: everything in this file has now been moved
to GenericConduit.cc.
1999-07-04 Andrew Arensburger <arensb@baa.ooblick.com>
* configure.in: Took out all of the automake dependencies. Removed
check for Bourne shell. Simplified anal retentive CFLAGS code.
Added checks for 'install', 'mkid', 'tar' and 'gzip'. Added checks
for sizeof(uid_t), sizeof(off_t) (these need work, though).
Removed check for snprintf(). Print warning if select() wasn't
found.
* doc/version.texi.in: Version strings for the TeXinfo
documentation.
* doc/pdb.texi: Redid the automake-dependent stuff on the title
page.
* doc/libpalm.texi: Redid the automake-dependent stuff on the
title page.
* doc/Makefile.in: Top-level Makefile template, now that we're not
using automake anymore.
* Reorganized the source directory: all of the source now goes in
./src, instead having stuff strewn around ./coldsync, ./pconn and
./palm.
* config.h.in: Check for sizes of various types. Don't check for
snprintf() anymore. Added check for <sys/types.h>
* coldsync/log.c: Convenience functions for logging.
* coldsync/GenericConduit.hh: Added prototypes for new methods.
1999-07-03 Andrew Arensburger <arensb@baa.ooblick.com>
* pconn/dlp_cmd.h: Clarified some comments. Added stuff for DLP
1.2 response to DlpReadSysInfo().
* pconn/dlp_cmd.c: DlpReadSysInfo() now deals with DLP 1.2
response.
* pconn/Makefile.am: Added cfmakeraw.c to distribution.
* palm/palm_types.h, doc/pdb.texi: Added RCS Id string.
* coldsync/upload.c: Use CARD0 constant.
* coldsync/sync.c: #ifdef-ed out SlowSync(), FastSync(), since
these are now handled by the conduit. Ditto for archiving
functions.
* coldsync/pdb.c: Changed pdb_Read() and pdb_Write() to take open
file descriptors rather than file names. Made corresponding
adjustments. Caller is now responsible for opening and closing
files and whatnot.
* coldsync/pdb.h: Fixed declarations of pdb_Read() and pdb_Write()
for new behavior.
* coldsync/handledb.c: Took out the big unused part of HandleDB(),
since that's now handled by individual conduits. HandleDB() now
checks to see whether the database is a resource database (instead
of the conduit), since record and resource databases really need
to be handled differently.
* coldsync/config.c: Took out unused arguments to load_config().
* coldsync/coldsync.h: Took out obsolete INSTALL_DIR constant.
Added CARD0 constant. Added "namespace" struct for global options.
Took out declaration for RecordSync(), since it's now part of the
generic conduit.
* coldsync/coldsync.c: Added command-line argument parsing
(parse_args() and speeds[]). Added function to find maximum speed
that the serial port will handle (find_max_speed()) Not sure how
to do it right, though. Added logging; this needs to be redone
without the global variables, though. Send an abort message to the
Palm if a conduit barfs. Added some error-checking. Use CARD0
constant. Added usage(). Added print_version().
* coldsync/backup.c: Use CARD0 constant. Took out call to
pdb_Write() temporarily, until it can be rewritten.
* coldsync/Makefile.am: Added log.c.
* coldsync/GenericConduit.cc: Added headers. Finished comment.
Added logging on Palm. run() now officially refuses to deal with
resource databases. 'bakfname' now an array, not a pointer, which
simplifies stuff. Create the backup file at the top, to avoid
downloading stuff when you don't need to. Checks global options to
see whether to force a slow or fast sync. Fixed logic error in
slow sync: now does one pass through remote database to find new
remote records, and one pass through local database to find new
local records. Not sure what it used to do.
BUG: if a local record is clean and doesn't exist in the
remote database, the local record gets deleted. This means that if
you lose your Palm, get a replacement, and sync with it, you'll
lose all of your old data, even if you were good about syncing
regularly.
Adjusted for new behavior of pdb_Read() and pdb_Write():
read and write file descriptors, not file names, and caller
responsible for renaming staging file to the real one at the end.
Fixed bug whereby some records got free()ed twice. Took out some
overactive commenting: the "archived" flag for a record overlaps
the category field, so a record really has to have the "deleted"
flag to get archived.
* configure.in: Bumped up version. Allow user to override
CPPFLAGS. No hyphen in "anal retentive".
* Makefile.am: Added the "HACKING" file to the distribution.
1999-06-29 Andrew Arensburger <arensb@baa.ooblick.com>
* configure.in: Bumped version, got rid of cfsetspeed() check.
* config.h.in: Got rid of HAVE_CFSETSPEED.
* pconn/PConnection.c: Just use cfsetispeed()/cfsetospeed(), for
systems that don't have cfsetspeed(). Added strategic tcdrain(),
so that the Palm gets the final ACK and doesn't hang at the end of
the sync.
1999-06-27 Andrew Arensburger <arensb@baa.ooblick.com>
* coldsync/sync.c: Made SyncRecord() externally visible. Minor
cleaning.
* coldsync/pdb.h: Fixed some comments. Took out the XXX comments
about merging pdb_record and pdb_resource, since they're really
two entirely different data types, and need to be treated
differently. Trying to merge them without duplicating code just
isn't worth it.
* coldsync/handledb.c: Added rudimentary conduit support. Added
mkbakfname() function (for now), for generating backup file names.
* coldsync/coldsync.c: Added conduit support. Added temporary cpp
symbol that says whether to try to deal with ROM databases. Fixed
a bunch of XXX comments.
* coldsync/archive.h: Added block types for resource and sort
block.
1999-06-23 Andrew Arensburger <arensb@baa.ooblick.com>
* coldsync/Makefile.am: Removed download.c, added conduit-related
files.
* coldsync/GenericConduit.hh: Definition of generic conduit class.
* coldsync/GenericConduit.cc: Generic conduit methods.
* coldsync/pdb.c: Fixed a comment.
* coldsync/coldsync.h: Added mkbakfname() function, for now.
* coldsync/conduit.h: Definitions and such pertaining to conduits.
* coldsync/conduit.c: Conduit-related functions.
* pconn/dlp_cmd.c: DlpWriteUserInfo() doesn't update user's full
name unless it has changed.n
* palm/palm_types.h: Capitalized booleans "True" and "False", so
as not to cause problems with C++.
* pconn/slp.c: Boolean values are now capitalized.
* HACKING: Added section on priorities.
* pconn/util.h, pconn/slp.h, pconn/palm_errno.h,
pconn/palm_errno.c, pconn/padp.h, pconn/cmp.h, pconn/cmp.c,
pconn/cfmakeraw.c, pconn/PConnection.c, coldsync/archive.c,
coldsync/upload.c: Added magic Emacs lines.
1999-06-06 Andrew Arensburger <arensb@baa.ooblick.com>
* coldsync/download.c: Deleted, sinc it isn't used.
* pconn/dlp_cmd.c: Initialize some otherwise potentially
uninitialized variables.
* configure.in: Added check for C++ compiler. Use CPPFLAGS to for
"-ansi -pedantic", so it'll work with both.
* pconn/PConnection.h: Removed unused 'header_inbuf' field in
struct PConnection.
1999-06-05 Andrew Arensburger <arensb@baa.ooblick.com>
* pconn/slp.c: Took out some unused constants.
1999-06-03 Andrew Arensburger <arensb@baa.ooblick.com>
* pconn/dlp_cmd.c: Added function names to a bunch of otherwise
identical error messages.
1999-06-01 Andrew Arensburger <arensb@baa.ooblick.com>
* coldsync/sync.c: Cleaned up. Fixed/modified some comments,
implemented some XXX comments. Now handles identical dirty records
correctly.
1999-05-31 Andrew Arensburger <arensb@baa.ooblick.com>
* coldsync/handledb.c: Cleaned up a bit. Added some XXX comments.
Does either a slow or fast sync, as necessary.
* coldsync/config.c: Early stab at doing the Right Thing for
multiple users. Put the various sync directories in variables,
rather than #defines; create them if they don't exist. Determine
current user's name, home directory; current host's ID (currently
its IP address).
* coldsync/coldsync.c: Now automatically checks to see whether a
slow or fast sync is required. Updates user info (user name, user
ID, last sync host). Fixed some bogus identifiers.
* coldsync/coldsync.h: The various per-user sync directories are
now variables, rather than #defines. Now automatically checks to
see whether a slow or fast sync is required. Updates user info
(e.g., user name).
* pconn/dlp_cmd.c, pconn/dlp_cmd.h: Fixed some bogus identifiers.
* configure.in: Added stuff to check for a valid shell, so that
the Makefiles will work with 'gmake'.
1999-03-28 Andrew Arensburger <arensb@baa.ooblick.com>
* coldsync/sync.c: Added support for archiving records. Found a
bug with records that have been created and deleted since the last
sync. FastSync() now handles the case where both the local and
remote record have been modified and marked for archival.
* coldsync/archive.h: Functions and such for dealing with archive
files.
* coldsync/archive.c: Functions for dealing with archive files.
* coldsync/Makefile.am: Added archive.{c,h}.
* configure.in: Bumped up version number.
1999-03-16 Andrew Arensburger <arensb@baa.ooblick.com>
* doc/Makefile.am: Added the pdb stuff to the distribution.
* doc/pdb.texi: Description of Palm database file formats.
* coldsync/upload.c, coldsync/sync.c, coldsync/pdb.h,
coldsync/pdb.c: 'uniqueID' field in 'struct pdb' is now called
'id'.
* pconn/dlp_cmd.h, pconn/dlp_cmd.c: Minor cleaning. 'dbid' is now
'handle' throughout.
Tag ALPHA-6:
* coldsync/upload.c: Added some XXX comments.
* coldsync/sync.c: Added SYNC_TRACE macro, similar to the *_TRACE
macros in the pconn library. Updated pdb record attribute flags to
the clearer ones. Enabled DlpCleanUpDatabase() in all cases. Not
entirely sure why it was taken out in the first place. Added
FastSync(). Extracted record sync logic into SyncRecord().
* coldsync/pdb.c: Added pdb_FreeRecord(), pdb_FreeResource(),
new_Record(), pdb_CopyRecord(), pdb_CopyResource(). Made "rsrc"
the preferred abbreviation for "resource", instead of "res".
Functions that add/delete records now increment/decrement
db->numrecs; consequently, a lot of the more primitive functions,
which know how many records the database is supposed to have, now
have a "totalrecs" kludge so they don't get bitten by this.
* coldsync/pdb.h: Rearranged, renamed, reexplained record
attribute flags. Added prototypes for new functions. Minor
cleaning.
* coldsync/handledb.c: Minor cleaning. Use FastSync() instead of
SlowSync().
* coldsync/coldsync.h: Added prototype for FastSync().
* pconn/dlp_cmd.c: Some cleaning. Got rid of some ugly structs.
(ReadRecordByIndex) Fixed API.
(DlpWriteRecord) Fixed API; removed useless XXX comment.
(DlpWriteResource) Dynamic memory allocation is now official.
* pconn/dlp_cmd.h: Got rid of some ugly structs. Fixed
DlpWriteRecord() to take all the necessary information.
* AUTHORS: Added Rob.
* coldsync/coldsync.c: Minor cleaning.
* pconn/PConnection.c: Minor cleaning.
1999-03-11 Andrew Arensburger <arensb@baa.ooblick.com>
* coldsync/upload.c, coldsync/pdb.h, coldsync/pdb.c: Renamed
variables named "res" to "rsrc", for clarity and to help prevent
typos.
* coldsync/Makefile.am: "pdb.h" wasn't being included in
distribution.
* coldsync/upload.c, coldsync/sync.c, coldsync/pdb.h,
coldsync/pdb.c, coldsync/download.c, configure.in: Made 'struct
pdb' more rational: folded the two header sub-structs into 'struct
pdb'. Replaced three arrays
(record index, record length, record data) with a linked list of
record/resource structs.
* coldsync/pdb.c: Commented out some debug_dump()s. Added
pdb_DeleteRecordByID().
* coldsync/pdb.h: Renamed record attribute flags for clarity.
Added pdb_DeleteRecordByID(). Announce intention to revamp 'struct
pdb'.
* coldsync/sync.c: Almost finished phase 1 of slow sync. Renamed
'db' to 'remotedb' for clarity.
1999-03-10 Andrew Arensburger <arensb@baa.ooblick.com>
* coldsync/sync.c: Took out a big honkin' #if 0...#endif block.
Cleaned up the DlpOpenDB() call. Fixed some error messages that
had the wrong function name in them (oops!).
* coldsync/pdb.h: Took out the last traces of the old uniqueID
(3-char array, rather than udword).
* coldsync/pdb.c: Took out the last traces of the old uniqueID
(3-char array, rather than udword).
* coldsync/handledb.c: Renamed all Cold_Foo() functions to just
Foo().
* coldsync/coldsync.h: Renamed all Cold_Foo() functions to just
Foo().
* coldsync/coldsync.c: Renamed all Cold_Foo() functions to just
Foo().
* coldsync/backup.c: Renamed all Cold_Foo() functions to just
Foo().
* pconn/padp.c: Made one of the write timeouts non-experimental.
* coldsync/Makefile.am: Added the new files.
* coldsync/backup.c: Condensed the two monster functions
Cold_RecordBackup() and Cold_ResourceBackup() into the single,
simpler Cold_Backup().
* configure.in: Bumped up version number. Added an XXX comment.
Fixed the SHELL= assignment that causes problems under Solaris.
* coldsync/coldsync.c: Reads some config file type stuff.
Connection rate change code is no longer experimental. Now dumps a
bunch of information. Added lots of XXX comments.
* coldsync/coldsync.h: Renamed ColdPalm to Palm. Added various
bits of useful information about a given Palm device. Added a
bunch of prototypes.
* coldsync/config.c: New file. Functions for dealing with loading
config files.
* coldsync/handledb.c: Cleaned up. No longer distinguishes between
backing up record and resource databases.
* coldsync/pdb.c: Greatly expanded. This is now more reminiscent
of a "pdb" object than of a set of helper functions. Might warrant
being made into its own library.
* coldsync/download.c: New file. DownloadRecordDB() downloads a
record database from the Palm.
* coldsync/pdb.h: Moved here from "palm".
* coldsync/sync.c: New file: SlowSync() performs a slow sync with
the Palm, per the Pigeon Book.
* coldsync/upload.c: New file: UploadDatabase() installs a
database on the Palm.
* palm/Makefile.am: Took out pdb.h; moved it to "coldsync".
* pconn/dlp_cmd.c: Made some trace statments optional. Fixed API
for DlpWriteAppBlock(), DlpReadSortBlock(), DlpWriteSortBlock(),
DlpReadNextModifiedRec(), DlpWriteRecord(). Dynamic memory
allocation in DlpWriteResource().
* pconn/dlp_cmd.h: Cleaned up. Added some useful cpp symbols.
Cleaned up the API for several functions, and removed some useless
and/or ugly structs.
* pconn/padp.c: Added/cleaned up support for sending PADP messages
longer than 1024 bytes (multi-fragment messages).
* pconn/padp.h: Took out the hardcoded limitation on the length of
PADP messages, even though it's part of the protocol, since the
PADP layer now allocates memory dynamically.
* pconn/slp.c: Made debugging levels more consistent.
* pconn/util.c: Fixed header to get EPOCH_1904.
1999-02-24 Andrew Arensburger <arensb@baa.ooblick.com>
* palm/pdb.h: Took out obsolete field.
* coldsync/pdb.c: Completed "struct pdb" destructor.
Tag ALPHA-3:
Can now sync at a rate other than the default 9600 bps (under
FreeBSD, at least).
* config.h.in: Added symbols for the existence of "struct tm" and
whether it has time zone-related members.
* configure.in: Updated version number. Added check for time zone
information in "struct tm". Added stuff to build 'cfmakeraw()' if
necessary.
* coldsync/Makefile.am: Added dependency on libpconn.a, so
'coldsync' gets rebuilt correctly. Took "Makefile" out of the
distribution list, since it's there already
(though I think it shouldn't be).
* coldsync/backup.c: Added some XXX comments, took some trace
statements out.
* coldsync/coldsync.c: Added code to switch the sync rate (under
FreeBSD, at least). Finished taking out Cold_HandleDB(). Added
listlocalfiles() for now.
* coldsync/coldsync.h: Added INSTALL_DIR macro, for testing. Added
prototype for Cold_ResourceBackup().
* coldsync/handledb.c: Added an #if block for systems that don't
have snprintf(). Threw in some gratuitous calls to Cold_*Backup()
for testing.
* coldsync/pdb.c: Took out the monster read_pdb() function,
replaced it with LoadDatabase() and a host of support functions.
Hopefully this makes the whole thing more readable.
* palm/pdb.h: struct pdb now includes information on the sizes of
its components. Added some function prototypes.
* pconn/Makefile.am: Added the @COMPAT@ symbol, for portability
functions.
* pconn/PConnection.c: Added some portability stuff.
* pconn/cfmakeraw.c: This file longer tries to determine whether
it's necessary. The Makefile does that now.
* pconn/dlp.c: Added a header.
* pconn/dlp_cmd.c: Took out a bunch of trace statements.
DlpReadResourceByIndex now returns a pointer to the data, not a
copy.
* pconn/dlp_cmd.h: DlpReadResourceByIndex now returns a pointer to
the data, not a copy.
* pconn/padp.c: Made a bunch of trace statements conditional.
Added some experimental stuff to wait for the tty to be writable,
and time out if it isn't.
* pconn/util.c: Attempt at portability: see if "struct tm"
contains time zone information.
1999-02-22 Andrew Arensburger <arensb@baa.ooblick.com>
* coldsync/backup.c: Clear "database open" flag before writing.
Added Cold_ResourceBackup().
* coldsync/backup.c: Took out old Cold_BackupDB(), finished
Cold_RecordBackup().
* pconn/PConnection.h: Took out bogus 'next' pointer from
PConnection, since it's no longer on a list.
Tag ALPHA-2:
Everything now uses PConnections instead of pseudo-sockets. PADP
can now receive multi-fragment messages. DLP command functions now
return the DLP status code.
* pconn/Makefile.am: Took 'foo' out of the default list of
targets.
* pconn/util.h: Added prototypes for functions for converting
between different time formats.
* pconn/util.c: Added functions for converting between different
time formats.
* pconn/slp.c: When receiving a message, cleans out the remains of
the previous one, so as not to pollute subsequent messages with
bits of old data.
* pconn/dlp_cmd.c: Fixed API for DlpReadAppBlock(),
DlpReadSortBlock(), DlpReadRecordByID(), DlpReadRecordIDList().
These functions also now return pointers to the data, instead of
copies of it.
* pconn/dlp_cmd.h: Added struct dlp_recinfo to replace the
butt-ugly recreqrec... things. Fixed API for DlpReadAppBlock(),
DlpReadSortBlock(), DlpReadRecordByID(), DlpReadRecordIDList().
* pconn/PConnection.h: Added to the PADP layer a buffer for
receiving multi-fragment messages.
* doc/libpalm.texi: Took out my ugly edition number generator; now
use 'automake'.
* coldsync/handledb.c: Function to figure out what to do with a
database.
* coldsync/coldsync.h: Added a bogus BACKUP_DIR definition, for
testing. Fleshed out struct ColdPalm: took out the PConnection
that didn't belong there, put in (stubs for) everything else.
Moved function prototypes here.
* coldsync/coldsync.c: Moved function prototypes to "coldsync.h".
Added an attempt to sync at a different speed. Rewrote
Cold_GetMemInfo(). Rewrote Cold_ListDBs(). Wrote and rewrote
Cold_HandleDB(), and moved it to a separate file.
* coldsync/backup.c: Functions for backing up databases.
* coldsync/Makefile.am: Added backup.c, handledb.c .
* configure.in: Incremented version, added snprintf() to the list
of functions to check for.
* config.h.in: Added snprintf() to the list of required functions.
1999-02-21 Andrew Arensburger <arensb@baa.ooblick.com>
* coldsync/coldsync.c: Rewritten. It used to parse a database. Now
it looks at the memory on a Palm and lists its databases.
* coldsync/pdb.c: Fixed bug whereby record-type records weren't
being read correctly.
* coldsync/coldsync.h: Created. Data structures and such for
'coldsync'.
* doc/libpalm.texi: Got rid of the DLP command subsections.
Updated some filenames to reflect source tree reorganization.
Other updates. Added documentation for a few functions.
* pconn/PConnection.c: Added DLP to the protocol stack, so it
needs to be initialized and cleaned up as well.
* pconn/PConnection.h: PConnection now includes a dlp field for
the DLP protocol stuff, as well as the version of the comm
protocol that the other end understands. Added magic Emacs
variables.
* pconn/dlp.c: Added dlp_init(), dlp_tini(). dlp_recv_resp() now
returns to the caller an array of response arguments, so that the
caller can receive an arbitrary number of arguments. This array is
kept in the PConnection, and grows as needed. Added some magic
Emacs variables.
* pconn/dlp.h: Added dlp_init() and dlp_tini(). Changed
dlp_recv_resp() API: it now receives an array of dlp_args, so it
can receive an arbitrary number of response arguments. Added some
magic Emacs variables.
* pconn/dlp_cmd.h: Reorganized by DLP function. Added DLPRET*
macros. Many special structs that used to have pointers to strings
now just have char arrays to hold them. Got rid of some
overly-specialized structs. dlp_cardinfo now includes DLP 1.1
extension fields.
* pconn/dlp_cmd.c: Renamed DLPCMD_* to DLPC_* in a lot of cases.
Major reorganization of DLP command functions: all functions
return a pointer to an array of response arguments, which allows
the caller to get an arbitrary number of them. DLP command
functions now walk the list of response arguments and process each
one in turn. DlpReadStorageInfo() and DlpReadDBList() pretty much
rewritten. DlpReadStorageInfo() now returns the data that it
collects; extended card info is now in struct dlp_cardinfo, for
easy access. DlpReadDBList() now returns the data that it
collects.
* pconn/foo.c: Various changes.
* pconn/padp.c: Took out a bit of old crap.
* pconn/palm_errno.c: Added an error code.
* pconn/palm_errno.h: Added an error code.
* pconn/slp.c: Added Emacs auto-variables.
1999-02-19 Andrew Arensburger <arensb@baa.ooblick.com>
* configure.in: Updated version number. Added pedanticity warning
for non-gcc compilers. Check for more functions. Added template
for warning people about missing prerequisites.
* config.h.in: Auto-updated by autoheader.
* pconn/cfmakeraw.c: Added, for systems that don't have
cfmakeraw() (e.g., Solaris 2.5).
The connection-related stuff got moved to subdirectory 'pconn'.
Now uses 'automake' and 'autoconf'.
* Makefile.am: for automake, from Mark's example.
* AUTHORS: Added author list.
* HACKING: Added guidelines for hackers.
* config.h.in: Apparently automake really, really wants this.
1999-02-14 Andrew Arensburger <arensb@baa.ooblick.com>
All DLP commands now implemented, except ProcessRPC. The
protocol-specific error codes have now been moved to a single
place (palm_errno.[ch]).
Took out bunches of obsolete code. Better error-checking.
PADP now handles timeouts and retries (but not multi-fragment
messages).
SLP dynamically allocates memory for incoming packets and returns
pointers into it, making it possible to read a packet of unknown
size.
* doc/libpalm.texi: Added menus, more index entries. Better
cross-references, better formatting. Added documentation for SLP
and PADP functions.
* dlp_cmd.c: Added dlpcmd_gettime() and dlpcmd_puttime(), for
reading and writing DLP-style dates.
* dlp.c: dlp_send_req() automatically identifies and deals with
tiny, small and long arguments.
* dlp.h: dlp_recv_resp() now checks takes a request ID argument,
for better error-checking (so it can make sure it's getting a
response to the right request).
* padp.c: Added padp_init() and padp_tini(). padp_read() now gives
the caller a pointer to the data, rather than copying the packet
data into a caller-supplied buffer. This allows reading
arbitrary-length packets. Handles tickle and abort packets.
* padp.h: padp_init() now initializes a new PConnection;
padp_tini() cleans it up. padp_read() now gives back a pointer to
the data (gotten from SLP) rather than copying the data to a
caller-supplied buffer.
* slp.c: Put CRC code in "util.c". slp_recv() and slp_send() are
now slp_read() and slp_write(). Dynamically allocate memory for
sending and receiving packets; removed arbitrary packet-length
limitations. slp_init() now initializes the SLP layer of a
PConnection; slp_tini() cleans up at the end. Data buffers are now
in PConnection, rather than static. This should allow one to have
multiple connections in progress.
* slp.h: slp_init() and slp_tini() now used to initialize and
clean up SLP layer. slp_read() and slp_write() now take const
arguments.
* palm_errno.c, palm_errno.h: New files, for unified error codes.
* util.c: The get_*() and peek_*() functions now take 'const'
arguments, as they should. debug_dump() now prints both raw hex
and ASCII.
* util.h: Made a bunch of arguments 'const' that should have been.
* PConnection.c: new_PConnection() now initializes both SLP and
PADP layers. PConnClose() now cleans up both SLP and PADP and
(hopefully) doesn't leak memory anymore.
* PConnection.h: Added timeout field for PADP, so it can time out
if nothing comes in. SLP now has separate buffers for sending and
receiving. SLP data buffers are now dynamically allocated and
resized as needed.
* Makefile: Added palm_errno stuff to library. Added tags targets.
1999-02-04 Andrew Arensburger <arensb@baa.ooblick.com>
* doc/.cvsignore: First draft.
* doc/libpalm.texi: Fixed the magic edition number kludge.
* cmp.c, cmp.h, dlp_cmd.c, dlp_cmd.h: made some function arguments
`const'.
* Makefile: Took out the remnants of references to the Palm
headers. Added rules to build in subdirectories.
* doc/libpalm.texi: Added a hack to have the Edition (RCS's
Revision number) appear on the title page.
* doc/Makefile: First draft.
* doc/libpalm.texi: Fixed RCS keyword.
* doc/libpalm.texi: First draft.
1999-01-31 Andrew Arensburger <arensb@baa.ooblick.com>
Rewrote the protocol stack from scratch. State information is now
stored in a struct PConnection, rather than in (ugh!) global
variables. Connection handles are now ints, in the hope that one
day, the SLP and PADP layers will turn into kernel-level protocol
layers that can be accessed through sockets. The API is also
cleaner, and is based on read() and write() for recognizability.
* util.c (added): Miscellaneous utility functions, including a CRC
function written from scratch.
* util.h (added): Declarations of miscellaneous utility functions.
* dlp_cmd.h (added): Defines constants and data structures
pertaining to DLP commands, rather than the protocol itself.
* PConnection.c (added): struct PConnection encapsulates the state
about a connection to a Palm device.
* palm_types.h: Changed BSD-specific sized types to generic C
ones, in the hope that there'll one day be a function to check
them for sanity.
* padp.c: Rewritten from scratch. Cleaner API. Added retries on
send.
* foo.c: Lots of changes: mainly tore out the old crap, put in the
new functions, for testing.
* Makefile: Combined the three protocol-specific libraries into
one libpalm.
1999-01-23 Andrew Arensburger <arensb@baa.ooblick.com>
* dlp.c: Added an explanatory comment, error messages,
dlp_free_arglist(). Fixed dlp_send_req() to not wait for a reply.
Redid dlp_read_resp() completely.
* dlp.h: Added dlp_time, dlp_sysinfo structs. Took out old
protocol function prototypes; added some new ones. Added
DlpReadSysInfo().
* dlp_cmd.c: Utility functions now use dlp_read_resp() parsed
arguments. Fixed endianness problem in DlpEndOfSync(). Added
DlpReadSysInfo().
* foo.c: Lots of messing around.
* slp.c: Removed slp_crc() function, in favor of palm_crc().
* palm_crc.c: Took out bogus CRs, took out unused headers.
* .cvsignore: Added FreeBSD core files to the list of things to
ignore.
1999-01-22 Andrew Arensburger <arensb@baa.ooblick.com>
* Initial checkin of skeletal files.
|