Evan Miller
cb0ee059b2
Migrate from Travis CI to GitHub Actions ( #229 )
...
* Add GitHub Actions workflow
* Consolidate CI test commands into test_script.sh
* Remove Travis build
2020-12-21 15:42:38 -05:00
Evan Miller
8dd10d332e
Merge pull request #228 from evanmiller/no-math
...
Remove math.h
2020-12-21 15:34:16 -05:00
Evan Miller
25435201b4
Remove math.h
2020-12-21 11:26:45 -05:00
Evan Miller
a2f34b1748
Merge pull request #227 from evanmiller/index-lang
...
Use the language ID from the DB header for indexing
2020-12-21 09:50:09 -05:00
Evan Miller
3001c3b94f
Use the language ID from the DB header for indexing
...
According to the HACKING file, the file's default language ID is stored
in the database header. Use this value instead of a generic English
language locale for indexing JET4 files.
Columns can have their own text sorting rules, including language ID
distinct from the file's language ID, but this is not addressed as we'd
have to break the mdb_index_hash_text function signature, which I'm not
prepared to do just yet.
There appear to be two bytes after the language ID that may indicate
additional sorting flags. These bytes need additional research.
2020-12-21 09:11:42 -05:00
Evan Miller
ec994b6f43
Merge pull request #225 from evanmiller/gcc-initializers
...
Use GCC style initializers for MdbFormatConstants
2020-12-20 20:48:38 -05:00
Evan Miller
b8ec7a2ec7
Use GCC style initializers for MdbFormatConstants
2020-12-20 20:15:13 -05:00
Evan Miller
c6f3b2f858
Merge pull request #224 from evanmiller/jet3-encodings
...
Simplify header-reading logic and support JET3 code pages
2020-12-20 20:12:06 -05:00
Evan Miller
f85905b5c8
Add a simple Latin-1 => UTF-8 transcoder w/o iconv
2020-12-20 19:54:51 -05:00
Evan Miller
134306d1af
Simplify header-reading logic and support JET3 code pages
...
Using the notes and RC4 key provided in the HACKING file, decrypt the
database definition page all at once instead of decrypting individual
fields with ad-hoc keys. Use the newly decrypted header to access the
database code page at offset 0x3C, and use this numeric value to
initialize the iconv converter with an appropriate charset name for
popular windows code pages. More encodings can be added later, with
the eventual goal of getting rid of the MDB_JET3_CHARSET environment
variable.
Note that individual columns can have their own code pages but this
issue is not addressed.
An extra field is added to the MdbFile structure - because this
struct is allocated internally, this should not break the public
ABI.
Finally, only set the db_passwd field if it's a JET3 database (see #144 )
2020-12-20 18:02:23 -05:00
Evan Miller
a8414720e4
Use wcstombs when iconv is not present ( #223 )
...
Replace the jerry-built UTF-16 => Latin-1 code path with a cross-platform wcstombs solution that emits UTF-8.
This adds an element to the end of the MdbHandle struct, but should not break any existing code.
A run-time option could be added later to emit other encodings, but people who care about such things can just use the iconv code path.
2020-12-20 17:56:33 -05:00
Evan Miller
fb6637c503
Fix unused but set variable warning ( #221 )
...
Refactor mdb_unicode2ascii to eliminate warnings
2020-12-19 09:37:39 -05:00
Evan Miller
1b96ef4b0d
Clarify mdb_unicode2ascii API and fix buffer overrun ( #220 )
...
There was some confusion as to whether the destination buffer length
should include space for the null terminator. Some callers of the
function assumed that a terminator would be added beyond the end
of the stated buffer size, while others did not. Make everything
consistent and also fix an overrun when there was insufficient
space for the output in the non-iconv implementation.
As stated in a code comment, a better solution would follow the lead
of libxls and use wcstombs and friends when iconv is not available.
But this gets into the weeds with conversion functions named differently
across platforms. The goal here is to fix the buffer overrun.
See oss-fuzz/28773
2020-12-19 08:24:32 -05:00
Evan Miller
7ce75142e8
Merge pull request #219 from evanmiller/oss-fuzz-28790
...
Fix integer overflow
2020-12-18 19:51:59 -05:00
Evan Miller
50c9bdfee6
Fix buffer overflow ( #218 )
...
See oss-fuzz/28787
2020-12-18 19:42:11 -05:00
Evan Miller
78bbf4250e
Merge pull request #217 from evanmiller/oss-fuzz-28780
...
Fix stack overflow
2020-12-18 16:35:48 -05:00
Evan Miller
3d2d534304
Merge pull request #216 from evanmiller/oss-fuzz-28779
...
Null-terminate binary strings
2020-12-18 16:33:54 -05:00
Evan Miller
16d249748a
Fix integer overflow
...
See oss-fuzz/28790
2020-12-18 11:22:52 -05:00
Evan Miller
89007cba18
Fix stack overflow
...
See oss-fuzz/28780
2020-12-18 09:35:12 -05:00
Evan Miller
a1cda27a58
Null-terminate binary strings
...
See oss-fuzz/28779
2020-12-18 09:26:28 -05:00
Evan Miller
c46c8b0e4d
Version 0.9.0, final
2020-12-17 14:03:05 -05:00
Evan Miller
c63a62e365
Update configure.ac
...
* AM_SILENT_RULES has been around for 9 years so just assume it
* dist-zip adds a ZIP archive step to "make dist"
2020-12-17 11:56:51 -05:00
Evan Miller
d70a3977b0
Fix Appveyor link
2020-12-17 11:20:23 -05:00
Evan Miller
ed6f6d08e3
Update CI badges to dev branch
2020-12-17 11:05:37 -05:00
Evan Miller
e7d5125e2b
Fix libmdbsql build on Windows
2020-12-17 11:04:54 -05:00
Evan Miller
f6be7a74ef
Merge pull request #213 from mdbtools/nirgal-patch-2
...
Drop obsolete files from .gitignore
2020-12-13 08:38:10 -05:00
Evan Miller
b0902d1a51
Restore GLib detection. Fixes #212
2020-12-13 07:43:52 -05:00
Evan Miller
47c933b8c3
Merge branch 'dev' of github.com:mdbtools/mdbtools into dev
2020-12-13 07:36:52 -05:00
Evan Miller
a19ea4a859
Merge pull request #211 from mdbtools/nirgal-patch-1
...
Remove obsolete comment
2020-12-13 07:19:16 -05:00
Evan Miller
924ec93ff1
Version 0.9.0, Beta 8
2020-12-04 10:48:37 -05:00
Evan Miller
eac859db6e
Merge pull request #208 from evanmiller/remove-old-docs
...
Remove old documentation
2020-12-04 10:45:51 -05:00
Evan Miller
057d0fe91c
Remove -Wno-portability from CI scripts
2020-12-04 10:07:26 -05:00
Evan Miller
b8cf4f4534
Merge branch 'master' into remove-old-docs
2020-12-04 09:34:04 -05:00
Evan Miller
774b8487c6
Merge pull request #206 from evanmiller/test-pkg-config-2
...
Verify pkg-config on Travis
2020-12-04 09:29:53 -05:00
Evan Miller
04f0f54ecd
Merge branch 'master' into remove-old-docs
2020-12-04 09:18:11 -05:00
Evan Miller
0444e0a67e
Remove out of date documentation
...
The HTML docs have not been updated in 10+ years. The README and man
pages should suffice for now.
2020-12-04 09:14:12 -05:00
Evan Miller
b3ed12d8fa
Merge pull request #204 from evanmiller/remove-specfile
...
Remove mdbtools spec file
2020-12-04 09:12:51 -05:00
Evan Miller
d186a98119
Have libmdb.pc reflect --disable-glib
...
Also try to work around Travis issues with sudo, libtool, and clang
2020-12-04 07:33:51 -05:00
Evan Miller
60cbfe821c
Verify pkg-config on Travis
...
Now featuring sudo
2020-12-04 06:11:02 -05:00
Evan Miller
2c5ceced57
Remove mdbtools spec file
...
This is used to build RPMs, but it is out of date and not under test
coverage. If someone would like to restore it, please add some kind of
test coverage so that it does not fall out of date in the future.
See #201
2020-12-03 19:34:44 -05:00
Evan Miller
0ba59e6f23
Merge pull request #200 from evanmiller/remove-changelog
...
Remove ChangeLog/CHANGELOG.md
2020-12-03 17:48:14 -05:00
Evan Miller
226c822e99
Version 0.9.0, Beta 7
2020-11-27 08:07:40 -05:00
Evan Miller
8175e8aacb
Merge pull request #199 from evanmiller/remove-deprecated
...
Remove deprecated functions
2020-11-27 07:27:09 -05:00
Evan Miller
be7840b9e6
Merge branch 'master' into remove-deprecated
2020-11-27 07:26:18 -05:00
Evan Miller
fa2ec4162c
Remove ChangeLog/CHANGELOG.md
...
The cyberemissary notes were technically NEWS (about an unofficial
release) and the earlier VCS notes are useless.
2020-11-27 07:04:28 -05:00
Evan Miller
790e818536
mdb-count is new since 0.7.1 [CI SKIP]
2020-11-27 06:38:44 -05:00
Evan Miller
b6aac22a1b
Remove GMDB section from TODO
...
This information has been copied to gmdb2's TODO file
2020-11-27 06:33:15 -05:00
Evan Miller
cd7ced0da0
Remove mem.c from Makefile
2020-11-27 06:02:26 -05:00
Evan Miller
eb39a483a3
Remove long-deprecated functions
...
mdb_init() and mdb_exit() have done nothing for a while.
mdb_get_coltype_string() and mdb_coltype_takes_length() were previously
removed, but remained in the header file by accident.
2020-11-27 05:58:14 -05:00
Evan Miller
4c13b891d9
Add CLI deprecation notices to README
2020-11-27 05:50:41 -05:00
Evan Miller
7a426fcece
Merge pull request #198 from nirgal/deprecation
...
Deprecate mdb-array mdb-header mdb-parsecsv
2020-11-27 05:42:02 -05:00
Evan Miller
16d36d700d
Remove unused packaging script
...
package.sh is a vestige of the cyberemissary fork.
2020-11-26 12:38:44 -05:00
Evan Miller
2c72591db0
Move 0.9 release information from README to NEWS
2020-11-24 20:30:32 -05:00
Evan Miller
1bb11c19a5
Merge branch 'dev' of github.com:mdbtools/mdbtools into dev
2020-11-24 20:30:06 -05:00
Evan Miller
757632007f
Version 0.9.0, Beta 6
2020-11-14 08:29:27 -05:00
Evan Miller
1efe8fc709
Merge pull request #194 from evanmiller/bounds-check-mdb-sql-bind-column
...
[Updated] Bounds check mdb_sql_bind_column()
2020-11-14 08:16:53 -05:00
Evan Miller
7f32684213
Merge branch 'dev' of github.com:mdbtools/mdbtools into dev
2020-11-13 12:10:31 -05:00
Evan Miller
4588eff278
Merge pull request #196 from mdbtools/nirgal-AUTHORS
...
Refreshed AUTHORS
2020-11-13 12:08:27 -05:00
Evan Miller
509831205b
Merge branch 'dev' of github.com:mdbtools/mdbtools into dev
2020-11-12 16:26:48 -05:00
Evan Miller
5f55b259de
Merge pull request #195 from evanmiller/thread-safety
...
Use re-entrant functions and thread-local storage in a couple of places
2020-11-12 16:14:15 -05:00
Evan Miller
df48fcb284
Use thread-local storage to cache run-time options
2020-11-12 13:38:32 -05:00
Evan Miller
1bef1b1dca
Use re-entrant functions in a couple of places
...
Replace strtok and gmtime with their re-entrant versions. More to come.
2020-11-12 11:20:05 -05:00
Evan Miller
12de22459a
Fix indentation warning on GCC
2020-11-08 09:39:59 -05:00
Evan Miller
9127595e0c
Version 0.9.0, Beta 5
2020-11-08 09:28:48 -05:00
Evan Miller
cdc0d184f2
Fix syntax error
2020-11-08 09:25:26 -05:00
Evan Miller
514e0fded0
Merge pull request #185 from mjwoodcock/odbc-string-truncation
...
Don't include length of '\0' in SQLGetData pcbValue
2020-11-08 09:19:28 -05:00
Evan Miller
bbc53dfade
Bounds check mdb_sql_bind_column()
...
Return -1 if the bounds check fails, otherwise the result of
mdb_bind_column_by_name.
Update other places in the code to check the return value.
2020-11-08 08:50:17 -05:00
Evan Miller
97e1d348f7
Merge pull request #193 from evanmiller/largefile
...
Large file support on 32-bit systems
2020-11-08 08:31:59 -05:00
Evan Miller
38ce7db045
Large file support on 32-bit systems
...
* Add AC_SYS_LARGEFILE to configure.ac
* Replace fseek with fseeko
2020-11-07 11:40:44 -05:00
Evan Miller
06234afc1a
Simplify configure.ac with AC_CHECK_FUNCS
2020-11-07 10:19:28 -05:00
Evan Miller
6464bc844e
Version 0.9.0, Beta 4
2020-11-01 08:35:01 -05:00
Evan Miller
51eae11a0d
Merge branch 'dev' of github.com:mdbtools/mdbtools into dev
2020-11-01 08:32:04 -05:00
Evan Miller
ad14a04dfa
Merge pull request #192 from evanmiller/merge-166
...
Original author: @rogerswb
* Dynamic allocation of MdbSQL->bound_values
Was previously hardcoded to 256 columns max.
2020-11-01 08:31:50 -05:00
Evan Miller
9cd901de85
Merge branch 'dev' of github.com:mdbtools/mdbtools into dev
2020-11-01 08:21:45 -05:00
Evan Miller
7c59ed97b7
Merge pull request #186 from mjwoodcock/bounds-check-mdb-bind-column
...
Bounds check mdb_bind_column()
2020-11-01 08:06:05 -05:00
Evan Miller
8b7162ded3
Merge branch 'dev' of github.com:mdbtools/mdbtools into merge-166
2020-11-01 07:55:53 -05:00
Evan Miller
0c50428532
Merge pull request #189 from nirgal/insert
...
mdb-export: Rename --backend into --insert
2020-10-25 13:11:01 -04:00
Evan Miller
60ee6495b7
Merge pull request #188 from rhurlin/dev
...
Unsigned error in index.c
2020-10-24 14:56:24 -04:00
Evan Miller
8158beb6f5
Version 0.9.0, Beta 3
2020-10-24 07:14:19 -04:00
Evan Miller
ebf999f8c3
Merge pull request #184 from mjwoodcock/export-better-timestamps
...
mdb-export: use sensible date formats
2020-10-24 06:34:24 -04:00
Evan Miller
7f28e1cef4
Update CI badge links
2020-10-19 14:41:05 -04:00
Evan Miller
a5e3e8a438
Include txt2man in distribution
2020-10-18 17:17:58 -04:00
Evan Miller
d2acba6010
Merge branch 'dev' of github.com:mdbtools/mdbtools into dev
2020-10-18 17:16:11 -04:00
Evan Miller
1efb1054d3
Merge pull request #183 from evanmiller/configure-error
...
Use AC_MSG_ERROR instead of echo/exit
2020-10-18 10:18:57 -04:00
Evan Miller
b6dc31eeb8
Merge pull request #182 from evanmiller/no-exit
...
Do not exit from library
2020-10-18 10:04:59 -04:00
Evan Miller
97bb488785
Use AC_MSG_ERROR instead of echo/exit
2020-10-18 09:48:38 -04:00
Evan Miller
131b443102
Do not exit from library
2020-10-18 09:45:51 -04:00
Evan Miller
888ad9fe3f
Merge pull request #179 from mdbtools/nirgal-patch-1
...
Don't distribute mdbver.h
2020-10-18 09:21:38 -04:00
Evan Miller
0e3110b925
Version 0.9.0, Beta 2
2020-10-18 08:52:58 -04:00
Evan Miller
6e48131bae
Merge branch 'dev' of github.com:mdbtools/mdbtools into dev
2020-10-18 08:03:07 -04:00
Evan Miller
d8ed91bb05
Include missing header files in make dist
2020-10-18 07:59:45 -04:00
Evan Miller
aac0a3d713
Merge branch 'dev' of github.com:mdbtools/mdbtools into dev
2020-10-18 07:46:43 -04:00
Evan Miller
02735e10db
Merge pull request #175 from nyalldawson/missing_file_crash2
...
Fix crash when a missing file is accessed via ODBC
2020-10-12 07:17:50 -04:00
Evan Miller
40d8b15c9e
Version 0.9.0, Beta 1
2020-10-11 16:07:28 -04:00
Evan Miller
8e6ebfc411
Merge pull request #174 from evanmiller/remove-gmdb2
...
Remove gmdb2
2020-10-11 15:58:26 -04:00
Evan Miller
a051350ba1
make distcheck fixes
2020-10-11 15:46:19 -04:00
Evan Miller
c19654ad40
Remove gmdb2
...
Split off the Gnome MDB file viewer into its own project:
https://github.com/mdbtools/gmdb2
This simplifies the build process somewhat and lets us focus on the core
project. (For starters, no more -Wno-portability flag!)
2020-10-11 14:59:08 -04:00
Evan Miller
0be4321e9a
Merge pull request #170 from mjwoodcock/dev
...
Support "SELECT TOP n [PERCENT]... " queries.
2020-09-26 06:58:39 -04:00
Evan Miller
8219e4ef7a
Merge pull request #162 from evanmiller/master
...
Monster pull request with changes from the last 5 years
2020-09-19 14:15:16 -04:00
Evan Miller
9d0c40905d
Merge branch 'dev' of github.com:mdbtools/mdbtools
2020-09-19 14:01:23 -04:00