Fault injection via man-in-the-middle proxy?

David Bakin <[email protected]> Fri, 11 Nov 2016 17:53:32 +0000
Newsgroups gmane.comp.db.tds.freetds
Message-ID <673d5b2bee554f7c930d0036ffbc9e7d@PHCXEXCHMBX009.SEA.CORP.EXPECN.com>
(New to the list, new to TDS: I may have serious misconceptions!)

I'm thinking it would be useful - in order to help diagnose certain client-side reliability issues due to network problems we occasionally experience that lead to database connections returning errors (at the client-side) - to have a sort of man-in-the-middle proxy that could do SQL-oriented fault injection - e.g. returning errors at the protocol level, or simulating network faults (e.g., abnormal delays, or timeouts).

(It's hard for me to find the right keywords for a google search as it turns out that "SQL Fault Injection" has a completely different meaning ...)

So ... a couple of questions:


a)      Does this even make sense?

b)      Is there an existing tool that'll do it?

c)       Can I use FreeTDS to create a tool that'll do it?

*         Does this sound like a promising approach (assuming the answer to point a is "yes")?

*         As to point c - an earlier message on this list pointed a requester to tdspool as a starting point.

o   Is tdspool a good starting point?

o   This message/response was in 2010 and the response was that tdspool was subject to bit rot - I do see now in git that it was last updated only 4 months ago ... so I assume it is working now?

*         Assuming a = yes, b = no, c = yes and I go ahead with this, do you think the end result would be of general interest?

Thanks! - David

P.S. The environment is Windows, ODBC, SQL Server, and the client is a C++ application.