Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit65fb311

Browse files
committed
Add Rendezvous support to postmaster, from Chris Campbell
1 parent1ca0b6d commit65fb311

File tree

5 files changed

+213
-5
lines changed

5 files changed

+213
-5
lines changed

‎configure

Lines changed: 155 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -866,6 +866,7 @@ Optional Packages:
866866
--with-krb5[=DIR] build with Kerberos 5 support [/usr/athena]
867867
--with-krb-srvnam=NAME name of the service principal in Kerberos postgres
868868
--with-pam build with PAM support
869+
--with-rendezvous build with Rendezvous support
869870
--with-openssl[=DIR] build with OpenSSL support [/usr/local/ssl]
870871
--without-readline do not use Readline
871872
--without-zlib do not use Zlib
@@ -3360,6 +3361,46 @@ echo "${ECHO_T}$with_pam" >&6
33603361
33613362
33623363
3364+
#
3365+
# Rendezvous
3366+
#
3367+
echo"$as_me:$LINENO: checking whether to build with Rendezvous support">&5
3368+
echo$ECHO_N"checking whether to build with Rendezvous support...$ECHO_C">&6
3369+
3370+
3371+
3372+
# Check whether --with-rendezvous or --without-rendezvous was given.
3373+
iftest"${with_rendezvous+set}" =set;then
3374+
withval="$with_rendezvous"
3375+
3376+
case$withvalin
3377+
yes)
3378+
3379+
cat>>confdefs.h<<\_ACEOF
3380+
#define USE_RENDEZVOUS 1
3381+
_ACEOF
3382+
3383+
;;
3384+
no)
3385+
:
3386+
;;
3387+
*)
3388+
{ {echo"$as_me:$LINENO: error: no argument expected for --with-rendezvous option">&5
3389+
echo"$as_me: error: no argument expected for --with-rendezvous option">&2;}
3390+
{ (exit 1);exit 1; }; }
3391+
;;
3392+
esac
3393+
3394+
else
3395+
with_rendezvous=no
3396+
3397+
fi;
3398+
3399+
echo"$as_me:$LINENO: result:$with_rendezvous">&5
3400+
echo"${ECHO_T}$with_rendezvous">&6
3401+
3402+
3403+
33633404
#
33643405
# OpenSSL
33653406
#
@@ -9038,6 +9079,119 @@ fi
90389079
90399080
done
90409081
9082+
fi
9083+
9084+
iftest"$with_rendezvous" = yes;then
9085+
iftest"${ac_cv_header_DNSServiceDiscovery_DNSServiceDiscovery_h+set}" =set;then
9086+
echo"$as_me:$LINENO: checking for DNSServiceDiscovery/DNSServiceDiscovery.h">&5
9087+
echo$ECHO_N"checking for DNSServiceDiscovery/DNSServiceDiscovery.h...$ECHO_C">&6
9088+
iftest"${ac_cv_header_DNSServiceDiscovery_DNSServiceDiscovery_h+set}" =set;then
9089+
echo$ECHO_N"(cached)$ECHO_C">&6
9090+
fi
9091+
echo"$as_me:$LINENO: result:$ac_cv_header_DNSServiceDiscovery_DNSServiceDiscovery_h">&5
9092+
echo"${ECHO_T}$ac_cv_header_DNSServiceDiscovery_DNSServiceDiscovery_h">&6
9093+
else
9094+
# Is the header compilable?
9095+
echo"$as_me:$LINENO: checking DNSServiceDiscovery/DNSServiceDiscovery.h usability">&5
9096+
echo$ECHO_N"checking DNSServiceDiscovery/DNSServiceDiscovery.h usability...$ECHO_C">&6
9097+
cat>conftest.$ac_ext<<_ACEOF
9098+
#line$LINENO "configure"
9099+
#include "confdefs.h"
9100+
$ac_includes_default
9101+
#include <DNSServiceDiscovery/DNSServiceDiscovery.h>
9102+
_ACEOF
9103+
rm -f conftest.$ac_objext
9104+
if { (evalecho"$as_me:$LINENO:\"$ac_compile\"")>&5
9105+
(eval$ac_compile)2>&5
9106+
ac_status=$?
9107+
echo"$as_me:$LINENO:\$? =$ac_status">&5
9108+
(exit$ac_status); }&&
9109+
{ ac_try='test -s conftest.$ac_objext'
9110+
{ (evalecho"$as_me:$LINENO:\"$ac_try\"")>&5
9111+
(eval$ac_try)2>&5
9112+
ac_status=$?
9113+
echo"$as_me:$LINENO:\$? =$ac_status">&5
9114+
(exit$ac_status); }; };then
9115+
ac_header_compiler=yes
9116+
else
9117+
echo"$as_me: failed program was:">&5
9118+
cat conftest.$ac_ext>&5
9119+
ac_header_compiler=no
9120+
fi
9121+
rm -f conftest.$ac_objext conftest.$ac_ext
9122+
echo"$as_me:$LINENO: result:$ac_header_compiler">&5
9123+
echo"${ECHO_T}$ac_header_compiler">&6
9124+
9125+
# Is the header present?
9126+
echo"$as_me:$LINENO: checking DNSServiceDiscovery/DNSServiceDiscovery.h presence">&5
9127+
echo$ECHO_N"checking DNSServiceDiscovery/DNSServiceDiscovery.h presence...$ECHO_C">&6
9128+
cat>conftest.$ac_ext<<_ACEOF
9129+
#line$LINENO "configure"
9130+
#include "confdefs.h"
9131+
#include <DNSServiceDiscovery/DNSServiceDiscovery.h>
9132+
_ACEOF
9133+
if { (evalecho"$as_me:$LINENO:\"$ac_cpp conftest.$ac_ext\"")>&5
9134+
(eval$ac_cpp conftest.$ac_ext)2>conftest.er1
9135+
ac_status=$?
9136+
egrep -v'^ *\+' conftest.er1>conftest.err
9137+
rm -f conftest.er1
9138+
cat conftest.err>&5
9139+
echo"$as_me:$LINENO:\$? =$ac_status">&5
9140+
(exit$ac_status); }>/dev/null;then
9141+
iftest -s conftest.err;then
9142+
ac_cpp_err=$ac_c_preproc_warn_flag
9143+
else
9144+
ac_cpp_err=
9145+
fi
9146+
else
9147+
ac_cpp_err=yes
9148+
fi
9149+
iftest -z"$ac_cpp_err";then
9150+
ac_header_preproc=yes
9151+
else
9152+
echo"$as_me: failed program was:">&5
9153+
cat conftest.$ac_ext>&5
9154+
ac_header_preproc=no
9155+
fi
9156+
rm -f conftest.err conftest.$ac_ext
9157+
echo"$as_me:$LINENO: result:$ac_header_preproc">&5
9158+
echo"${ECHO_T}$ac_header_preproc">&6
9159+
9160+
# So? What about this header?
9161+
case$ac_header_compiler:$ac_header_preprocin
9162+
yes:no )
9163+
{echo"$as_me:$LINENO: WARNING: DNSServiceDiscovery/DNSServiceDiscovery.h: accepted by the compiler, rejected by the preprocessor!">&5
9164+
echo"$as_me: WARNING: DNSServiceDiscovery/DNSServiceDiscovery.h: accepted by the compiler, rejected by the preprocessor!">&2;}
9165+
{echo"$as_me:$LINENO: WARNING: DNSServiceDiscovery/DNSServiceDiscovery.h: proceeding with the preprocessor's result">&5
9166+
echo"$as_me: WARNING: DNSServiceDiscovery/DNSServiceDiscovery.h: proceeding with the preprocessor's result">&2;};;
9167+
no:yes )
9168+
{echo"$as_me:$LINENO: WARNING: DNSServiceDiscovery/DNSServiceDiscovery.h: present but cannot be compiled">&5
9169+
echo"$as_me: WARNING: DNSServiceDiscovery/DNSServiceDiscovery.h: present but cannot be compiled">&2;}
9170+
{echo"$as_me:$LINENO: WARNING: DNSServiceDiscovery/DNSServiceDiscovery.h: check for missing prerequisite headers?">&5
9171+
echo"$as_me: WARNING: DNSServiceDiscovery/DNSServiceDiscovery.h: check for missing prerequisite headers?">&2;}
9172+
{echo"$as_me:$LINENO: WARNING: DNSServiceDiscovery/DNSServiceDiscovery.h: proceeding with the preprocessor's result">&5
9173+
echo"$as_me: WARNING: DNSServiceDiscovery/DNSServiceDiscovery.h: proceeding with the preprocessor's result">&2;};;
9174+
esac
9175+
echo"$as_me:$LINENO: checking for DNSServiceDiscovery/DNSServiceDiscovery.h">&5
9176+
echo$ECHO_N"checking for DNSServiceDiscovery/DNSServiceDiscovery.h...$ECHO_C">&6
9177+
iftest"${ac_cv_header_DNSServiceDiscovery_DNSServiceDiscovery_h+set}" =set;then
9178+
echo$ECHO_N"(cached)$ECHO_C">&6
9179+
else
9180+
ac_cv_header_DNSServiceDiscovery_DNSServiceDiscovery_h=$ac_header_preproc
9181+
fi
9182+
echo"$as_me:$LINENO: result:$ac_cv_header_DNSServiceDiscovery_DNSServiceDiscovery_h">&5
9183+
echo"${ECHO_T}$ac_cv_header_DNSServiceDiscovery_DNSServiceDiscovery_h">&6
9184+
9185+
fi
9186+
iftest$ac_cv_header_DNSServiceDiscovery_DNSServiceDiscovery_h = yes;then
9187+
:
9188+
else
9189+
{ {echo"$as_me:$LINENO: error: header file <DNSServiceDiscovery/DNSServiceDiscovery.h> is required for Rendezvous">&5
9190+
echo"$as_me: error: header file <DNSServiceDiscovery/DNSServiceDiscovery.h> is required for Rendezvous">&2;}
9191+
{ (exit 1);exit 1; }; }
9192+
fi
9193+
9194+
90419195
fi
90429196
90439197
@@ -17327,6 +17481,7 @@ s,@with_krb4@,$with_krb4,;t t
1732717481
s,@with_krb5@,$with_krb5,;t t
1732817482
s,@krb_srvtab@,$krb_srvtab,;t t
1732917483
s,@with_pam@,$with_pam,;t t
17484+
s,@with_rendezvous@,$with_rendezvous,;t t
1733017485
s,@with_openssl@,$with_openssl,;t t
1733117486
s,@ELF_SYS@,$ELF_SYS,;t t
1733217487
s,@THREAD_LIBS@,$THREAD_LIBS,;t t

‎configure.in

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
dnl Process this file with autoconf to produce a configure script.
2-
dnl $Header: /cvsroot/pgsql/configure.in,v 1.257 2003/06/09 03:41:46 tgl Exp $
2+
dnl $Header: /cvsroot/pgsql/configure.in,v 1.258 2003/06/11 06:56:06 momjian Exp $
33
dnl
44
dnl Developers, please strive to achieve this order:
55
dnl
@@ -471,6 +471,17 @@ AC_MSG_RESULT([$with_pam])
471471
AC_SUBST(with_pam)
472472

473473

474+
#
475+
# Rendezvous
476+
#
477+
AC_MSG_CHECKING([whether to build with Rendezvous support])
478+
PGAC_ARG_BOOL(with, rendezvous, no,
479+
[ --with-rendezvous build with Rendezvous support],
480+
[AC_DEFINE([USE_RENDEZVOUS], 1, [Define to 1 to build with Rendezvous support. (--with-rendezvous)])])
481+
AC_MSG_RESULT([$with_rendezvous])
482+
AC_SUBST(with_rendezvous)
483+
484+
474485
#
475486
# OpenSSL
476487
#
@@ -759,6 +770,10 @@ if test "$with_pam" = yes ; then
759770
[AC_MSG_ERROR([header file <security/pam_appl.h> or <pam/pam_appl.h> is required for PAM.])])])
760771
fi
761772

773+
if test "$with_rendezvous" = yes ; then
774+
AC_CHECK_HEADER(DNSServiceDiscovery/DNSServiceDiscovery.h, [], [AC_MSG_ERROR([header file <DNSServiceDiscovery/DNSServiceDiscovery.h> is required for Rendezvous])])
775+
fi
776+
762777

763778
##
764779
## Types, structures, compiler characteristics

‎doc/src/sgml/installation.sgml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/installation.sgml,v 1.132 2003/03/25 16:15:36 petere Exp $ -->
1+
<!-- $Header: /cvsroot/pgsql/doc/src/sgml/installation.sgml,v 1.133 2003/06/11 06:56:06 momjian Exp $ -->
22

33
<chapter id="installation">
44
<title><![%standalone-include[<productname>PostgreSQL</>]]>
@@ -270,8 +270,7 @@ JAVACMD=$JAVA_HOME/bin/java
270270
<listitem>
271271
<para>
272272
<application>Kerberos</>, <application>OpenSSL</>, or <application>PAM</>,
273-
if you want to support
274-
authentication using these services.
273+
if you want to support authentication using these services.
275274
</para>
276275
</listitem>
277276
</itemizedlist>
@@ -906,6 +905,15 @@ JAVACMD=$JAVA_HOME/bin/java
906905
</listitem>
907906
</varlistentry>
908907

908+
<varlistentry>
909+
<term><option>--with-rendezvous</option></term>
910+
<listitem>
911+
<para>
912+
Build with Rendezvous support.
913+
</para>
914+
</listitem>
915+
</varlistentry>
916+
909917
<varlistentry>
910918
<term><option>--without-zlib</option></term>
911919
<listitem>

‎src/backend/postmaster/postmaster.c

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
*
3838
*
3939
* IDENTIFICATION
40-
* $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.331 2003/05/28 19:36:28 tgl Exp $
40+
* $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.332 2003/06/11 06:56:06 momjian Exp $
4141
*
4242
* NOTES
4343
*
@@ -85,6 +85,10 @@
8585
#include<getopt.h>
8686
#endif
8787

88+
#ifdefUSE_RENDEZVOUS
89+
#include<DNSServiceDiscovery/DNSServiceDiscovery.h>
90+
#endif
91+
8892
#include"catalog/pg_database.h"
8993
#include"commands/async.h"
9094
#include"lib/dllist.h"
@@ -366,6 +370,17 @@ checkDataDir(const char *checkdir)
366370
}
367371

368372

373+
#ifdefUSE_RENDEZVOUS
374+
375+
/* reg_reply -- empty callback function for DNSServiceRegistrationCreate() */
376+
staticvoid
377+
reg_reply(DNSServiceRegistrationReplyErrorTypeerrorCode,void*context)
378+
{
379+
380+
}
381+
382+
#endif
383+
369384
int
370385
PostmasterMain(intargc,char*argv[])
371386
{
@@ -723,6 +738,18 @@ PostmasterMain(int argc, char *argv[])
723738
else
724739
elog(LOG, "IPv4socketcreated");
725740
}
741+
#endif
742+
#ifdefUSE_RENDEZVOUS
743+
if (service_name!=NULL)
744+
{
745+
DNSServiceRegistrationCreate(NULL,/* default to hostname */
746+
"_postgresql._tcp.",
747+
"",
748+
htonl(PostPortNumber),
749+
"",
750+
(DNSServiceRegistrationReply)reg_reply,
751+
NULL);
752+
}
726753
#endif
727754
}
728755

‎src/include/pg_config.h.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -564,6 +564,9 @@
564564
/* Define to 1 to build with PAM support. (--with-pam) */
565565
#undef USE_PAM
566566

567+
/* Define to 1 to build with Rendezvous support. (--with-rendezvous) */
568+
#undef USE_RENDEZVOUS
569+
567570
/* Define to build with (Open)SSL support. (--with-openssl) */
568571
#undef USE_SSL
569572

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp