[pgsql-jp: 30843] pgpool: SSL negotiation

Tietew tietew @ tietew.net
2003年 8月 27日 (水) 13:24:13 JST


Tietew です。

pgpool を試してみようと思い,pgpool-0.1.4.tar.gz をコンパイル・
インストールしました。

環境は以下:
Debian GNU/Linux woody
postgresql 7.2.2-0.woody.1
postgresql-dev 7.2.2-0.woody.1

接続しようとすると以下のエラーが出て接続できませんでした。
$ psql -p9999 test
psql: could not receive server response to SSL negotiation packet: Success

Debian package が SSL 対応でコンパイルされている所為みたいなので,
SSLRequest は拒否するようにパッチを書いてみました。いちおう繋がっ
たのでこれで大丈夫だと思うんですが,どうでしょう。
# プロトコル理解してないし…(^^;;

--- child.c.orig	Sun Jul 20 23:44:37 2003
+++ child.c	Wed Aug 27 13:16:22 2003
@@ -88,4 +88,5 @@
 	{
 		int connection_reuse = 1;
+		int ssl_request = 0;
 
 		/* perform accept() */
@@ -101,4 +102,5 @@
 
 		/* read the startup packet */
+	retry_startup:
 		sp = read_startup_packet(frontend);
 		if (sp == NULL)
@@ -108,4 +110,17 @@
 			pool_close(frontend);
 			continue;
+		}
+		if (ntohl(sp->protoVersion) == 0x04D2162F)
+		{
+			/* SSL not supported */
+			pool_debug("SSLRequest: sent N; retry startup");
+			if (ssl_request)
+			{
+				pool_close(frontend);
+				continue;
+			}
+			pool_write_and_flush(frontend, "N", 1);
+			ssl_request = 1;
+			goto retry_startup;
 		}
 


―[ Tietew ]――――――――――――――――――――――――――――
Mail: tietew @ tietew.net / tietew @ raug.net
Web : http://www.tietew.net/     Tietew Windows Lab.
PGP fingerprint: 26CB 71BB B595 09C4 0153  81C4 773C 963A D51B 8CAA




pgsql-jp メーリングリストの案内