On Wed, Aug 31, 2011 at 06:26:58PM -0700, Matthew Dempsky wrote: > Diff below adds support to systrace(1) for the new *at(2) system > calls. (I'll send a followup diff for the ports tree.)
And the promised ports systrace.filter diff: Index: infrastructure/db/systrace.filter =================================================================== RCS file: /home/mdempsky/anoncvs/cvs/ports/infrastructure/db/systrace.filter,v retrieving revision 1.29 diff -u -p -r1.29 systrace.filter --- infrastructure/db/systrace.filter 20 Jul 2011 18:11:06 -0000 1.29 +++ infrastructure/db/systrace.filter 26 Aug 2011 05:45:06 -0000 @@ -47,7 +47,17 @@ native-fchdir: permit native-fchflags: permit native-fchmod: permit + native-fchmodat: filename match "/tmp" then permit + native-fchmodat: filename match "/var/tmp" then permit + native-fchmodat: filename match "${TMPDIR}" then permit + native-fchmodat: filename match "${WRKDIR}" then permit + native-fchmodat: filename match "/<non-existent filename>: *" then deny[enoent] native-fchown: permit + native-fchownat: filename match "/tmp" then permit + native-fchownat: filename match "/var/tmp" then permit + native-fchownat: filename match "${TMPDIR}" then permit + native-fchownat: filename match "${WRKDIR}" then permit + native-fchownat: filename match "/<non-existent filename>: *" then deny[enoent] native-fcntl: permit native-flock: permit native-fork: permit @@ -108,6 +118,11 @@ native-link: filename match "${TMPDIR}" and filename[1] match "${TMPDIR}" then permit native-link: filename match "${WRKDIR}" and filename[1] match "${WRKDIR}" then permit native-link: filename match "/<non-existent filename>: *" then deny[enoent] + native-linkat: filename match "/tmp" and filename[1] match "/tmp" then permit + native-linkat: filename match "/var/tmp" and filename[1] match "/var/tmp" then permit + native-linkat: filename match "${TMPDIR}" and filename[1] match "${TMPDIR}" then permit + native-linkat: filename match "${WRKDIR}" and filename[1] match "${WRKDIR}" then permit + native-linkat: filename match "/<non-existent filename>: *" then deny[enoent] native-listen: permit native-lseek: permit native-madvise: permit @@ -115,6 +130,10 @@ native-mknod: filename match "/var/tmp" then permit native-mknod: filename match "${TMPDIR}" then permit native-mknod: filename match "${WRKDIR}" then permit + native-mknodat: filename match "/tmp" then permit + native-mknodat: filename match "/var/tmp" then permit + native-mknodat: filename match "${TMPDIR}" then permit + native-mknodat: filename match "${WRKDIR}" then permit native-mincore: permit native-mlock: permit native-mlockall: permit @@ -145,6 +164,15 @@ native-rename: filename match "${TMPDIR}" and filename[1] match "${WRKDIR}" then permit native-rename: filename match "${WRKDIR}" and filename[1] match "${WRKDIR}" then permit native-rename: filename match "/<non-existent filename>: *" then deny[enoent] + native-renameat: filename match "/tmp" and filename[1] match "/tmp" then permit + native-renameat: filename match "/tmp" and filename[1] match "/var/tmp" then permit + native-renameat: filename match "/tmp" and filename[1] match "${WRKDIR}" then permit + native-renameat: filename match "/var/tmp" and filename[1] match "/var/tmp" then permit + native-renameat: filename match "/var/tmp" and filename[1] match "${WRKDIR}" then permit + native-renameat: filename match "${TMPDIR}" and filename[1] match "${TMPDIR}" then permit + native-renameat: filename match "${TMPDIR}" and filename[1] match "${WRKDIR}" then permit + native-renameat: filename match "${WRKDIR}" and filename[1] match "${WRKDIR}" then permit + native-renameat: filename match "/<non-existent filename>: *" then deny[enoent] native-rfork: permit native-select: permit native-semctl: permit @@ -189,6 +217,12 @@ native-symlink: filename match "${WRKDIR}" then permit native-symlink: filename match "/<non-existent filename>: *" then deny[enoent] native-symlink: string eq "" and filename eq "" then deny[enoent] + native-symlinkat: filename match "/tmp" then permit + native-symlinkat: filename match "/var/tmp" then permit + native-symlinkat: filename match "${TMPDIR}" then permit + native-symlinkat: filename match "${WRKDIR}" then permit + native-symlinkat: filename match "/<non-existent filename>: *" then deny[enoent] + native-symlinkat: string eq "" and filename eq "" then deny[enoent] native-sync: permit native-umask: permit native-utimensat: permit