summaryrefslogtreecommitdiffstats
path: root/src/nis.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nis.c')
-rw-r--r--src/nis.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/nis.c b/src/nis.c
index b7e3ec6..237bd5e 100644
--- a/src/nis.c
+++ b/src/nis.c
@@ -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;