I've been having also sorts of fun trying to get kerberos 4
authentifica tion working with postgresql-6.4.2 and KTH-KRB Ebones (http://www.pdc.kth.se/kth-kr b) on a dec alpha running DU 4.0D using the native compiler. The following patch does the trick. The rationale behind this is as follows. The KTH-KRB code header files defines lots of lengths like INST_SZ,REALM_SZ and KRB_SENDAUTH_VLEN. It also has a habit of doing things like chararray[LENGTH] = '\0' to ensure null terminated strings. In my instance this just happens to blat the kerberos principal instance string leading to error like pg_krb4_recvauth: kerberos error: Can't decode authenticator (krb_rd_req ) The application code that comes with KTH-KRB uses "KRB_SENDAUTH_VLEN + 1" and sometimes uses "INST_SZ + 1" so it seems safest to put that 1 char buffer in the appropriate place. Rodney McDuff
This commit is contained in:
parent
aba8c12f67
commit
9cab13c42e
@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/backend/libpq/auth.c,v 1.33 1999/02/13 23:15:38 momjian Exp $
|
* $Header: /cvsroot/pgsql/src/backend/libpq/auth.c,v 1.34 1999/03/14 16:06:42 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -77,8 +77,8 @@ pg_krb4_recvauth(Port *port)
|
|||||||
{
|
{
|
||||||
long krbopts = 0; /* one-way authentication */
|
long krbopts = 0; /* one-way authentication */
|
||||||
KTEXT_ST clttkt;
|
KTEXT_ST clttkt;
|
||||||
char instance[INST_SZ],
|
char instance[INST_SZ+1],
|
||||||
version[KRB_SENDAUTH_VLEN];
|
version[KRB_SENDAUTH_VLEN+1];
|
||||||
AUTH_DAT auth_data;
|
AUTH_DAT auth_data;
|
||||||
Key_schedule key_sched;
|
Key_schedule key_sched;
|
||||||
int status;
|
int status;
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-auth.c,v 1.26 1999/02/13 23:22:39 momjian Exp $
|
* $Header: /cvsroot/pgsql/src/interfaces/libpq/fe-auth.c,v 1.27 1999/03/14 16:06:43 momjian Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -144,8 +144,8 @@ pg_krb4_init()
|
|||||||
static char *
|
static char *
|
||||||
pg_krb4_authname(char *PQerrormsg)
|
pg_krb4_authname(char *PQerrormsg)
|
||||||
{
|
{
|
||||||
char instance[INST_SZ];
|
char instance[INST_SZ+1];
|
||||||
char realm[REALM_SZ];
|
char realm[REALM_SZ+1];
|
||||||
int status;
|
int status;
|
||||||
static char name[SNAME_SZ + 1] = "";
|
static char name[SNAME_SZ + 1] = "";
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user