sandbox-rlimit.c (247485) | sandbox-rlimit.c (263970) |
---|---|
1/* $OpenBSD: sandbox-rlimit.c,v 1.3 2011/06/23 09:34:13 djm Exp $ */ 2/* 3 * Copyright (c) 2011 Damien Miller <djm@mindrot.org> 4 * 5 * Permission to use, copy, modify, and distribute this software for any 6 * purpose with or without fee is hereby granted, provided that the above 7 * copyright notice and this permission notice appear in all copies. 8 * --- 28 unchanged lines hidden (view full) --- 37 38/* Minimal sandbox that sets zero nfiles, nprocs and filesize rlimits */ 39 40struct ssh_sandbox { 41 pid_t child_pid; 42}; 43 44struct ssh_sandbox * | 1/* $OpenBSD: sandbox-rlimit.c,v 1.3 2011/06/23 09:34:13 djm Exp $ */ 2/* 3 * Copyright (c) 2011 Damien Miller <djm@mindrot.org> 4 * 5 * Permission to use, copy, modify, and distribute this software for any 6 * purpose with or without fee is hereby granted, provided that the above 7 * copyright notice and this permission notice appear in all copies. 8 * --- 28 unchanged lines hidden (view full) --- 37 38/* Minimal sandbox that sets zero nfiles, nprocs and filesize rlimits */ 39 40struct ssh_sandbox { 41 pid_t child_pid; 42}; 43 44struct ssh_sandbox * |
45ssh_sandbox_init(void) | 45ssh_sandbox_init(struct monitor *monitor) |
46{ 47 struct ssh_sandbox *box; 48 49 /* 50 * Strictly, we don't need to maintain any state here but we need 51 * to return non-NULL to satisfy the API. 52 */ 53 debug3("%s: preparing rlimit sandbox", __func__); --- 10 unchanged lines hidden (view full) --- 64 65 rl_zero.rlim_cur = rl_zero.rlim_max = 0; 66 67#ifndef SANDBOX_SKIP_RLIMIT_FSIZE 68 if (setrlimit(RLIMIT_FSIZE, &rl_zero) == -1) 69 fatal("%s: setrlimit(RLIMIT_FSIZE, { 0, 0 }): %s", 70 __func__, strerror(errno)); 71#endif | 46{ 47 struct ssh_sandbox *box; 48 49 /* 50 * Strictly, we don't need to maintain any state here but we need 51 * to return non-NULL to satisfy the API. 52 */ 53 debug3("%s: preparing rlimit sandbox", __func__); --- 10 unchanged lines hidden (view full) --- 64 65 rl_zero.rlim_cur = rl_zero.rlim_max = 0; 66 67#ifndef SANDBOX_SKIP_RLIMIT_FSIZE 68 if (setrlimit(RLIMIT_FSIZE, &rl_zero) == -1) 69 fatal("%s: setrlimit(RLIMIT_FSIZE, { 0, 0 }): %s", 70 __func__, strerror(errno)); 71#endif |
72#ifndef SANDBOX_SKIP_RLIMIT_NOFILE |
|
72 if (setrlimit(RLIMIT_NOFILE, &rl_zero) == -1) 73 fatal("%s: setrlimit(RLIMIT_NOFILE, { 0, 0 }): %s", 74 __func__, strerror(errno)); | 73 if (setrlimit(RLIMIT_NOFILE, &rl_zero) == -1) 74 fatal("%s: setrlimit(RLIMIT_NOFILE, { 0, 0 }): %s", 75 __func__, strerror(errno)); |
76#endif |
|
75#ifdef HAVE_RLIMIT_NPROC 76 if (setrlimit(RLIMIT_NPROC, &rl_zero) == -1) 77 fatal("%s: setrlimit(RLIMIT_NPROC, { 0, 0 }): %s", 78 __func__, strerror(errno)); 79#endif 80} 81 82void --- 13 unchanged lines hidden --- | 77#ifdef HAVE_RLIMIT_NPROC 78 if (setrlimit(RLIMIT_NPROC, &rl_zero) == -1) 79 fatal("%s: setrlimit(RLIMIT_NPROC, { 0, 0 }): %s", 80 __func__, strerror(errno)); 81#endif 82} 83 84void --- 13 unchanged lines hidden --- |