summaryrefslogtreecommitdiff
path: root/configure.ac
Commit message (Collapse)AuthorAge
* Add a basic seccomp profile to zhmGravatar Benjamin Barenblat2019-12-03
| | | | | | | | | | | | | | | | | | | Prevent zhm from doing some evil things while it runs (e.g., ptracing) by implementing a basic seccomp-bpf filter. The filter still allows a lot of potentially dangerous operations (e.g., unlink(2)), but this is a good start. The filter is based partly on a close reading of the zhm and libhesiod source code and partly on empirical evidence from running zhm under strace. I’ve run zhm with this filter for several days without incident, but some edge cases (e.g., server failover) are still untested. configure decides whether or not to enable seccomp by looking for libseccomp. By default, it treats seccomp as an enhancement and enables it opportunistically. Builders can force seccomp to be enabled or disabled by passing --with-seccomp or --without-seccomp, respectively, to configure.
* Make the specified krb5 path the _first_ place we look for krb5-configGravatar Karl Ramm2013-10-13
| | | | | Just in case there's a system krb5-config and we're being told to use some other one..
* autoconf check for krb5_free_unparsed_nameGravatar Karl Ramm2013-08-08
|
* Provide a pkg-config file for zephyrGravatar Alex Chernyakhovsky2013-08-08
| | | | | | | | | | | | | | | | Previously, it was difficult to detect the presence of the zephyr library in autoconf, and required custom macros. However, the world has since developed pkg-config, which is a simple tool for detecting the presence of a package, its compile-time flags, and its link-time flags, even in the presence of recursive dependencies. This adds "zephyr.pc" as a file generated by the build process, and installs it into the appropriate directory, allowing the target system to use PKG_CHECK_MODULES([ZEPHYR], [zephyr]) AC_SUBST([ZEPHYR_CFLAGS]) AC_SUBST([ZEPHYR_LIBS]) to detect all necessary information to incorporate the zephyr library.
* Substitute paths into man pagesGravatar Jeffrey Hutzelman2013-02-21
| | | | | | Generate the man pages for zwgc, zctl, zhm, and zephyrd at build time, so they can refer to the paths actually used instead of whatever was used on Athena in the 1980's.
* Check for res_send and hes_resolve in libcGravatar Karl Ramm2013-02-17
| | | | close #71
* Clean up warningsGravatar Jeffrey Hutzelman2013-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Eliminate compiler warnings due to various issues (listed below). This allows Zephyr to build cleanly under GCC versions ranging from 4.1.0 to 4.7.2 with all of the options shown below: -g -O2 -Wall -Werror -Wno-deprecated-declarations -Wmissing-declarations -Wpointer-arith -Wstrict-prototypes -Wshadow -Wextra -Wno-missing-field-initializers -Wno-unused-parameter and, on recent versions, -Wunreachable-code Test builds were done - On Ubuntu 12.10 (Quantal Quetzal) using both MIT Kerberos 1.10.1 and Heimdal 1.6, without krb4 and both with and without C-Ares and Hesiod - On Fedora 14 using Heimdal 0.6, without C-Ares or Hesiod and both with and without krb4 (KTH Kerberos 1.3rc2) - On Fedora Core 3, Fedora Core 5, Fedora 7, and Fedora 10, using Heimdal 0.6 and without C-Ares, Hesiod, or krb4 It also allows clean builds on Solaris 10 under the Sun Studio 12 (9/07) C compiler with the following options: -g -fd -v -errfmt -errhdr=%user -errtags=yes -errwarn=%all -erroff=E_OLD_STYLE_FUNC_DECL,E_ENUM_TYPE_MISMATCH_ARG,E_ARG_INCOMPATIBLE_WITH_ARG ... and under Solaris 9 with the Sun Forte 7 (3/02) C compiler with the above options and -erroff=E_FUNC_HAS_NO_RETURN_STMT. Solaris builds were done with Heimdal 0.6 and without C-Ares, Hesiod, or krb4. The following types of issues are addressed in this change: - Parameters and local variables with the same names as library functions - Parameters and local variables with the same names as globals - Declarations for exported global variables missing from headers - Prototypes for exported functions missing from headers - Missing 'static' on functions that shouldn't be exported - Old-style function declarations - Duplicate declarations - Type mismatches - Unused variables and functions - Uninitialized variables - Forward references to enums - Necessary header files not included - Violations of the aliasing rules, where GCC was able to detect them - Missing braces on if blocks that might be empty - Attempts to do pointer arithmetic on pointers of type void *, which is not permitted in standard C. - An attempt to pass a function pointer via a void * parameter, which is not permitted in standard C. Instead, we now pass a pointer to a structure, which then contains the required function pointer. - Unnecessary inclusion of <krb5_err.h>, which is already included by <krb5.h> when the former exists, and might not be protected against double inclusion, depending on which com_err was used. - Missing include of <com_err.h>, which was masked by the fact that it is included by headers generated by e2fsprogs compile_et - Use of com_err() with a non-constant value in place of the format string, which in every case was a fixed-size buffer in which a message was built using sprintf(!). Both the calls to sprintf and the fixed-size buffers have been removed, in favor of just letting com_err() do the formatting. - Various cases where X library functions expecting a parameter of type wchar_t * were instead passed a parameter of type XChar2b *. The two types look similar, but are not the same and are _not_ interchangeable. - An overly-simplistic configure test which failed to detect existence of <term.h> on Solaris, due to not including <curses.h>. - Using the wrong type for the flags output of krb5_auth_con_getflags() when building against Heimdal. A configure test is added to detect the correct type.
* configure: Don't require libdes to use libkrbGravatar Jeffrey Hutzelman2013-01-31
| | | | | | Depending on how it was built, libkrb may not have a libdes dependency, and libdes may in fact not even exist. Don't fail unnecessarily in this case.
* configure: Don't demand readline, curses for libssGravatar Jeffrey Hutzelman2013-01-31
| | | | | | | | | | | | | | | | | | | libss may not have direct dependencies on readline and/or curses, and those libraries may in fact not even exist. If there is a dependency, a libss shared-library won't need us to link against it in any event. While old versions of libss were normally built only as archive libraries, I have been unable to find a version of that vintage which depends on readline or curses. Newer versions ship as shared libraries, and at least one widely-ditributed implementation still has no such dependency, but does appear to be able to load libreadline dynamically if it is present at runtime. KTH's libsl, which is an enhanced but drop-in-compatible libss replacement distributed with Heimdal, does depend on their editline library. But, while libeditline is a functional replacement for readline, its API is completely different. And again, this is generally a shared-library dependency of which we need not be aware.
* fix typo causing freebsd (non-native libiconv) build to failGravatar Karl Ramm2011-10-30
|
* Let's try a simpler autoconf idiom in the hopes of making lenny happyGravatar Karl Ramm2011-10-30
|
* fix variable reference; allow ss to be implicitly disabledGravatar Karl Ramm2011-10-30
|
* add --with-libiconv to configureGravatar Karl Ramm2011-10-30
|
* tweak configure/makefiles so we can build with or without ssGravatar Karl Ramm2011-10-29
|
* Retool our use of configure such that we track it like everyone else doesGravatar Karl Ramm2011-10-23
i.e. don't keep generated or foreign stuff in our source tree. As a side effect, this lets us use a libtool, etc. from this century