Re: Patch For sspi.c To Use Windows Authentication
Ken Collins <[email protected]>
| Newsgroups | gmane.comp.db.tds.freetds |
|---|---|
| Message-ID | <[email protected]> |
Confirmed! The patch works, so please move it on in :) - Ken On Nov 4, 2012, at 5:26 AM, Frediano Ziglio <[email protected]> wrote: > Could you try this patch ? > > Frediano > > > 2012/10/30 <[email protected]>: >> >> Is this something you want me to forward on to the person that gave me this patch before you would apply it? I can get them to join the list if needed. >> >> - Ken >> >> On Oct 30, 2012, at 4:08 AM, Frediano Ziglio <[email protected]> wrote: >> >>> Yes, I think your connection is using Kerberos. We have similar code >>> even for gssapi (that provide Kerberos for the Unix world). It must be >>> return tds_flush_packet(tds), not return status. Also you miss a >>> CompleteAuthToken call on SEC_I_COMPLETE_AND_CONTINUE. >>> >>> Frediano >>> >>> >>> 2012/10/29 <[email protected]>: >>>> >>>> A user on my TinyTDS/SQLServer list reported this bug with FreeTDS. They could not get Windows authentication to work and had to make the following change to sspi.c >>>> >>>>> free(auth_buf); >>>>> // code added start >>>>> if (status == SEC_I_COMPLETE_AND_CONTINUE || status == SEC_I_CONTINUE_NEEDED) { >>>>> if (out_buf.cbBuffer > 0) >>>>> { >>>>> tds_put_n(tds, auth->tds_auth.packet, out_buf.cbBuffer); >>>>> tds_flush_packet(tds); >>>>> return status; >>>>> } >>>>> } >>>>> // code added end >>>>> if (status != SEC_E_OK) >>>>> return TDS_FAIL; >>>> >>>> After that change, they got Windows authentication working and saw the following FreeTDS debug info. >>>> >>>>> AUTH >>>>> ENVCHANGE >>>>> INFO >>>>> ENVCHANGE >>>>> ENVCHANGE >>>>> INFO >>>>> LOGINACK >>>>> ENVCHANGE >>>>> DONE >>>>> Finally, there is the LOGINACK and DONE tokens : ) >>>> >>>> Opinions on doing this patch? >>>> >>>> >>>> - Ken >>>> >>>> >>>> >>>> >>>> _______________________________________________ >>>> FreeTDS mailing list >>>> [email protected] >>>> http://lists.ibiblio.org/mailman/listinfo/freetds >>> _______________________________________________ >>> FreeTDS mailing list >>> [email protected] >>> http://lists.ibiblio.org/mailman/listinfo/freetds >> >> _______________________________________________ >> FreeTDS mailing list >> [email protected] >> http://lists.ibiblio.org/mailman/listinfo/freetds > <commit-cdf93ab>_______________________________________________ > FreeTDS mailing list > [email protected] > http://lists.ibiblio.org/mailman/listinfo/freetds