Make context global.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2701 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -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");
|
||||
|
Reference in New Issue
Block a user