X-Git-Url: https://git.armaanb.net/?a=blobdiff_plain;f=configure;h=95df243baba743e2d14269b9bae11c2a6b6f8685;hb=346e58e98596142ac2f3059814bbc7708b6824fd;hp=44879d42e612e9f8d95fa9d612ec452200fb2c51;hpb=01a8fd6567f520a5e8b0d6262f05c645f02e69a1;p=opendoas.git diff --git a/configure b/configure index 44879d4..95df243 100755 --- a/configure +++ b/configure @@ -25,13 +25,18 @@ usage: configure [options] --enable-static prepare for static build --without-pam disable pam support - --without-pam disable shadow support + --without-shadow disable shadow support + + --with-timestamp enable timestamp support --help, -h display this help and exit EOF exit 0 } +# defaults +WITHOUT_TIMESTAMP=yes + for x; do opt=${x%%=*} var=${x#*=} @@ -52,6 +57,8 @@ for x; do --with-shadow) WITHOUT_SHADOW=; WITHOUT_PAM=yes ;; --without-pam) WITHOUT_PAM=yes ;; --without-shadow) WITHOUT_SHADOW=yes ;; + --with-timestamp) WITHOUT_TIMESTAMP= ;; + --without-timestamp) WITHOUT_TIMESTAMP=yes ;; --help|-h) usage ;; *) die "Error: unknown option $opt" ;; esac @@ -61,7 +68,7 @@ CONFIG_MK=config.mk rm -f "$CONFIG_MK" # : ${VERSION:="$(git describe --dirty --tags --long --always)"} -: ${VERSION:="0.3.2"} +: ${VERSION:="6.2"} cat <>$CONFIG_MK PREFIX ?= ${PREFIX:="/usr"} @@ -141,20 +148,6 @@ check_func() { } authmethod() { - # - # Check for bsd_auth.h. - # - src=' -#include -int main(void) { - return 0; -}' - check_func "bsd_auth_h" "$src" && { - have_bsd_auth_h=1 - printf 'bsd\n' - return 0 - } - # # Check for pam_appl.h. # @@ -166,6 +159,7 @@ int main(void) { [ -z "$WITHOUT_PAM" ] && check_func "pam_appl_h" "$src" && { printf 'SRCS += pam.c\n' >>$CONFIG_MK printf 'LDFLAGS += -lpam\n' >>$CONFIG_MK + printf 'CPPFLAGS += -DUSE_PAM\n' >>$CONFIG_MK printf 'pam\n' return 0 } @@ -179,7 +173,9 @@ int main(void) { return 0; }' [ -z "$WITHOUT_SHADOW" ] && check_func "shadow_h" "$src" && { + printf 'SRCS += shadow.c\n' >>$CONFIG_MK printf 'LDFLAGS += -lcrypt\n' >>$CONFIG_MK + printf 'CPPFLAGS += -DUSE_SHADOW\n' >>$CONFIG_MK printf 'shadow\n' return 0 } @@ -187,6 +183,16 @@ int main(void) { return 1 } +persistmethod() { + [ -z "$WITHOUT_TIMESTAMP" ] && { + printf 'CPPFLAGS += -DUSE_TIMESTAMP\n' >>$CONFIG_MK + printf 'SRCS += timestamp.c\n' >>$CONFIG_MK + printf 'timestamp\n' + return 0 + } + return 1 +} + # # Check for explicit_bzero(). # @@ -320,9 +326,7 @@ int main(void) { execvpe("", p, p); return 0; }' -check_func "execvpe" "$src" || { - printf 'OPENBSD += execvpe.o\n' >>$CONFIG_MK -} +check_func "execvpe" "$src" || die "system has no execvpe(3): not supported" # # Check for setresuid(). @@ -333,22 +337,7 @@ int main(void) { setresuid(0, 0, 0); return 0; }' -check_func "setresuid" "$src" || { - printf 'OPENBSD += setresuid.o\n' >>$CONFIG_MK -} - -# -# Check for pledge(). -# -src=' -#include -int main(void) { - pledge("", NULL); - return 0; -}' -check_func "pledge" "$src" || { - printf 'OPENBSD += pledge-noop.o\n' >>$CONFIG_MK -} +check_func "setresuid" "$src" || die "system has no setresuid(2): not supported" # # Check for closefrom(). @@ -478,3 +467,10 @@ else printf 'Error auth method\t\t\n' >&2 exit 1 fi + +persist=$(persistmethod) +if [ $? -eq 0 ]; then + printf 'Using persist method\t\t\t%s.\n' "$persist" >&2 +else + printf 'Using persist method\t\t\tnone.\n' >&2 +fi