summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAlexandra Ellwood <lxs@mit.edu>2008-10-01 20:58:56 +0000
committerAlexandra Ellwood <lxs@mit.edu>2008-10-01 20:58:56 +0000
commita76d3e0941c91d1c6a2f85709bdb21db2ea4b9d0 (patch)
tree8d2a5feb0a1d0f1384775b789a0b1511f92973f2 /src
parenta69b49c571576037d71f155fbe99d8e065f87362 (diff)
downloadkrb5-a76d3e0941c91d1c6a2f85709bdb21db2ea4b9d0.tar.gz
krb5-a76d3e0941c91d1c6a2f85709bdb21db2ea4b9d0.tar.xz
krb5-a76d3e0941c91d1c6a2f85709bdb21db2ea4b9d0.zip
Correctly parse KIM_IDENTITY_ANY in error handler
ticket: 6055 git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@20801 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r--src/kim/agent/mac/ServerDemux.m15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/kim/agent/mac/ServerDemux.m b/src/kim/agent/mac/ServerDemux.m
index 00b13c9c5..595da0656 100644
--- a/src/kim/agent/mac/ServerDemux.m
+++ b/src/kim/agent/mac/ServerDemux.m
@@ -458,6 +458,11 @@ static int32_t kim_handle_request_handle_error (mach_port_t in_client_port,
if (!err) {
err = k5_ipc_stream_read_string (in_request_stream, &identity_string);
+ /* Can be empty string "" if there is no identity */
+ if (!err && identity_string[0]) {
+ k5_ipc_stream_free_string (identity_string);
+ identity_string = KIM_IDENTITY_ANY;
+ }
}
if (!err) {
@@ -475,11 +480,11 @@ static int32_t kim_handle_request_handle_error (mach_port_t in_client_port,
if (!err) {
// performs selector on main thread
[KerberosAgentListener handleErrorWithClientPort:in_client_port
- replyPort:in_reply_port
- identity:identity_string
- error:error
- message:message
- description:description];
+ replyPort:in_reply_port
+ identity:identity_string
+ error:error
+ message:message
+ description:description];
}
k5_ipc_stream_free_string (identity_string);