summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTheodore Tso <tytso@mit.edu>1992-09-29 13:47:04 +0000
committerTheodore Tso <tytso@mit.edu>1992-09-29 13:47:04 +0000
commitf16a10925ef099826daa44404ede2ac67693ee5f (patch)
tree5fdb954316d77028245b291a4352666523ba85b1 /src
parent230838596b3ea4da7ade51fefd6cb8b2a3491d4f (diff)
downloadkrb5-f16a10925ef099826daa44404ede2ac67693ee5f.tar.gz
krb5-f16a10925ef099826daa44404ede2ac67693ee5f.tar.xz
krb5-f16a10925ef099826daa44404ede2ac67693ee5f.zip
Added check of the receiver's address (if present)
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@2417 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r--src/lib/krb5/krb/rd_priv.c6
-rw-r--r--src/lib/krb5/krb/rd_safe.c5
2 files changed, 11 insertions, 0 deletions
diff --git a/src/lib/krb5/krb/rd_priv.c b/src/lib/krb5/krb/rd_priv.c
index 5a3b1b7c9..00d454703 100644
--- a/src/lib/krb5/krb/rd_priv.c
+++ b/src/lib/krb5/krb/rd_priv.c
@@ -185,6 +185,12 @@ OLDDECLARG(krb5_data *, outbuf)
cleanup_mesg();
return KRB5KRB_AP_ERR_BADADDR;
}
+ if (recv_addr && privmsg_enc_part->r_address &&
+ !krb5_address_compare(recv_addr, privmsg_enc_part->r_address)) {
+ cleanup_data();
+ cleanup_mesg();
+ return KRB5KRB_AP_ERR_BADADDR;
+ }
if (retval = krb5_gen_replay_name(sender_addr, "_priv",
&replay.client)) {
cleanup_data();
diff --git a/src/lib/krb5/krb/rd_safe.c b/src/lib/krb5/krb/rd_safe.c
index 315570855..c2e297139 100644
--- a/src/lib/krb5/krb/rd_safe.c
+++ b/src/lib/krb5/krb/rd_safe.c
@@ -105,6 +105,11 @@ krb5_data *outbuf;
cleanup();
return KRB5KRB_AP_ERR_BADADDR;
}
+ if (recv_addr && message->r_address &&
+ !krb5_address_compare(recv_addr, message->r_address)) {
+ cleanup();
+ return KRB5KRB_AP_ERR_BADADDR;
+ }
if (retval = krb5_gen_replay_name(sender_addr, "_safe",
&replay.client)) {
cleanup();