Thanks for the tip, indeed I'm using version 4.1.8 and I've found the
core.re under /etc/irods. I've tried changing the file directly and the server behaved normally after a restart.
BTW, when anything is written in server/config/reConfig/
core.re, even if it's just a comment sign (#) the server doesn't respond normally - it doesn't crash though and is still running - but it responds with the SYS_HEADER_READ_LEN_ERR. There are no specific error messages, just notices about the failed agent requests, like this:
Apr 29 14:11:45 pid:14383 NOTICE: rodsServer Release version rods4.1.8 - API Version d is up
Apr 29 14:11:45 pid:14386 NOTICE: Starting irodsReServer
Apr 29 14:11:45 pid:14383 ERROR: server_control_executor - icat_host_name is localhost, not a fqdn
Apr 29 14:11:45 pid:14383 NOTICE: >>> control plane :: listening on port 1248
Apr 29 14:11:45 pid:14383 NOTICE: Agent process 14386 exited with status 139 but not in queue
Now concerning the original problem, i.e. allowing users to ireg their own files, after reading about the current syntax, I've replaced the line acSetChkFilePathPerm {msiSetChkFilePathPerm("disallowPathReg"); } in
core.re with:
acSetChkFilePathPerm {msiSetChkFilePathPerm("chkNonVaultPathPerm"); }
which is supposed to check UNIX ownership of the physical files and allow the registration within a vault if the vault path belongs to the user.
Unfortunately, this doesn't work:
init
ireg /gpfs_input/dataset.1000k.reads.fastq /TESTzone/home/tuser/dataset.1000k.reads.fastq
ERROR: regUtil: reg error for /TESTzone/home/tuser/dataset.1000k.reads.fastq, status = -1 status = -1 Unknown iRODS error, Operation not permitted
The server logs simply say "Agent exiting with status = 0". The file belongs to the testuser and is readable by all, and he can upload it with iput without a problem to the mentioned path, so it isn't a permission problem on either the UNIX or IRODS end. However, the ireg doesn't work.
Just to test it out, I've replaced the line with the unsecure option: acSetChkFilePathPerm {msiSetChkFilePathPerm("noChkPathPerm"); }
There's still an error:
ireg /gpfs_input/dataset.1000k.reads.fastq /TESTzone/home/tuser/dataset.1000k.reads.fastq
ERROR: regUtil: reg error for /TESTzone/home/tuser/dataset.1000k.reads.fastq, status = -516013 status = -516013 UNIX_FILE_STAT_ERR, Permission denied
Again, there are no significant errors logged in the logs, just that an Agent exitied with status 0. Any ideas?