if (store_user(ctx,userid,can_peername)) goto err;
if (store_job(ctx,(glite_jobid_const_t) event->any.jobId,
userid, ctx->isProxy, local_job, grey, 0 )) goto err;
+ if (event->any.type == EDG_WLL_EVENT_REGJOB && event->regJob.wms_dn) {
+ char *names = strdup(event->regJob.wms_dn);
+ char *p, *name;
+ int ret;
+
+ name = names;
+ while ((p = strchr(name, '\n'))) {
+ *p = '\0';
+ ret = edg_wll_UpdateACL(ctx, event->any.jobId, name,
+ EDG_WLL_CHANGEACL_DN,
+ EDG_WLL_CHANGEACL_READ,
+ EDG_WLL_CHANGEACL_ALLOW,
+ EDG_WLL_CHANGEACL_ADD);
+ if (ret) {
+ free(names);
+ goto err;
+ }
+ name = p+1;
+ }
+ free(names);
+ }
+
*register_to_JP = (local_job) ? REG_JOB_TO_JP : 0;
}
else {
stat->pub.jobtype = EDG_WLL_STAT_SIMPLE;
stat->pub.stateEnterTimes[1 + EDG_WLL_JOB_SUBMITTED] = (int)e->timestamp.tv_sec;
stat->pub.lastUpdateTime = e->timestamp;
- // TODO: update job ACL according to e->wms_dn
err:
return edg_wll_Error(ctx,NULL,NULL);