diff --recursive -u misc/build/postgresql-9.1.1/configure misc/build/postgresql-9.1.1.patched/configure --- misc/build/postgresql-9.1.1/configure 2011-09-22 23:57:57.000000000 +0200 +++ misc/build/postgresql-9.1.1.patched/configure 2012-02-03 11:50:07.000000000 +0100 @@ -718,6 +718,7 @@ with_selinux with_openssl with_bonjour +with_mozldap with_ldap with_pam krb_srvtab @@ -836,6 +837,7 @@ with_krb_srvnam with_pam with_ldap +with_mozldap with_bonjour with_openssl with_selinux @@ -1533,6 +1535,7 @@ [postgres] --with-pam build with PAM support --with-ldap build with LDAP support + --with-mozldap build with Mozilla LDAP support --with-bonjour build with Bonjour support --with-openssl build with OpenSSL support --with-selinux build with SELinux support @@ -5432,6 +5435,42 @@ $as_echo "$with_ldap" >&6; } +{ $as_echo "$as_me:$LINENO: checking whether to use Mozilla C SDK for LDAP support" >&5 +$as_echo_n "checking whether to use Mozilla C SDK for LDAP support... " >&6; } + + + +# Check whether --with-mozldap was given. +if test "${with_mozldap+set}" = set; then + withval=$with_mozldap; + case $withval in + yes) + +cat >>confdefs.h <<\_ACEOF +#define USE_MOZLDAP 1 +_ACEOF + + ;; + no) + : + ;; + *) + { { $as_echo "$as_me:$LINENO: error: no argument expected for --with-mozldap option" >&5 +$as_echo "$as_me: error: no argument expected for --with-mozldap option" >&2;} + { (exit 1); exit 1; }; } + ;; + esac + +else + with_mozldap=no + +fi + + +{ $as_echo "$as_me:$LINENO: result: $with_mozldap" >&5 +$as_echo "$with_mozldap" >&6; } + + # # Bonjour @@ -8533,11 +8572,11 @@ *** Not using spinlocks will cause poor performance." >&2;} fi -if test "$with_gssapi" = yes ; then +if test "$with_krb5" = yes ; then if test "$PORTNAME" != "win32"; then - { $as_echo "$as_me:$LINENO: checking for library containing gss_init_sec_context" >&5 -$as_echo_n "checking for library containing gss_init_sec_context... " >&6; } -if test "${ac_cv_search_gss_init_sec_context+set}" = set; then + { $as_echo "$as_me:$LINENO: checking for library containing com_err" >&5 +$as_echo_n "checking for library containing com_err... " >&6; } +if test "${ac_cv_search_com_err+set}" = set; then $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS @@ -8554,16 +8593,16 @@ #ifdef __cplusplus extern "C" #endif -char gss_init_sec_context (); +char com_err (); int main () { -return gss_init_sec_context (); +return com_err (); ; return 0; } _ACEOF -for ac_lib in '' gssapi_krb5 gss 'gssapi -lkrb5 -lcrypto'; do +for ac_lib in '' com_err 'com_err -lssl -lcrypto' krb5 'krb5 -lcrypto -ldes -lasn1 -lroken'; do if test -z "$ac_lib"; then ac_res="none required" else @@ -8591,7 +8630,7 @@ test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then - ac_cv_search_gss_init_sec_context=$ac_res + ac_cv_search_com_err=$ac_res else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -8602,40 +8641,33 @@ rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext - if test "${ac_cv_search_gss_init_sec_context+set}" = set; then + if test "${ac_cv_search_com_err+set}" = set; then break fi done -if test "${ac_cv_search_gss_init_sec_context+set}" = set; then +if test "${ac_cv_search_com_err+set}" = set; then : else - ac_cv_search_gss_init_sec_context=no + ac_cv_search_com_err=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_gss_init_sec_context" >&5 -$as_echo "$ac_cv_search_gss_init_sec_context" >&6; } -ac_res=$ac_cv_search_gss_init_sec_context +{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_com_err" >&5 +$as_echo "$ac_cv_search_com_err" >&6; } +ac_res=$ac_cv_search_com_err if test "$ac_res" != no; then test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" else - { { $as_echo "$as_me:$LINENO: error: could not find function 'gss_init_sec_context' required for GSSAPI" >&5 -$as_echo "$as_me: error: could not find function 'gss_init_sec_context' required for GSSAPI" >&2;} + { { $as_echo "$as_me:$LINENO: error: could not find function 'com_err' required for Kerberos 5" >&5 +$as_echo "$as_me: error: could not find function 'com_err' required for Kerberos 5" >&2;} { (exit 1); exit 1; }; } fi - else - LIBS="$LIBS -lgssapi32" - fi -fi - -if test "$with_krb5" = yes ; then - if test "$PORTNAME" != "win32"; then - { $as_echo "$as_me:$LINENO: checking for library containing com_err" >&5 -$as_echo_n "checking for library containing com_err... " >&6; } -if test "${ac_cv_search_com_err+set}" = set; then + { $as_echo "$as_me:$LINENO: checking for library containing krb5_sendauth" >&5 +$as_echo_n "checking for library containing krb5_sendauth... " >&6; } +if test "${ac_cv_search_krb5_sendauth+set}" = set; then $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS @@ -8652,16 +8684,16 @@ #ifdef __cplusplus extern "C" #endif -char com_err (); +char krb5_sendauth (); int main () { -return com_err (); +return krb5_sendauth (); ; return 0; } _ACEOF -for ac_lib in '' krb5 'krb5 -lcrypto -ldes -lasn1 -lroken' com_err 'com_err -lssl -lcrypto'; do +for ac_lib in '' krb5 'krb5 -lcrypto -ldes -lasn1 -lroken'; do if test -z "$ac_lib"; then ac_res="none required" else @@ -8689,7 +8721,7 @@ test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then - ac_cv_search_com_err=$ac_res + ac_cv_search_krb5_sendauth=$ac_res else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -8700,33 +8732,34 @@ rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext - if test "${ac_cv_search_com_err+set}" = set; then + if test "${ac_cv_search_krb5_sendauth+set}" = set; then break fi done -if test "${ac_cv_search_com_err+set}" = set; then +if test "${ac_cv_search_krb5_sendauth+set}" = set; then : else - ac_cv_search_com_err=no + ac_cv_search_krb5_sendauth=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_com_err" >&5 -$as_echo "$ac_cv_search_com_err" >&6; } -ac_res=$ac_cv_search_com_err +{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_krb5_sendauth" >&5 +$as_echo "$ac_cv_search_krb5_sendauth" >&6; } +ac_res=$ac_cv_search_krb5_sendauth if test "$ac_res" != no; then test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" else - { { $as_echo "$as_me:$LINENO: error: could not find function 'com_err' required for Kerberos 5" >&5 -$as_echo "$as_me: error: could not find function 'com_err' required for Kerberos 5" >&2;} + { { $as_echo "$as_me:$LINENO: error: could not find function 'krb5_sendauth' required for Kerberos 5" >&5 +$as_echo "$as_me: error: could not find function 'krb5_sendauth' required for Kerberos 5" >&2;} { (exit 1); exit 1; }; } fi - { $as_echo "$as_me:$LINENO: checking for library containing krb5_sendauth" >&5 -$as_echo_n "checking for library containing krb5_sendauth... " >&6; } -if test "${ac_cv_search_krb5_sendauth+set}" = set; then + else + { $as_echo "$as_me:$LINENO: checking for library containing com_err" >&5 +$as_echo_n "checking for library containing com_err... " >&6; } +if test "${ac_cv_search_com_err+set}" = set; then $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS @@ -8743,16 +8776,16 @@ #ifdef __cplusplus extern "C" #endif -char krb5_sendauth (); +char com_err (); int main () { -return krb5_sendauth (); +return com_err (); ; return 0; } _ACEOF -for ac_lib in '' krb5 'krb5 -lcrypto -ldes -lasn1 -lroken'; do +for ac_lib in '' 'comerr32 -lkrb5_32'; do if test -z "$ac_lib"; then ac_res="none required" else @@ -8780,7 +8813,7 @@ test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then - ac_cv_search_krb5_sendauth=$ac_res + ac_cv_search_com_err=$ac_res else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -8791,34 +8824,38 @@ rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext - if test "${ac_cv_search_krb5_sendauth+set}" = set; then + if test "${ac_cv_search_com_err+set}" = set; then break fi done -if test "${ac_cv_search_krb5_sendauth+set}" = set; then +if test "${ac_cv_search_com_err+set}" = set; then : else - ac_cv_search_krb5_sendauth=no + ac_cv_search_com_err=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_krb5_sendauth" >&5 -$as_echo "$ac_cv_search_krb5_sendauth" >&6; } -ac_res=$ac_cv_search_krb5_sendauth +{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_com_err" >&5 +$as_echo "$ac_cv_search_com_err" >&6; } +ac_res=$ac_cv_search_com_err if test "$ac_res" != no; then test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" else - { { $as_echo "$as_me:$LINENO: error: could not find function 'krb5_sendauth' required for Kerberos 5" >&5 -$as_echo "$as_me: error: could not find function 'krb5_sendauth' required for Kerberos 5" >&2;} + { { $as_echo "$as_me:$LINENO: error: could not find function 'com_err' required for Kerberos 5" >&5 +$as_echo "$as_me: error: could not find function 'com_err' required for Kerberos 5" >&2;} { (exit 1); exit 1; }; } fi - else - { $as_echo "$as_me:$LINENO: checking for library containing com_err" >&5 -$as_echo_n "checking for library containing com_err... " >&6; } -if test "${ac_cv_search_com_err+set}" = set; then + fi +fi + +if test "$with_gssapi" = yes ; then + if test "$PORTNAME" != "win32"; then + { $as_echo "$as_me:$LINENO: checking for library containing gss_init_sec_context" >&5 +$as_echo_n "checking for library containing gss_init_sec_context... " >&6; } +if test "${ac_cv_search_gss_init_sec_context+set}" = set; then $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS @@ -8835,16 +8872,16 @@ #ifdef __cplusplus extern "C" #endif -char com_err (); +char gss_init_sec_context (); int main () { -return com_err (); +return gss_init_sec_context (); ; return 0; } _ACEOF -for ac_lib in '' 'comerr32 -lkrb5_32'; do +for ac_lib in '' gssapi_krb5 gss 'gssapi -lkrb5 -lcrypto'; do if test -z "$ac_lib"; then ac_res="none required" else @@ -8872,7 +8909,7 @@ test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then - ac_cv_search_com_err=$ac_res + ac_cv_search_gss_init_sec_context=$ac_res else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 @@ -8883,30 +8920,32 @@ rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext - if test "${ac_cv_search_com_err+set}" = set; then + if test "${ac_cv_search_gss_init_sec_context+set}" = set; then break fi done -if test "${ac_cv_search_com_err+set}" = set; then +if test "${ac_cv_search_gss_init_sec_context+set}" = set; then : else - ac_cv_search_com_err=no + ac_cv_search_gss_init_sec_context=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi -{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_com_err" >&5 -$as_echo "$ac_cv_search_com_err" >&6; } -ac_res=$ac_cv_search_com_err +{ $as_echo "$as_me:$LINENO: result: $ac_cv_search_gss_init_sec_context" >&5 +$as_echo "$ac_cv_search_gss_init_sec_context" >&6; } +ac_res=$ac_cv_search_gss_init_sec_context if test "$ac_res" != no; then test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" else - { { $as_echo "$as_me:$LINENO: error: could not find function 'com_err' required for Kerberos 5" >&5 -$as_echo "$as_me: error: could not find function 'com_err' required for Kerberos 5" >&2;} + { { $as_echo "$as_me:$LINENO: error: could not find function 'gss_init_sec_context' required for GSSAPI" >&5 +$as_echo "$as_me: error: could not find function 'gss_init_sec_context' required for GSSAPI" >&2;} { (exit 1); exit 1; }; } fi + else + LIBS="$LIBS -lgssapi32" fi fi @@ -13584,7 +13623,7 @@ fi if test "$with_ldap" = yes ; then - if test "$PORTNAME" != "win32"; then + if test "$PORTNAME" != "win32" || test "$with_mozldap" = "yes"; then for ac_header in ldap.h do @@ -13809,6 +13848,11 @@ done + +cat >>confdefs.h <<\_ACEOF +#define USE_MICROSOFT_LDAP 1 +_ACEOF + fi fi @@ -23348,7 +23392,99 @@ # We can test for libldap_r only after we know PTHREAD_LIBS if test "$with_ldap" = yes ; then _LIBS="$LIBS" - if test "$PORTNAME" != "win32"; then + if test "$with_mozldap" = "yes"; then + if test "$PORTNAME" != "win32"; then + mozlibname=ldap50 + else + mozlibname=nsldap32v50 + fi + +as_ac_Lib=`$as_echo "ac_cv_lib_$mozlibname''_ldap_bind" | $as_tr_sh` +{ $as_echo "$as_me:$LINENO: checking for ldap_bind in -l$mozlibname" >&5 +$as_echo_n "checking for ldap_bind in -l$mozlibname... " >&6; } +if { as_var=$as_ac_Lib; eval "test \"\${$as_var+set}\" = set"; }; then + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-l$mozlibname $PTHREAD_CFLAGS $PTHREAD_LIBS $EXTRA_LDAP_LIBS $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char ldap_bind (); +int +main () +{ +return ldap_bind (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" +$as_echo "$ac_try_echo") >&5 + (eval "$ac_link") 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then + eval "$as_ac_Lib=yes" +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + eval "$as_ac_Lib=no" +fi + +rm -rf conftest.dSYM +rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +ac_res=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } +as_val=`eval 'as_val=${'$as_ac_Lib'} + $as_echo "$as_val"'` + if test "x$as_val" = x""yes; then + cat >>confdefs.h <<_ACEOF +#define `$as_echo "HAVE_LIB$mozlibname" | $as_tr_cpp` 1 +_ACEOF + + LIBS="-l$mozlibname $LIBS" + +else + { { $as_echo "$as_me:$LINENO: error: library \"$mozlibname\" is required for Mozilla LDAP" >&5 +$as_echo "$as_me: error: library \"$mozlibname\" is required for Mozilla LDAP" >&2;} + { (exit 1); exit 1; }; } +fi + + LDAP_LIBS_FE="-l$mozlibname $EXTRA_LDAP_LIBS" + LDAP_LIBS_BE="-l$mozlibname $EXTRA_LDAP_LIBS" + elif test "$PORTNAME" != "win32"; then { $as_echo "$as_me:$LINENO: checking for ldap_bind in -lldap" >&5 $as_echo_n "checking for ldap_bind in -lldap... " >&6; } diff --recursive -u misc/build/postgresql-9.1.1/src/include/pg_config.h.in misc/build/postgresql-9.1.1.patched/src/include/pg_config.h.in --- misc/build/postgresql-9.1.1/src/include/pg_config.h.in 2011-09-22 23:57:57.000000000 +0200 +++ misc/build/postgresql-9.1.1.patched/src/include/pg_config.h.in 2012-02-03 11:50:07.000000000 +0100 @@ -785,6 +785,13 @@ (--with-libxslt) */ #undef USE_LIBXSLT +/* Defined when using Microsof LDAP */ +#undef USE_MICROSOFT_LDAP + +/* Define to 1 to use the Mozilla LDAP C SDK instead of platform default + (OpenLDAP or Microsoft LDAP). (--with-mozldap) */ +#undef USE_MOZLDAP + /* Define to select named POSIX semaphores. */ #undef USE_NAMED_POSIX_SEMAPHORES