Make context global.

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2701 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Johan Danielsson
1997-08-04 18:20:36 +00:00
parent 5cd6b4ba84
commit a0464f4b20
7 changed files with 141 additions and 146 deletions

View File

@@ -75,8 +75,7 @@ make_err_reply(krb5_data *reply, int code, const char *msg)
#define RCHECK(X, L) if(X){make_err_reply(reply, KFAILURE, "Packet too short"); goto L;}
krb5_error_code
do_version4(krb5_context context,
unsigned char *buf,
do_version4(unsigned char *buf,
size_t len,
krb5_data *reply,
const char *from,
@@ -99,7 +98,7 @@ do_version4(krb5_context context,
sp = krb5_storage_from_mem(buf, len);
RCHECK(krb5_ret_int8(sp, &pvno), out);
if(pvno != 4){
kdc_log(context, 0, "Protocol version mismatch (%d)", pvno);
kdc_log(0, "Protocol version mismatch (%d)", pvno);
make_err_reply(reply, KDC_PKT_VER, NULL);
goto out;
}
@@ -117,14 +116,14 @@ do_version4(krb5_context context,
RCHECK(krb5_ret_int8(sp, &life), out1);
RCHECK(krb5_ret_stringz(sp, &sname), out1);
RCHECK(krb5_ret_stringz(sp, &sinst), out1);
kdc_log(context, 0, "AS-REQ %s.%s@%s from %s for %s.%s",
kdc_log(0, "AS-REQ %s.%s@%s from %s for %s.%s",
name, inst, realm, from, sname, sinst);
ret = krb5_425_conv_principal(context, name, inst, realm,
&client_princ);
if(ret){
kdc_log(context, 0, "Converting client principal: %s",
kdc_log(0, "Converting client principal: %s",
krb5_get_err_text(context, ret));
make_err_reply(reply, KFAILURE,
"Failed to convert v4 principal (client)");
@@ -134,23 +133,23 @@ do_version4(krb5_context context,
ret = krb5_425_conv_principal(context, sname, sinst, v4_realm,
&server_princ);
if(ret){
kdc_log(context, 0, "Converting server principal: %s",
kdc_log(0, "Converting server principal: %s",
krb5_get_err_text(context, ret));
make_err_reply(reply, KFAILURE,
"Failed to convert v4 principal (server)");
goto out1;
}
client = db_fetch(context, client_princ);
client = db_fetch(client_princ);
if(client == NULL){
kdc_log(context, 0, "Client not found in database: %s.%s@%s",
kdc_log(0, "Client not found in database: %s.%s@%s",
name, inst, realm);
make_err_reply(reply, KERB_ERR_PRINCIPAL_UNKNOWN, NULL);
goto out1;
}
server = db_fetch(context, server_princ);
server = db_fetch(server_princ);
if(server == NULL){
kdc_log(context, 0, "Server not found in database: %s.%s@%s",
kdc_log(0, "Server not found in database: %s.%s@%s",
sname, sinst, v4_realm);
make_err_reply(reply, KERB_ERR_PRINCIPAL_UNKNOWN, NULL);
goto out1;
@@ -158,7 +157,7 @@ do_version4(krb5_context context,
ret = hdb_keytype2key(context, client, KEYTYPE_DES, &ckey);
if(ret){
kdc_log(context, 0, "%s", krb5_get_err_text(context, ret));
kdc_log(0, "%s", krb5_get_err_text(context, ret));
/* XXX */
make_err_reply(reply, KDC_NULL_KEY,
"No DES key in database (client)");
@@ -169,7 +168,7 @@ do_version4(krb5_context context,
while(ckey->salt == NULL || ckey->salt->length != 0)
ret = hdb_next_keytype2key(context, client, KEYTYPE_DES, &ckey);
if(ret){
kdc_log(context, 0, "No version-4 salted key in database -- %s.%s@%s",
kdc_log(0, "No version-4 salted key in database -- %s.%s@%s",
name, inst, realm);
make_err_reply(reply, KDC_NULL_KEY,
"No version-4 salted key in database");
@@ -178,7 +177,7 @@ do_version4(krb5_context context,
ret = hdb_keytype2key(context, server, KEYTYPE_DES, &skey);
if(ret){
kdc_log(context, 0, "%s", krb5_get_err_text(context, ret));
kdc_log(0, "%s", krb5_get_err_text(context, ret));
/* XXX */
make_err_reply(reply, KDC_NULL_KEY,
"No DES key in database (server)");
@@ -238,14 +237,14 @@ do_version4(krb5_context context,
ret = krb5_425_conv_principal(context, "krbtgt", realm, v4_realm,
&tgt_princ);
if(ret){
kdc_log(context, 0, "Converting krbtgt principal: %s",
kdc_log(0, "Converting krbtgt principal: %s",
krb5_get_err_text(context, ret));
make_err_reply(reply, KFAILURE,
"Failed to convert v4 principal (krbtgt)");
goto out2;
}
tgt = db_fetch(context, tgt_princ);
tgt = db_fetch(tgt_princ);
if(tgt == NULL){
char *s;
s = kdc_log_msg(context, 0, "Ticket-granting ticket not "
@@ -262,7 +261,7 @@ do_version4(krb5_context context,
ret = hdb_keytype2key(context, tgt, KEYTYPE_DES, &tkey);
if(ret){
kdc_log(context, 0, "%s", krb5_get_err_text(context, ret));
kdc_log(0, "%s", krb5_get_err_text(context, ret));
/* XXX */
make_err_reply(reply, KDC_NULL_KEY,
"No DES key in database (krbtgt)");
@@ -286,7 +285,7 @@ do_version4(krb5_context context,
e = krb_rd_req(&auth, "krbtgt", realm,
addr->sin_addr.s_addr, &ad, 0);
if(e){
kdc_log(context, 0, "krb_rd_req: %s", krb_get_err_text(e));
kdc_log(0, "krb_rd_req: %s", krb_get_err_text(e));
make_err_reply(reply, ret, NULL);
goto out2;
}
@@ -298,18 +297,18 @@ do_version4(krb5_context context,
RCHECK(krb5_ret_int8(sp, &life), out2);
RCHECK(krb5_ret_stringz(sp, &sname), out2);
RCHECK(krb5_ret_stringz(sp, &sinst), out2);
kdc_log(context, 0, "TGS-REQ %s.%s@%s from %s for %s.%s",
kdc_log(0, "TGS-REQ %s.%s@%s from %s for %s.%s",
ad.pname, ad.pinst, ad.prealm, from, sname, sinst);
if(strcmp(ad.prealm, realm)){
kdc_log(context, 0, "Can't hop realms %s -> %s", realm, ad.prealm);
kdc_log(0, "Can't hop realms %s -> %s", realm, ad.prealm);
make_err_reply(reply, KERB_ERR_PRINCIPAL_UNKNOWN,
"Can't hop realms");
goto out2;
}
if(strcmp(sname, "changepw") == 0){
kdc_log(context, 0, "Bad request for changepw ticket");
kdc_log(0, "Bad request for changepw ticket");
make_err_reply(reply, KERB_ERR_PRINCIPAL_UNKNOWN,
"Can't authorize password change based on TGT");
goto out2;
@@ -318,14 +317,14 @@ do_version4(krb5_context context,
ret = krb5_425_conv_principal(context, ad.pname, ad.pinst, ad.prealm,
&client_princ);
if(ret){
kdc_log(context, 0, "Converting client principal: %s",
kdc_log(0, "Converting client principal: %s",
krb5_get_err_text(context, ret));
make_err_reply(reply, KFAILURE,
"Failed to convert v4 principal (client)");
goto out2;
}
client = db_fetch(context, client_princ);
client = db_fetch(client_princ);
if(client == NULL){
char *s;
s = kdc_log_msg(context, 0,
@@ -339,13 +338,13 @@ do_version4(krb5_context context,
ret = krb5_425_conv_principal(context, sname, sinst, v4_realm,
&server_princ);
if(ret){
kdc_log(context, 0, "Converting server principal: %s",
kdc_log(0, "Converting server principal: %s",
krb5_get_err_text(context, ret));
make_err_reply(reply, KFAILURE,
"Failed to convert v4 principal (server)");
goto out2;
}
server = db_fetch(context, server_princ);
server = db_fetch(server_princ);
if(server == NULL){
char *s;
s = kdc_log_msg(context, 0,
@@ -358,7 +357,7 @@ do_version4(krb5_context context,
ret = hdb_keytype2key(context, server, KEYTYPE_DES, &skey);
if(ret){
kdc_log(context, 0, "%s", krb5_get_err_text(context, ret));
kdc_log(0, "%s", krb5_get_err_text(context, ret));
/* XXX */
make_err_reply(reply, KDC_NULL_KEY,
"No DES key in database (server)");
@@ -410,7 +409,7 @@ do_version4(krb5_context context,
case AUTH_MSG_ERR_REPLY:
break;
default:
kdc_log(context, 0, "Unknown message type: %d from %s",
kdc_log(0, "Unknown message type: %d from %s",
msg_type, from);
make_err_reply(reply, KFAILURE, "Unknown message type");