Re: Sybase Connection - trouble without protocol fallback
Frediano Ziglio <[email protected]> Wed, 5 Jul 2017 10:21:26 +0100
| Newsgroups | gmane.comp.db.tds.freetds |
|---|---|
| Message-ID | <CAHt6W4emPH6AKxWH_2Gz76Ws4T2FRpHqJTxwEGh-Pf=LWw3oQA@mail.gmail.com> |
2017-07-04 14:15 GMT+01:00 Fredy Paquet <[email protected]>: > Hello Frediano > > Thank you for the fix of the encryption flag in the login packet. > (I will verify correct operation next saturday) > > What can we do about the fallback problem (see below) ? > > --- Proposal 1 > > Change the statment to use TDS_ENCRYPTION_OFF: > > if (login->encryption_level == TDS_ENCRYPTION_DEFAULT) > login->encryption_level = TDS_ENCRYPTION_OFF; > > Because default encryption level is defined as OFF. > In master is changed to request for MSSQL as MSSQL support encrypted login by default since 2005 and recent version started forbidding not encrypted logins. > --- Proposal 2 > > I propose using a temporary local variable for the tds71-try, > instead of modifying an entry in the login record, which is being > used later for other protocol tries. > > in function tds71_do_login(): > > TDS_TINYINT my_encryption_level > = (login->encryption_level == TDS_ENCRYPTION_DEFAULT) > ? TDS_ENCRYPTION_REQUEST : login->encryption_level; > > then try with locally with my_encryption_level > > (this may be combined with Proposal 1) Already done this change in master, login structure is not changed now. > > --- Proposal 3 > > Drop the whole statement, because encryption_level should be controlled > by a freetds.conf setting. But on the other side, this might kill > working freetds.conf configurations. > Does not sound that great. > What do you think about it ? > > fp > > On Wed, 2017-06-28 at 09:12 +0200, Fredy Paquet wrote: >> >> This is due to the fact that in login.c(Line 1128) in function >> tds71_do_login() the encryption level is set to REQUEST, but never >> reset >> again: >> >> if (login->encryption_level == TDS_ENCRYPTION_DEFAULT) >> login->encryption_level = TDS_ENCRYPTION_REQUEST; >> >> This could easily fixed by saving/restoring the encryption level, but >> i'm asking me whether if there are other modified fields not being >> restored properly. The protocol fallback loop is in login.c Line 404. > > -- > Fredy Paquet > Mitglied der Geschäftsleitung > OPAG Informatik AG > Fabrikmattenweg 11 > CH-4144 Arlesheim > http://www.opag.ch > Tel. ++41 61 716 92 22 > Fax. ++41 61 716 92 29 > _______________________________________________ FreeTDS mailing list [email protected] https://lists.ibiblio.org/mailman/listinfo/freetds