mc-mcserver.m4 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. dnl MC_MCSERVER_CHECKS
  2. dnl Check how mcserver should check passwords.
  3. dnl Possible methods are PAM, pwdauth and crypt.
  4. dnl The later works with both /etc/shadow and /etc/passwd.
  5. dnl If PAM is found, other methods are not checked.
  6. AC_DEFUN([MC_MCSERVER_CHECKS], [
  7. dnl
  8. dnl mcfs server support
  9. dnl
  10. AC_ARG_ENABLE([mcserver],
  11. [ --enable-mcserver Support mc-specific networking file system server [[no]]],
  12. [enable_mcserver="$enableval"]
  13. )
  14. if test x"$enable_mcserver" = "xyes"; then
  15. AC_DEFINE(ENABLE_MCSERVER, 1, [Define to enable mc-specific networking file system server])
  16. AC_REQUIRE_SOCKET
  17. AC_CHECK_RPC
  18. use_net_code=true
  19. dnl Check if PAM can be used for mcserv
  20. AC_CHECK_LIB(dl, dlopen, [LIB_DL="-ldl"])
  21. AC_CHECK_LIB(pam, pam_start, [
  22. AC_DEFINE(HAVE_PAM, 1,
  23. [Define if PAM (Pluggable Authentication Modules) is available])
  24. MCSERVLIBS="-lpam $LIB_DL"
  25. mcserv_pam=yes], [], [$LIB_DL])
  26. dnl Check for crypt() - needed for both /etc/shadow and /etc/passwd.
  27. if test x"$mcserv_pam" = x; then
  28. dnl Check for pwdauth() - used on SunOS.
  29. AC_CHECK_FUNCS([pwdauth])
  30. dnl Check for crypt()
  31. AC_CHECK_HEADERS([crypt.h], [crypt_header=yes])
  32. if test -n "$crypt_header"; then
  33. save_LIBS="$LIBS"
  34. LIBS=
  35. AC_SEARCH_LIBS(crypt, [crypt crypt_i], [mcserv_auth=crypt])
  36. MCSERVLIBS="$LIBS"
  37. LIBS="$save_LIBS"
  38. if test -n "$mcserv_auth"; then
  39. AC_DEFINE(HAVE_CRYPT, 1,
  40. [Define to use crypt function in mcserv])
  41. dnl Check for shadow passwords
  42. AC_CHECK_HEADERS([shadow.h shadow/shadow.h],
  43. [shadow_header=yes; break])
  44. if test -n "$shadow_header"; then
  45. save_LIBS="$LIBS"
  46. LIBS="$MCSERVLIBS"
  47. AC_SEARCH_LIBS(getspnam, [shadow], [mcserv_auth=shadow])
  48. MCSERVLIBS="$LIBS"
  49. LIBS="$save_LIBS"
  50. if test -n "$mcserv_auth"; then
  51. AC_DEFINE(HAVE_SHADOW, 1,
  52. [Define to use shadow passwords for mcserv])
  53. fi
  54. fi
  55. fi
  56. fi
  57. fi
  58. fi
  59. AM_CONDITIONAL(ENABLE_MCSERVER, [test x"$enable_mcserver" = "xyes"])
  60. AC_SUBST(MCSERVLIBS)
  61. ])