diff options
Diffstat (limited to 'src/nis.c')
-rw-r--r-- | src/nis.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -272,18 +272,20 @@ nis_order(struct plugin_state *state, dispatch_reply_fragment *reply_fragment_fn, dispatch_reply *reply_fn, struct dispatch_client_data *cdata, - XDR *request_xdrs, + XDR *request_xdrs, bool_t client_secure, struct rpc_msg *reply, XDR *reply_xdrs, struct ypresp_order *reply_order) { struct ypreq_nokey req_nokey; + bool_t map_secure; memset(&req_nokey, 0, sizeof(req_nokey)); memset(reply_order, 0, sizeof(*reply_order)); if (xdr_ypreq_nokey(request_xdrs, &req_nokey)) { map_rdlock(); reply_order->status = YP_TRUE; if (map_order(state, req_nokey.domain, req_nokey.map, - &reply_order->ordernum)) { + &map_secure, &reply_order->ordernum) && + (map_secure ? client_secure : TRUE)) { reply_order->status = YP_TRUE; slapi_log_error(SLAPI_LOG_PLUGIN, state->plugin_desc->spd_id, @@ -1037,7 +1039,7 @@ nis_process_request(struct plugin_state *state, accepted->ar_results.proc = (xdrproc_t) xdr_ypresp_order; /* Call the real function. */ nis_order(state, reply_fragment_fn, reply_fn, cdata, - &request_xdrs, + &request_xdrs, client_secure, &reply, &reply_xdrs, &reply_order); goto sent_reply; break; |