New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Several changes.master #73
base: master
Are you sure you want to change the base?
Several changes.master #73
Conversation
otherwise libdir does not resolve
as it uses uint32_t
When a searched string was found in a body part, and that was not the last one, the loop terminated and no free(var[y]) was called on the remaining bodyparts. There is still a memory leak, if bc_compile_regex() fails and goto alldone; is executed. -- don't check on each iteration if val is non-NULL, but only at the beginning of the loop (as the loop does not change it)
Then the recipient is "" in sieve/bc_eval.c:eval_bc_test():case BC_ENVELOPE after address_itr_init(&ai, "") the return value of address_itr_next(&ai) is NULL, as tested in cunit/parseaddr.testc:test_iterator(). Even in this case, the while loop has to be entered for exactly one iteration.
and the latter is installed.
Instead of keeping source files in EXTRA_DIST, that are build using nodist_ prefix, mention the files in (dist_).._SOURCES. imap/lmtpstats.c, imap/pushstatc.s and imap/rfc822_header.c were already in imap_(imapd,lmtpd,libcyrus_imap)_SOURCES, so there is no point to repeat them in EXTRA_DIST. Mention the man pages always in EXTRA_DIST instead of adding them sometimes to EXTRA_DIST and sometimes to dist_man_MANS, and rename the latter occurrences to man_MANS. Include imap/imap_err.[ch] in the distribution, as it is done for (mupdate,tz,nttp)_err.[ch] .
-- reorder alphabetically -- add some symbols as EXPORTED, so that the corresponding files can be added to libcyrus_imap and not repeated as source files to httpd
.. so that it can be linked with libcyrus, even if the latter is a shared object
.. so that .o files in that directory are not included in the distribution tarball.
imap/message.h: I need this to call message_parse_mapped outside of cyrus imap/mailbox.h: needed by imap/message.h lib/byteorder64.h, imap/message_guid.h, imap/quota.h and imap/sequence.h: needed by imap/mailbox.h lib/prot.h: needed by imap/message.h sieve/varlist.h: as it is needed by sieve_interface.h
-- reorder alphabetically EXTRA_DIST=contrib/*
Github makes it difficult to review pull requests with many unrelated changes in them. Are you able to separate this into a few different pull requests, organised by the general thing being changed?
I'm assuming you have enough familiarity with git and github to manage this, but please ask if you need help :) Finally, the change to make libcrc32 a libtool library (2acc922) completely defeats the purpose of libcrc32, and will not be merged. libcrc32.a is a static library for the sole purpose of forcing the |
When libcrc32.a is compiled statically, meaning without -fPIC and the sared libcyrus_la is linked with non-PIC code, the text section is read/write, so that it cannot be shared (http://stackoverflow.com/questions/8331456/mixing-pic-and-non-pic-objects-in-a-shared-library) : all programs that dynamically link with libcyrus need their own copy of the text section from libcyrus. in practiice, I cannot verify this, as with ld 2.27.51.20161123 and gcc 6.2.1 20161114 the code does not compile: make V=1 *** Warning: Linking the shared library lib/libcyrus.la against the Switching from libcyrus_a to libcyrus_la as in 0ca4cc66df does solve the problems (warning disappears and code links with most recent ld). Users who care about performance compile anyway everything with -O3, PGO and possibly LTO. For users who do not care about performance, the optimization flags are irrelevant. For which of those target groups is libcrc32 compiled with -O3? Automake/Autoconf are not supposed to deal with optimization flags, it is up to the one who compiles the software to choose them, and the user shall be able to disable O3 in the same way in all software, if his compiler has known problems with O3. You are not forced to use github for the review and github does not know what it means "related stuff". Please add nodist_perl_libcyrus_min_la_SOURCES = $(nodist_lib_libcyrus_min_la_SOURCES) to Makefile.am on cyrus-2.5, otherwise the struct imapopt_s imapopts is unknown in perl/libcyrus_min.a and the resulting IMAP.so cannot resolve all its symbols, so cyradm does not load. |
I've tried to split this out as:
Hopefully splitting these should eventually enable this pr to be closed |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed in commit
5a22a67
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed in commit
238a6a4
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have done these changes locally over the last year and would be glad, if they are integrated on the master branch.