Tedious: ์ตœ์ข… ์ƒํƒœ์—์„œ ๋Š๊น€

์— ๋งŒ๋“  2017๋…„ 06์›” 12์ผ  ยท  5์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: tediousjs/tedious

๊ฐ„๋žตํ•œ ๊ฐœ์š”๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•ด mssql npm์—์„œ ๊ฐœ๋ณ„ ํ˜ธ์ถœ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋น„๋™๊ธฐ์‹์œผ๋กœ ์ˆ˜๋ฐฑ ๊ฐœ์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ์‚ฝ์ž…ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด์ „ ๋ฒ„์ „์˜ mssql 3.3.0์„ ์‚ฌ์šฉํ•˜๋Š” ๋™์•ˆ ๋•Œ๋•Œ๋กœ npm์—์„œ ์ฝœ๋ฐฑ์„ ๋ฐ›์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค. mssql์„ 4.0.4๋กœ ์—…๋ฐ์ดํŠธํ–ˆ๋Š”๋ฐ ์—ฌ์ „ํžˆ ์ฝœ๋ฐฑ์ด ์ˆ˜์‹ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด npm๊นŒ์ง€ ์ถ”์ ํ–ˆ์Šต๋‹ˆ๋‹ค.
processPreLoginResponse ํ›„์— tls๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ SentTLSSSLNegotiation์œผ๋กœ ์ „ํ™˜๋ฉ๋‹ˆ๋‹ค. ์–ด๋–ค ์ด์œ ์—์„œ์ธ์ง€ ์ˆ˜๋ฐฑ ๊ฐœ์˜ ๋ ˆ์ฝ”๋“œ๊ฐ€ ์—ฌ๊ธฐ์— ๋„์ฐฉํ•˜๋ฉด socketEnd๊ฐ€ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ Final๋กœ ์ „ํ™˜ํ•˜๊ณ  enter ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋˜๊ณ  cleanupConnection์ด ํ˜ธ์ถœ๋˜๊ณ (๋งค๊ฐœ๋ณ€์ˆ˜ ์—†์ด) ์—ฐ๊ฒฐ์„ ์ง€์šฐ๊ณ  ํƒ€์ด๋จธ๋ฅผ ์š”์ฒญํ•˜๊ณ  ์—ฐ๊ฒฐ์„ ๋‹ซ๊ณ  socketClose๊ฐ€ ํ˜ธ์ถœ๋œ ๋‹ค์Œ Final๋กœ ๋‹ค์‹œ ์ „ํ™˜์„ ์‹œ๋„ํ•˜๊ณ  enter ํ•จ์ˆ˜๊ฐ€ ํ˜ธ์ถœ๋˜์ง€ ์•Š๊ณ  ๋ฌด๊ธฐํ•œ์œผ๋กœ ๊ฑฐ๊ธฐ์— ๋งค๋‹ฌ๋ ค ์žˆ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ž…๋‹ˆ๋‹ค.
์ฒ˜์Œ์— socketEnd๊ฐ€ ํ˜ธ์ถœ๋œ ์ด์œ  ๋˜๋Š” ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ๋‚ด ์ฝ”๋“œ์— ๋ฒ„๋ธ”๋ง๋˜์ง€ ์•Š์€ ์ด์œ ์— ๋Œ€ํ•œ ์•„์ด๋””์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@landondavidson @jstephens7 https://github.com/tediousjs/tedious/pull/763 ์ด ๋ณ‘ํ•ฉ๋˜์–ด [email protected] ๋กœ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์—ฌ์ „ํžˆ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค. ๊ทธ๋™์•ˆ ์ด ๋ฌธ์ œ๋ฅผ ์ข…๋ฃŒํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๐Ÿ™‡

๋ชจ๋“  5 ๋Œ“๊ธ€

azure ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ์ •ํ™•ํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. 1์ดˆ ํƒ€์ด๋จธ์—์„œ azure ๊ธฐ๋Šฅ์„ ์‹คํ–‰ํ•œ ์ง€ ์•ฝ 4์‹œ๊ฐ„ ํ›„์— ๋ฌธ์ œ๋ฅผ ์‰ฝ๊ฒŒ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ๋„์šธ ์ˆ˜ ์žˆ๋Š” ์ผ์ด ์žˆ์Šต๋‹ˆ๊นŒ? ์ด๊ฒƒ์€ ์šฐ๋ฆฌ์—๊ฒŒ ํฐ ๋ฌธ์ œ์ด๋ฉฐ ์šฐ๋ฆฌ๋Š” ์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ผ์ข…์˜ ์—…๋ฐ์ดํŠธ๋ฅผ ์›ํ•ฉ๋‹ˆ๋‹ค.

@landondavidson๋‹˜ , ๋‹ต๋ณ€์ด ๋Šฆ์–ด ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ
Azure DB์—์„œ ๊ฐ„ํ—์ ์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ConnectionError๋ฅผ ํ•ด๊ฒฐํ•œ #574๊ฐ€ ์žˆ์—ˆ๋Š”๋ฐ ์ง€๋ฃจํ•œ v2.1.0์—์„œ ๋ฆด๋ฆฌ์Šค๋˜์—ˆ์œผ๋ฉฐ ๋Œ€๋ถ€๋ถ„์˜ ์—ฐ๊ฒฐ ํ’€๋ง ํŒจํ‚ค์ง€๊ฐ€ ์ด์ „ ๋ฒ„์ „์˜ ์ง€๋ฃจํ•œ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. dep๊ฐ€ ์ตœ์‹  ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

@v-suhame, ConnectionError๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์†Œ์ผ“์€ ์—ฐ๊ฒฐ ๊ณผ์ •์—์„œ ๋‹ซํž™๋‹ˆ๋‹ค. ์ง€๋‚œ 2์ฃผ ๋™์•ˆ ํ”„๋กœ๋•์…˜์— ํˆฌ์ž…ํ•œ ์ˆ˜์ • ์‚ฌํ•ญ๊ณผ ํ•จ๊ป˜ ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ๋ฐฉ๊ธˆ ์ œ์ถœํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ถ€ํ•˜๊ฐ€ ๊ฝค ๋งŽ์€ ์›น์‚ฌ์ดํŠธ์ด๋ฉฐ ๋ณด๊ณ ๋œ ํ›„ ์—ฐ๊ฒฐ์„ ๋‹ค์‹œ ์‹œ๋„ํ•˜๋Š” ์—ฐ๊ฒฐ ํ’€๋ง์œผ๋กœ ์˜ค๋ฅ˜๊ฐ€ ์™„์ „ํžˆ ์‚ฌ๋ผ์กŒ์Šต๋‹ˆ๋‹ค.

@landondavidson @jstephens7 https://github.com/tediousjs/tedious/pull/763 ์ด ๋ณ‘ํ•ฉ๋˜์–ด [email protected] ๋กœ ์ถœ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์—ฌ์ „ํžˆ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ ์•Œ๋ ค์ฃผ์‹ญ์‹œ์˜ค. ๊ทธ๋™์•ˆ ์ด ๋ฌธ์ œ๋ฅผ ์ข…๋ฃŒํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๐Ÿ™‡

์ด์ „์˜ ์ˆ˜์ • ์‚ฌํ•ญ์ด ์ €์—๊ฒŒ ํšจ๊ณผ์ ์ด์ง€๋งŒ ์ฒ˜์Œ๋ถ€ํ„ฐ ์˜ค๋ฅ˜๋กœ ์ด์–ด์ง€๋Š” ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด wireshark๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ถ”์ ์„ ์‹คํ–‰ํ•˜๋Š” ๋™์•ˆ ๋ฌธ์ œ๋ฅผ ๋‘ ๋ฒˆ ์žฌํ˜„ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
๋‚ด๊ฐ€ ์–ป์€ ๊ฒƒ ์ค‘ ์ผ๋ถ€์˜ ์ค‘์š”์„ฑ์„ ํ™•์‹ ํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ๋‘ ๋ฒˆ ์‚ฌ์ด์— ๋‚ด๊ฐ€ ๋ฐœ๊ฒฌํ•œ ๊ณตํ†ต์ ์„ ํฌํ•จํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.
๋‘ ๋ฒˆ ๋ชจ๋‘ ์ฐฝ ํฌ๊ธฐ๊ฐ€ 66560์ธ PSH ACK ๋ฐ FIN ACK๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.
๊ทธ ํ›„ ๋‘ ๋ฒˆ ๋ชจ๋‘ RST ACK๋ฅผ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค.
๊ทธ๋Ÿฌ๋ฉด ๋‹ค์Œ TLS ํ˜‘์ƒ์„ ์‹œ์ž‘ํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค(ํด๋ผ์ด์–ธํŠธ ์•ˆ๋…•ํ•˜์„ธ์š”, ์„œ๋ฒ„ ์•ˆ๋…•ํ•˜์„ธ์š”... ์•”ํ˜ธํ™”๋œ ํ•ธ๋“œ์…ฐ์ดํฌ ๋ฉ”์‹œ์ง€).
๊ทธ ํ›„ ๋‘ ๋ฒˆ ๋ชจ๋‘ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ด๊ธฐ ์‹œ์ž‘ํ–ˆ๊ณ  TLS "์•”ํ˜ธํ™”๋œ ๊ฒฝ๊ณ "๋ฅผ ๋ฐ›์€ ํ›„ ACK์™€ socket.end๊ฐ€ ํ˜ธ์ถœ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(์ถ”๊ฐ€ TLS/TCP ํŠธ๋ž˜ํ”ฝ ์—†์Œ).

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰