annotate src/Makefile.am @ 359:a3e674fade6c

From Jeffrey Morlan: pst_parse_block misreads Table Contexts (aka "type 2") with a multi-block Row Matrix ("ind2"). Rows are never split between blocks - every block except the last has padding at the end which should be ignored. I've only seen this affect the recipients table, but presumably it could affect attachments too. This was causing out-of-bounds memory ranges to be returned from pst_getBlockOffset and later access; patch fixes both the table reading issue and adds a missing bounds check to pst_getBlockOffset (so as not to risk a segfault if the PST is corrupted).
author Carl Byington <carl@five-ten-sg.com>
date Wed, 06 Jul 2016 10:20:12 -0700
parents c4537664ff50
children 0ccc746c8079
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
122
bdb38b434c0a more changes from Fridrich Strba to avoid installing our config.h
Carl Byington <carl@five-ten-sg.com>
parents: 119
diff changeset
1 if PLATFORM_WIN32
140
fc6c54c453e5 patch from Fridrich Strba for dll build on mingw and cygwin
Carl Byington <carl@five-ten-sg.com>
parents: 133
diff changeset
2 NO_UNDEFINED = -no-undefined
118
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
3 else
140
fc6c54c453e5 patch from Fridrich Strba for dll build on mingw and cygwin
Carl Byington <carl@five-ten-sg.com>
parents: 133
diff changeset
4 NO_UNDEFINED =
118
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
5 endif
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
6
247
85d77d7b034b another patche from Kenneth Berland for solaris
Carl Byington <carl@five-ten-sg.com>
parents: 202
diff changeset
7
85d77d7b034b another patche from Kenneth Berland for solaris
Carl Byington <carl@five-ten-sg.com>
parents: 202
diff changeset
8 if OS_SOLARIS
249
76702156656b Subpackage Licensing
Carl Byington <carl@five-ten-sg.com>
parents: 248
diff changeset
9 AM_CFLAGS = -D_POSIX_PTHREAD_SEMANTICS
247
85d77d7b034b another patche from Kenneth Berland for solaris
Carl Byington <carl@five-ten-sg.com>
parents: 202
diff changeset
10 endif
85d77d7b034b another patche from Kenneth Berland for solaris
Carl Byington <carl@five-ten-sg.com>
parents: 202
diff changeset
11
85d77d7b034b another patche from Kenneth Berland for solaris
Carl Byington <carl@five-ten-sg.com>
parents: 202
diff changeset
12
248
0893fdbb3c03 patch from Kenneth Berland for solaris
Carl Byington <carl@five-ten-sg.com>
parents: 247
diff changeset
13
118
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
14 if STATIC_TOOLS
122
bdb38b434c0a more changes from Fridrich Strba to avoid installing our config.h
Carl Byington <carl@five-ten-sg.com>
parents: 119
diff changeset
15 PSTLIB = @PST_OBJDIR@/libpst.a
118
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
16 else
122
bdb38b434c0a more changes from Fridrich Strba to avoid installing our config.h
Carl Byington <carl@five-ten-sg.com>
parents: 119
diff changeset
17 PSTLIB = libpst.la
118
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
18 endif
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
19
247
85d77d7b034b another patche from Kenneth Berland for solaris
Carl Byington <carl@five-ten-sg.com>
parents: 202
diff changeset
20
118
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
21 common_header = common.h \
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
22 define.h \
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
23 libpst.h \
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
24 libstrfunc.h \
140
fc6c54c453e5 patch from Fridrich Strba for dll build on mingw and cygwin
Carl Byington <carl@five-ten-sg.com>
parents: 133
diff changeset
25 lzfu.h \
118
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
26 timeconv.h \
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
27 vbuf.h
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
28
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
29 common_source = debug.c \
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
30 libpst.c \
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
31 libstrfunc.c \
140
fc6c54c453e5 patch from Fridrich Strba for dll build on mingw and cygwin
Carl Byington <carl@five-ten-sg.com>
parents: 133
diff changeset
32 lzfu.c \
193
cf3df962f1e5 prep for fedora build
Carl Byington <carl@five-ten-sg.com>
parents: 176
diff changeset
33 timeconv.c \
118
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
34 vbuf.c
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
35
132
5e4d6faada34 fix from Fridrich Strba for parallel make
Carl Byington <carl@five-ten-sg.com>
parents: 122
diff changeset
36
118
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
37 if NEED_XGETOPT
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
38 common_source += XGetopt.c
140
fc6c54c453e5 patch from Fridrich Strba for dll build on mingw and cygwin
Carl Byington <carl@five-ten-sg.com>
parents: 133
diff changeset
39 common_header += XGetopt.h
118
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
40 endif
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
41
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
42 noinst_PROGRAMS = deltasearch dumpblocks getidblock
258
8ad8fd1c5451 check return codes from forked processes
Carl Byington <carl@five-ten-sg.com>
parents: 249
diff changeset
43 bin_PROGRAMS = lspst readpst pst2ldif nick2ldif
63
cfd6175f9334 Start work on pst2dii to convert to Summation dii load file format.
Carl Byington <carl@five-ten-sg.com>
parents: 59
diff changeset
44 if BUILD_DII
cfd6175f9334 Start work on pst2dii to convert to Summation dii load file format.
Carl Byington <carl@five-ten-sg.com>
parents: 59
diff changeset
45 bin_PROGRAMS += pst2dii
cfd6175f9334 Start work on pst2dii to convert to Summation dii load file format.
Carl Byington <carl@five-ten-sg.com>
parents: 59
diff changeset
46 endif
132
5e4d6faada34 fix from Fridrich Strba for parallel make
Carl Byington <carl@five-ten-sg.com>
parents: 122
diff changeset
47 lspst_SOURCES = lspst.c $(common_header)
308
97c53c6868ab add -m option to readpst to create Outlook .msg files
Carl Byington <carl@five-ten-sg.com>
parents: 202
diff changeset
48 readpst_SOURCES = readpst.c $(common_header) msg.cpp msg.h
132
5e4d6faada34 fix from Fridrich Strba for parallel make
Carl Byington <carl@five-ten-sg.com>
parents: 122
diff changeset
49 pst2ldif_SOURCES = pst2ldif.cpp $(common_header)
5e4d6faada34 fix from Fridrich Strba for parallel make
Carl Byington <carl@five-ten-sg.com>
parents: 122
diff changeset
50 pst2dii_SOURCES = pst2dii.cpp $(common_header)
5e4d6faada34 fix from Fridrich Strba for parallel make
Carl Byington <carl@five-ten-sg.com>
parents: 122
diff changeset
51 deltasearch_SOURCES = deltasearch.cpp $(common_header)
5e4d6faada34 fix from Fridrich Strba for parallel make
Carl Byington <carl@five-ten-sg.com>
parents: 122
diff changeset
52 dumpblocks_SOURCES = dumpblocks.c $(common_header)
5e4d6faada34 fix from Fridrich Strba for parallel make
Carl Byington <carl@five-ten-sg.com>
parents: 122
diff changeset
53 getidblock_SOURCES = getidblock.c $(common_header)
258
8ad8fd1c5451 check return codes from forked processes
Carl Byington <carl@five-ten-sg.com>
parents: 249
diff changeset
54 nick2ldif_SOURCES = nick2ldif.cpp $(common_header)
34
07177825c91b fix signed/unsigned to allow very small pst files with only leaf nodes
carl
parents: 21
diff changeset
55
308
97c53c6868ab add -m option to readpst to create Outlook .msg files
Carl Byington <carl@five-ten-sg.com>
parents: 202
diff changeset
56 readpst_CPPFLAGS = $(AM_CPPFLAGS) $(GSF_FLAGS)
118
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
57
132
5e4d6faada34 fix from Fridrich Strba for parallel make
Carl Byington <carl@five-ten-sg.com>
parents: 122
diff changeset
58 lspst_DEPENDENCIES = libpst.la
5e4d6faada34 fix from Fridrich Strba for parallel make
Carl Byington <carl@five-ten-sg.com>
parents: 122
diff changeset
59 readpst_DEPENDENCIES = libpst.la
5e4d6faada34 fix from Fridrich Strba for parallel make
Carl Byington <carl@five-ten-sg.com>
parents: 122
diff changeset
60 pst2ldif_DEPENDENCIES = libpst.la
5e4d6faada34 fix from Fridrich Strba for parallel make
Carl Byington <carl@five-ten-sg.com>
parents: 122
diff changeset
61 pst2dii_DEPENDENCIES = libpst.la
5e4d6faada34 fix from Fridrich Strba for parallel make
Carl Byington <carl@five-ten-sg.com>
parents: 122
diff changeset
62 deltasearch_DEPENDENCIES = libpst.la
5e4d6faada34 fix from Fridrich Strba for parallel make
Carl Byington <carl@five-ten-sg.com>
parents: 122
diff changeset
63 dumpblocks_DEPENDENCIES = libpst.la
5e4d6faada34 fix from Fridrich Strba for parallel make
Carl Byington <carl@five-ten-sg.com>
parents: 122
diff changeset
64 getidblock_DEPENDENCIES = libpst.la
258
8ad8fd1c5451 check return codes from forked processes
Carl Byington <carl@five-ten-sg.com>
parents: 249
diff changeset
65 nick2ldif_DEPENDENCIES = libpst.la
132
5e4d6faada34 fix from Fridrich Strba for parallel make
Carl Byington <carl@five-ten-sg.com>
parents: 122
diff changeset
66
118
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
67 if STATIC_TOOLS
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
68 noinst_LTLIBRARIES = libpst.la
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
69 else
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
70 lib_LTLIBRARIES = libpst.la
174
9bbc834d5f3e new debianization from hggdh
Carl Byington <carl@five-ten-sg.com>
parents: 172
diff changeset
71 libpstincludedir = $(includedir)/libpst-@LIBPST_SO_MAJOR@/libpst
118
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
72 libpstinclude_HEADERS = \
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
73 common.h \
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
74 libpst.h \
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
75 libstrfunc.h\
193
cf3df962f1e5 prep for fedora build
Carl Byington <carl@five-ten-sg.com>
parents: 176
diff changeset
76 lzfu.h \
118
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
77 timeconv.h \
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
78 vbuf.h
172
6954d315aaa8 move version-info into main configure.in, and set it properly.
Carl Byington <carl@five-ten-sg.com>
parents: 167
diff changeset
79 libpst_la_LDFLAGS = $(NO_UNDEFINED) -version-info @LIBPST_VERSION_INFO@
95
ff1743cbe4aa initial attempt at building a shared library
Carl Byington <carl@five-ten-sg.com>
parents: 73
diff changeset
80 endif
ff1743cbe4aa initial attempt at building a shared library
Carl Byington <carl@five-ten-sg.com>
parents: 73
diff changeset
81
118
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
82 libpst_la_SOURCES = $(common_source) $(common_header)
153
0b1766da9be8 use AM_ICONV for better portability of the library location.
Carl Byington <carl@five-ten-sg.com>
parents: 150
diff changeset
83 libpst_la_LIBADD = $(LTLIBICONV)
118
0f1492b7fe8b patch from Fridrich Strba for building on mingw and general cleanup of autoconf files
Carl Byington <carl@five-ten-sg.com>
parents: 95
diff changeset
84
202
2f38c4ce606f remove readpstlog, switch to plain ascii debug log files
Carl Byington <carl@five-ten-sg.com>
parents: 193
diff changeset
85 EXTRA_DIST =
122
bdb38b434c0a more changes from Fridrich Strba to avoid installing our config.h
Carl Byington <carl@five-ten-sg.com>
parents: 119
diff changeset
86 if !NEED_XGETOPT
bdb38b434c0a more changes from Fridrich Strba to avoid installing our config.h
Carl Byington <carl@five-ten-sg.com>
parents: 119
diff changeset
87 EXTRA_DIST += XGetopt.c XGetopt.h
bdb38b434c0a more changes from Fridrich Strba to avoid installing our config.h
Carl Byington <carl@five-ten-sg.com>
parents: 119
diff changeset
88 endif
16
c508ee15dfca switch to automake/autoconf
carl
parents:
diff changeset
89
c508ee15dfca switch to automake/autoconf
carl
parents:
diff changeset
90 # set the include path found by configure
119
f50f4321aa2d fix include file path
Carl Byington <carl@five-ten-sg.com>
parents: 118
diff changeset
91 INCLUDES= -I$(srcdir)/.. $(all_includes)
16
c508ee15dfca switch to automake/autoconf
carl
parents:
diff changeset
92
c508ee15dfca switch to automake/autoconf
carl
parents:
diff changeset
93 # the library search path.
153
0b1766da9be8 use AM_ICONV for better portability of the library location.
Carl Byington <carl@five-ten-sg.com>
parents: 150
diff changeset
94 lspst_LDADD = $(all_libraries) $(PSTLIB) $(LTLIBICONV)
308
97c53c6868ab add -m option to readpst to create Outlook .msg files
Carl Byington <carl@five-ten-sg.com>
parents: 202
diff changeset
95 readpst_LDADD = $(all_libraries) $(PSTLIB) $(LTLIBICONV) $(REGEXLIB) $(GSF_LIBS)
153
0b1766da9be8 use AM_ICONV for better portability of the library location.
Carl Byington <carl@five-ten-sg.com>
parents: 150
diff changeset
96 pst2ldif_LDADD = $(all_libraries) $(PSTLIB) $(LTLIBICONV)
0b1766da9be8 use AM_ICONV for better portability of the library location.
Carl Byington <carl@five-ten-sg.com>
parents: 150
diff changeset
97 pst2dii_LDADD = $(all_libraries) $(PSTLIB) $(LTLIBICONV) -lgd
258
8ad8fd1c5451 check return codes from forked processes
Carl Byington <carl@five-ten-sg.com>
parents: 249
diff changeset
98 deltasearch_LDADD = $(all_libraries) $(PSTLIB) $(LTLIBICONV)
153
0b1766da9be8 use AM_ICONV for better portability of the library location.
Carl Byington <carl@five-ten-sg.com>
parents: 150
diff changeset
99 dumpblocks_LDADD = $(all_libraries) $(PSTLIB) $(LTLIBICONV)
0b1766da9be8 use AM_ICONV for better portability of the library location.
Carl Byington <carl@five-ten-sg.com>
parents: 150
diff changeset
100 getidblock_LDADD = $(all_libraries) $(PSTLIB) $(LTLIBICONV)
258
8ad8fd1c5451 check return codes from forked processes
Carl Byington <carl@five-ten-sg.com>
parents: 249
diff changeset
101 nick2ldif_LDADD = $(all_libraries) $(PSTLIB) $(LTLIBICONV)
132
5e4d6faada34 fix from Fridrich Strba for parallel make
Carl Byington <carl@five-ten-sg.com>
parents: 122
diff changeset
102
5e4d6faada34 fix from Fridrich Strba for parallel make
Carl Byington <carl@five-ten-sg.com>
parents: 122
diff changeset
103