/[path-sandbox]/trunk/ChangeLog.0
Gentoo

Contents of /trunk/ChangeLog.0

Parent Directory Parent Directory | Revision Log Revision Log


Revision 199 - (show annotations) (download)
Thu Dec 1 12:07:25 2005 UTC (9 years ago) by azarah
File size: 31267 byte(s)
Add scripts/svn2cl.*; move ChangeLog and update autogen.sh to
generate ChangeLog.

1 # ChangeLog for Path Sandbox
2 # Copyright 1999-2005 Gentoo Foundation; Distributed under the GPL v2
3 # $Header$
4
5 01 Dec 2005; Martin Schlemmer <azarah@gentoo.org> configure.in, Makefile.am,
6 localdecls.h, scripts/Makefile.am, scripts/gen_symbol_version_map.awk,
7 scripts/gen_symbol_header.awk, src/Makefile.am, src/symbols.in,
8 src/libsandbox.c, src/getcwd.c, src/sandbox.c, data/sandbox.bashrc:
9
10 Use versioned symbols on supported libc's for functions we wrap, as well as
11 provide all versions of specific functions. Some syntax cleanups.
12
13 Only check SANDBOX_ACTIVE, and not its value. More BASH_ENV fixes.
14
15 Rename configure.in to configure.ac.
16
17 Fix non-versioned libc's to also prepend '__' to internal symbols by using
18 strong aliases.
19
20 Remove the SB_STATIC and including of getcwd.c, etc voodoo, as we new use a
21 symbol map, and all non-exported symbols are local. Cleanup getcwd.c, as
22 the generic getcwd for older 2.4 kernels do not work properly anyhow, and
23 just makes things slower. Some other warning fixes.
24
25 Rename src/symbols.in to src/symbols.h.in.
26
27 Cleanup local defines for egetcwd() and erealpath().
28
29 Rename filter_path() to resolve_path() and other renames for clarity.
30
31 Fixup SANDBOX_ON handling after already running changes.
32
33 Use egetcwd() in sandbox.c.
34
35 Rather use fstat() to get file size in file_length() than lseek().
36
37 Wrap mknod() as well. Misc cleanups.
38
39 Wrap mkfifo() as it seems it was missing.
40
41 28 Nov 2005; Martin Schlemmer <azarah@gentoo.org> configure.in, sandbox.c,
42 sandbox_fdutils.c:
43
44 Detect if we on 64bit arch automatically.
45
46 Update contact email. Fix quoting.
47
48 Revert 64bit arch test, as we should build the 32bit version without full
49 path checking as well, and add --enable-multilib switch to configure.
50
51 * sandbox-1.2.14 (2005/11/28)
52
53 28 Nov 2005; Martin Schlemmer <azarah@gentoo.org> getcwd.c, libsandbox.c,
54 sandbox.c, sandbox.h, sandbox.bashrc:
55
56 Check generic getcwd()'s return as well for validity, bug #101728.
57
58 Cleanup environ variables.
59
60 Rather check SANDBOX_ACTIVE if we are already running. Set SANDBOX_ACTIVE
61 to readonly in sandbox.bashrc.
62
63 Make sure we use our bashrc.
64
65 01 Nov 2005; Martin Schlemmer <azarah@gentoo.org> libsandbox.c:
66
67 Do not pass mode to true_open and true_open64 if not needed. Should fix a
68 segfault in some cases.
69
70 * sandbox-1.2.13 (2005/09/12)
71
72 12 Sep 2005; Martin Schlemmer <azarah@gentoo.org> sandbox.c, libsandbox.c:
73
74 Do not handle adding working directory to SANDBOX_WRITE, as portage does it
75 itself.
76
77 Make libsb_fini() do cleanup a bit more complete just in case we get another
78 uClibc 'call preloaded library fini before that of app' issue ... probably
79 will not help much, but we try.
80
81 04 Sep 2005; Martin Schlemmer <azarah@gentoo.org> libsandbox.c:
82
83 Also allow symlink() system call to operate on a symlink in a writable path
84 that points to non-writable path, bug #104711.
85
86 * sandbox-1.2.12 (2005/08/05)
87
88 05 Aug 2005; Martin Schlemmer <azarah@gentoo.org> libsandbox.c, sandbox.c,
89 sandbox.h:
90
91 Do not give an access violation if the access() system call do not have
92 write/read access - it does not actually modify, so we only need to return
93 not being able to write/read. Noted by Andres Loeh <kosmikus@gentoo.org>,
94 bug #101433.
95
96 If we are called from the command line, do not care about PORTAGE_TMPDIR,
97 and make the current directory the work directory. Also rename the variable
98 portage_tmp_dir to work_dir.
99
100 Remove the tmp_dir variable - we do not need it.
101
102 Improve error handling for get_sandbox_*_envvar() functions.
103
104 01 Aug 2005; Martin Schlemmer <azarah@gentoo.org> libsandbox.c:
105
106 Still do normal log if debugging is requested.
107
108 Add support for SANDBOX_VERBOSE (enabled by default). Adjust SANDBOX_DEBUG
109 to only enable if equal to "1" or "yes".
110
111 Add /dev/tts to write permit, bug #42809.
112
113 27 July 2005; Martin Schlemmer <azarah@gentoo.org> sandbox.c, sandbox.h,
114 sandbox_futils.c:
115
116 Do not resolve symlinks in PORTAGE_TMPDIR in sandbox .. we will handle that
117 in libsandbox .. bug #100309.
118
119 22 July 2005; Martin Schlemmer <azarah@gentoo.org> sandbox.h:
120
121 Print all logging to stderr, bug #90343, comment #15, by Zac Medico.
122
123 * sandbox-1.2.11 (2005/07/14)
124
125 14 July 2005; Martin Schlemmer <azarah@gentoo.org> getcwd.c:
126 Fix getcwd, bug #98419.
127
128 08 July 2005; Martin Schlemmer <azarah@gentoo.org> sandbox.c, sandbox_futils.c,
129 libsandbox.c:
130 - Try to cleanup and make error handling/printing consistent.
131 - Remove old logs if present and conflicting with current.
132 - Fix compile error with previous change, and return rather then exit().
133
134 07 July 2005; Martin Schlemmer <azarah@gentoo.org> libsandbox.c, sandbox.c,
135 sandbox.h, sandbox_futils.c:
136 - Fix possible segfault in env init code.
137 - Major cleanup of sandbox_futils.c. Removed most of the functions as we now
138 write to /var/log/sandbox/, so in theory do not need all that.
139 - Redo the interface of the get_* functions so that we do not leak memory.
140 - Remove sandbox_dir and co - we are not using it anymore.
141 - Remove unused includes and variables.
142 - Only declare functions in sandbox_futils.c that are used in libsandbox.c when
143 OUTSIDE_LIBSANDBOX is not defined.
144 - Cleanup access/log printing. Make access printing honour NOCOLOR. Fix log
145 printing's last line not honouring NOCOLOR.
146
147 06 July 2005; Martin Schlemmer <azarah@gentoo.org> sandbox.h, sandbox_futils.c,
148 libsandbox.c:
149 - Change log dir to /var/log/sandbox/. Make sure the sandboxed process cannot
150 write to it.
151 - Clean up logging in libsandbox.c, and hopefully make it more consistant.
152 - Add check_prefixes() with major cleanup on check_access().
153 - Cleanup init_env_entries() and check_prefixes().
154
155 05 July 2005; Martin Schlemmer <azarah@gentoo.org> sandbox.c, sandbox.h,
156 sandbox_futils.c, libsandbox.c:
157 Remove unused 'pids file' code.
158
159 * sandbox-1.2.10 (2005/07/03)
160
161 03 July 2005; Martin Schlemmer <azarah@gentoo.org> sandbox.c:
162 Add PREDICT items for nss-db, bug #92079. Patch from Robin Johnson.
163
164 17 June 2005; Martin Schlemmer <azarah@gentoo.org> sandbox.c:
165 General cleanups:
166 - Remove fooling around with exit codes - we error out on presence of a log
167 anyhow.
168 - Move get_sandbox_*_envvar() to sandbox_setup_environ(), as its more
169 appropriate there.
170
171 12 June 2005; Martin Schlemmer <azarah@gentoo.org> libsandbox.c:
172 Cleanup the fail_nametoolong stuff a bit more.
173
174 11 June 2005; Martin Schlemmer <azarah@gentoo.org> libsandbox.c:
175 Remove hopefully the last ld.so.preload bits we do not use anymore.
176
177 11 June 2005; Martin Schlemmer <azarah@gentoo.org> libsandbox.c:
178 Remove the unneeded canonicalize() calls in the wrappers - we do it anyhow
179 in check_syscall(). Should speed things up a bit (at least for the getcwd()
180 and long path name test it goes down to under a second, and not 10+ seconds
181 like before). Also warn if we skip checking due to the canonicalized path
182 being too long.
183
184 11 June 2005; Martin Schlemmer <azarah@gentoo.org> libsandbox.c:
185 More comment/readability cleanups.
186
187 10 June 2005; Martin Schlemmer <azarah@gentoo.org> canonicalize.c, getcwd.c,
188 sandbox_futils.c, libsandbox.c:
189 Some strncpy/strncat and other cleanups.
190
191 * sandbox-1.2.9 (2005/06/09)
192
193 09 June 2005; Martin Schlemmer <azarah@gentoo.org> libsandbox.c:
194 Move symlink hack down a bit to try and minimize on the amount of lstat()
195 calls we do.
196
197 09 June 2005; Martin Schlemmer <azarah@gentoo.org> libsandbox.c, sandbox.c:
198 Add hack to allow writing to /proc/self/fd (or /dev/fd), bug #91516.
199
200 09 June 2005; Martin Schlemmer <azarah@gentoo.org> symbols.in, libsandbox.c:
201 Add wrapper for access() function, bug #85413.
202
203 09 June 2005; Martin Schlemmer <azarah@gentoo.org> getcwd.c:
204 Use generic getcwd() implementation from uclibc - should be more portable
205 and looks a bit cleaner.
206
207 09 June 2005; Martin Schlemmer <azarah@gentoo.org> getcwd.c, libsandbox.c:
208 Make sure our true_* pointers are initialized to NULL, and that we check for
209 all references that they are valid.
210
211 09 June 2005; Martin Schlemmer <azarah@gentoo.org> libsandbox.c:
212 Be default we will fail if the path name we try to canonicalize is too long.
213 This however could cause issues with some things (bug #94630 and #21766), so
214 if fail_nametoolong == 0, canonicalize() will return a null length string and
215 do not fail.
216
217 08 June 2005; Martin Schlemmer <azarah@gentoo.org> sandbox.c, sandbox_futils.c:
218 Do not abort if TMPDIR is not valid, but rather use '/tmp', bug #94360. Also
219 make sure we re-export the new TMPDIR environment variable.
220
221 08 June 2005; Martin Schlemmer <azarah@gentoo.org> libsandbox.c:
222 Fix incorrect free of non-malloc'd array, bug #92313 and #94020. Fix noted
223 by Marcus D. Hanwell <cryos@gentoo.org>.
224
225 08 June 2005; Martin Schlemmer <azarah@gentoo.org> sandbox.c:
226 Add /dev/console to write list, bug #38588.
227
228 * sandbox-1.2.8 (2005/05/13)
229
230 13 May 2005; Martin Schlemmer <azarah@gentoo.org> libsandbox.c, sandbox.c,
231 sandbox.h, sandbox_futils.c:
232 General cleanups.
233
234 13 May 2005; Martin Schlemmer <azarah@gentoo.org> libsandbox.c, sandbox.c,
235 sandbox.h:
236 Various LD_PRELOAD cleanups. Do not unset LD_PRELOAD for parent.
237
238 13 May 2005; Martin Schlemmer <azarah@gentoo.org> libsandbox.c, sandbox.c,
239 sandbox.h, sandbox_futils.c:
240 Modify get_sandbox_pids_file(), get_sandbox_log() and get_sandbox_debug_log()
241 to use TMPDIR if present in environment.
242
243 13 May 2005; Martin Schlemmer <azarah@gentoo.org> sandbox.c:
244 Remove sandbox_log_file from main() as its no longer used.
245
246 13 May 2005; Martin Schlemmer <azarah@gentoo.org> sandbox.c, sandbox.h,
247 sandbox_futils.c:
248 Add get_sandbox_debug_log(), and use it (add behaviour similar to SANDBOX_LOG
249 if already exported when sandbox started). Fix get_sandbox_log() and new
250 get_sandbox_debug_log() to not use already exported environment variables if
251 they have '/' in them. Use snprintf()'s instead of strncpy()'s. More
252 SB_PATH_MAX fixes.
253
254 * sandbox-1.2.7 (2005/05/12)
255
256 12 May 2005; Martin Schlemmer <azarah@gentoo.org> sandbox.c, sandbox.h,
257 sandbox_futils.c:
258 More path limit fixes. Declare SB_BUF_LEN global and use it where needed.
259
260 12 May 2005; Martin Schlemmer <azarah@gentoo.org> sandbox_futils.c:
261 Fix paths limited to 255 chars. Fix get_sandbox_dir() returning a string
262 with '(null)' in it if we did not call sandbox with absolute path.
263
264 12 May 2005; Martin Schlemmer <azarah@gentoo.org> sandbox.c:
265 Set SANDBOX_ON *before* doing the child's env stuff, else its not set
266 for the child.
267
268 12 May 2005; Martin Schlemmer <azarah@gentoo.org> sandbox.c:
269 Remove global preload_adaptable as it is no longer used.
270
271 12 May 2005; Martin Schlemmer <azarah@gentoo.org> sandbox.c:
272 Rewrite environment stuff to only be set when execve'ing the child process
273 to try and avoid issues like bug #91541 that causes sandbox to crash if
274 we set LD_PRELOAD sandbox side already.
275
276 11 May 2005; Martin Schlemmer <azarah@gentoo.org> sandbox.c:
277 Move print_sandbox_log() up to make things neater.
278
279 11 May 2005; Martin Schlemmer <azarah@gentoo.org> sandbox.c:
280 Remove load_preload_libs(), as its not used anymore.
281
282 11 May 2005; Martin Schlemmer <azarah@gentoo.org> sandbox.c, sandbox.h:
283 Remove NO_FORK stuff, as its not used, and 'strace -f' works just fine.
284
285 11 May 2005; Martin Schlemmer <azarah@gentoo.org> sandbox.c, sandbox.h:
286 Remove USE_SYSTEM_SHELL stuff, as it is not secure, and not in use.
287
288 11 May 2005; Martin Schlemmer <azarah@gentoo.org> sandbox.c, sandbox.h:
289 Remove ld.so.preload crap - we are not going to use it again.
290
291 10 May 2005; Martin Schlemmer <azarah@gentoo.org> sandbox_futils.c:
292 Fix typo in code that checks if we got valid group information, causing a
293 segmentation fault, bug #91637.
294
295 * sandbox-1.2.6 (2005/05/10)
296
297 10 May 2005; Martin Schlemmer <azarah@gentoo.org> sandbox.c:
298 Do not use LD_PRELOAD if it contains libtsocks.so, as it breaks sandbox
299 for some odd reason, bug #91541.
300
301 09 May 2005; Martin Schlemmer <azarah@gentoo.org> sandbox.c:
302 Fix typo (sizeof -> strlen).
303
304 08 May 2005; Brian Harring <ferringb@gentoo.org> libsandbox.c:
305 rewrote the sbcontext caching code so it accounts for env changes since lib
306 initialization.
307
308 05 May 2005; Martin Schlemmer <azarah@gentoo.org> configure.in, libctest.c:
309 We create libctest.c via configure, so no need to keep it around. Do some
310 cleanup related to libctest.c and libctest during configure.
311
312 04 May 2005; Martin Schlemmer <azarah@gentoo.org> libsandbox.c:
313 Add rename support of symlinks pointing to protected files/directories.
314
315 * sandbox-1.2.5 (2005/05/04)
316
317 04 May 2005; Martin Schlemmer <azarah@gentoo.org> libsandbox.c, sandbox.c,
318 sandbox.bashrc:
319 Do not reset already set LD_PRELOAD when starting sandbox. If LD_PRELOAD is
320 already set, init of the env vars fails for some reason, so do this later on,
321 and do not warn (bug #91431).
322
323 03 May 2005; Martin Schlemmer <azarah@gentoo.org> sandbox.c, sandbox.h,
324 sandbox.bashrc:
325 Fixup sandbox and sandbox.bashrc to call bash with the proper .bashrc.
326
327 * sandbox-1.2.4 (2005/05/03)
328
329 03 May 2005; Martin Schlemmer <azarah@gentoo.org> libsandbox.c:
330 Do not init the env entries with each call, as it creates too many calls to
331 lstat, etc. Should speedup things a bit, bug #91040.
332
333 03 May 2005; Martin Schlemmer <azarah@gentoo.org> sandbox.c:
334 Add /dev/pty to default write list. Noticed by Morfic.
335
336 02 May 2005; Mike Frysinger <vapier@gentoo.org> configure.in, localdecls.h,
337 sandbox.h:
338 uClibc doesn't support dlvsym() so add a configure check to make sure it doesn't
339 exist. Also update localdecls.h so BROKEN_RTLD_NEXT isn't defined in uClibc.
340
341 * sandbox-1.2.3 (2005/04/29)
342
343 29 Apr 2005; Martin Schlemmer <azarah@gentoo.org> configure.in:
344 Do not check for (*&#$(* CXX or F77.
345
346 29 Apr 2005; Martin Schlemmer <azarah@gentoo.org> libsandbox.c:
347 Do not append '/' to pathname in filter_path() if it already ends with it.
348
349 28 Apr 2005; Mike Frysinger <vapier@gentoo.org> Makefile.am, configure.in:
350 With az's help, clean up autotools to work with cross-compiling.
351
352 * sandbox-1.2.2 (2005/04/28)
353
354 28 Apr 2005; Martin Schlemmer <azarah@gentoo.org> libsandbox.c:
355 Only check for /dev/{null,zero} for unlink hack, else ricers using /dev/shm
356 have issues; bug #90592.
357
358 * sandbox-1.2.1 (2005/04/23)
359
360 23 Apr 2005; Martin Schlemmer <azarah@gentoo.org> Makefile.am, canonicalize.c,
361 getcwd.c, libsandbox.c, localdecls.h, sandbox.h, sandbox_futils.c:
362 Make sure all functions used in libsandbox.c is declared static. Define
363 SB_STATIC in localdecls.h for this. Include sandbox_futils.c rather than
364 linking with its object. Hopefully this will fix bug #90153.
365
366 * sandbox-1.2 (2005/04/23)
367
368 22 Mar 2005; Martin Schlemmer <azarah@gentoo.org> libsandbox.c:
369 Allow lchown a symlink in write-allowed path pointing to write-denied
370 target.
371
372 21 Mar 2005; Marius Mauch <genone@gentoo.org> libsandbox.c:
373 Also show resolved symlink names in the log.
374
375 14 Mar 2005; Martin Schlemmer <azarah@gentoo.org> Makefile.am, libsandbox.c:
376 Seems -nostdlib was the problem with the constructor/destructor - remove it
377 from Makefile.am, and change the constructor/destructor names again.
378
379 14 Mar 2005; Martin Schlemmer <azarah@gentoo.org> libsandbox.c:
380 Also rename the _init() and _fini() declarations.
381
382 14 Mar 2005; Martin Schlemmer <azarah@gentoo.org> libsandbox.c, sandbox.c:
383 Fixup the constructor/destructor function names again (they should be _init()
384 and _fini() it seems, and not being called caused sandbox_lib_path to be
385 unset, and thus breaking the execve() wrapper's LD_PRELOAD protection).
386 Add both the path in given SANDBOX_x variable, as well as its symlink
387 resolved path in init_env_entries(). Modify filter_path() to be able to
388 resolve paths without resolving symlinks, as well as to be able to resolve
389 symlinks. Fix a possible segfault in check_access(). Add symlink resolving
390 to check_access() resolving bug #31019. Add 'hack' for unlink, as the fix
391 for bug #31019 cause access violations if we try to remove a symlink that is
392 not in protected path, but points to a protected path. Fix a memory leak in
393 sandbox.c (sandbox_pids_file in main()). Fix the realpath() calls in main()
394 (sandbox.c) being unchecked. Fix the debug logname not having the pid in it
395 (pid_string was uninitialized). General syntax cleanups.
396
397 09 Mar 2005; Brian Harring <ferringb@gentoo.org> sandbox.c: Fixed the
398 infamous "pids file is not a regular file" w/out newline bug.
399
400 09 Mar 2005; Brian Harring <ferringb@gentoo.org> Makefile.am, configure.in:
401 Correct libc_version path detection, since it was screwing up if libdir !=
402 "/lib/".
403
404 02 Mar 2005; Martin Schlemmer <azarah@gentoo.org> libsandbox.c:
405 Hack to make sure sandboxed process cannot remove a device node, bug #79836.
406
407 02 Mar 2005; Martin Schlemmer <azarah@gentoo.org> Makefile.am:
408 Fix symbols.in not added to dist.
409
410 02 Mar 2005; Martin Schlemmer <azarah@gentoo.org> Makefile.am, canonicalize.c,
411 getcwd.c, libsandbox.c, sandbox.c, sandbox.h, sandbox_futils.c:
412 White space fixes.
413
414 02 Mar 2005; Martin Schlemmer <azarah@gentoo.org> Makefile.am, canonicalize.c,
415 configure.in, getcwd.c, libsandbox.c, symbols.in:
416 Fix inverse test logic in canonicalize.c, use a strncpy. Fix gcc warning in
417 getcwd.c. Add symbols.in and logic to Makefile.am to generate symbol versions
418 for glibc and other libc's that use this. Update libsandbox.c to use these
419 symbol versions if available. Fix exec wrapper to re-export LD_PRELOAD if the
420 process unset it.
421
422 01 Mar 2005; Brian Harring <ferringb@gentoo.org> libsandbox.c:
423 killed off _init and _fini in favor of
424 void __attribute__ ((constructor)) init_func and
425 void __attribute__ ((destructor)) closing_func. _(init|func) were deprecated.
426
427 06 Dec 2004; Brian Harring <ferringb@gentoo.org> Makefile.am, libsandbox.c,
428 canonicalize.c, getcwd.c: Fixed compilation *again*. Hopefully cvs is done
429 having the hick-ups.
430
431 04 Dec 2004; Brian Harring <ferringb@gentoo.org> libsandbox.c, getcwd.c,
432 Makefile.am: Fixed compilation.
433
434 01 Dec 2004; Brian Harring <ferringb@gentoo.org> aclocal.m4:
435 Gutted the bugger so it stops checking for a c++ and fortran compiler.
436 Do *not* regenerate aclocal.m4 for making a release until a better
437 solution is created.
438
439 20 Nov 2004; Brian Harring <ferringb@gentoo.org> Makefile.am, sandbox_futils.c:
440 Removal of more hardcoded paths.
441
442 20 Nov 2004; Brian Harring <ferringb@gentoo.org> Makefile.am, configure.in,
443 sandbox_futils.c: tweaks to install sandbox.bashrc, and use it.
444
445 19 Nov 2004; Brian Harring <ferringb@gentoo.org>:
446 Sandbox is now autotooled, create-localdecls needs to be killed and the code
447 shifted into configure.in. Currently builds *one* libsandbox.so- if multiple
448 are desired (-m64 and -m32 for amd64), the ebuild should do it (imo).
449 To get to a point of testing, automake && autoconf; created requisite files w/
450 a(utomake|clocal)-1.8, and autoconf 2.59. Installs to /usr/, instead of
451 /lib and /usr/lib/portage/bin.
452
453 14 Nov 2004; Brian Harring <ferringb@gentoo.org> libsandbox.c, sandbox.c:
454 closing out bug #70225, potential overflow of the sandbox_pids_file var.
455
456 07 Nov 2004; Brian Harring <ferringb@gentoo.org> libsandbox.c: c99 standard,
457 (think it was at least) allows intermixing of code and data segments. bug #70351
458 should be fixed by this.
459
460 03 Nov 2004; Brian Harring <ferringb@gentoo.org> libsandbox.c, sandbox_futils.c:
461 futils fix from bug #65201 via solar, and libsandbox log path checks via #69137
462
463 02 Aug 2004; Nicholas Jones <carpaski@gentoo.org> libsandbox.c: Code from
464 Seth Robertson that tracked down all adjuct flags for read operations that
465 do not invoke a write operation.
466
467 04 Apr 2004; Nicholas Jones <carpaski@gentoo.org> libsandbox.c, sandbox.c:
468 Another fix from jstubbs regarding a free() on a stack variable for the
469 environment -- tracking now prevents extraneous free()'s segfault.
470
471 04 Apr 2004; Nicholas Jones <carpaski@gentoo.org> libsandbox.c, sandbox.c:
472 J. Stubbs tracked down a new bug where mkdir was failing to the patch on
473 the lstat in mkdir... it now only returns 0 or -1 as documented for mkdir.
474 Also remove the errno = ESUCCESS settings as documentation points out that
475 a library isn't allowed to do that.
476
477 04 Apr 2004; Nicholas Jones <carpaski@gentoo.org> libsandbox.c: Added a
478 file_security_check() function to check random potential exploits on files
479 that sandbox is to load and read -- Normally sandboxpids.tmp. This fixes
480 the 'system-crippling' exploits (bug 21923) and catches a few other
481 potential problems.
482
483 20 Mar 2004; Nicholas Jones <carpaski@gentoo.org> Makefile: Updates for
484 32/64 bit sandbox. Made CC and LD '?=' values to allow passed in CC to work.
485
486 20 Mar 2004; Nicholas Jones <carpaski@gentoo.org> libsandbox.c:
487 bug 42048 -- Fixed the lstat/errno conditions for mkdir <caleb@g.o>.
488 Added the 64/32 bit sandbox patch for AMD64 bug 32963 <brad/azarah>.
489
490 29 Feb 2004; Martin Schlemmer <azarah@gentoo.org> sandbox.c, sandbox_futils.c :
491 Fix permissions and group of pids file and logs. Permissions should be 0664
492 and group should be 'portage'. Bug #34260.
493
494 28 Feb 2004; Martin Schlemmer <azarah@gentoo.org> libsandbox.c :
495 Besides a small cleanup, redo how we replace LD_PRELOAD in the environ passed
496 to the real execve (in our execve wrapper). Seems that on some arches (sparc
497 among others) do not allow us to tamper with the readonly copy passed to
498 execve, so pass our own copy of the environment. Bug #42290.
499
500 11 Jan 2004; Nicholas Jones <carpaski@gentoo.org> create-decls:
501 Changed tail to head and added a notice about duration of glibc check.
502
503 21 Dec 2003; Nicholas Jones <carpaski@gentoo.org> create-decls:
504 Changed the glibc subversion check to use /usr/bin/* instead of /bin/sh
505 as there isn't a guarentee that it is dynamic.
506
507 02 Nov 2003; Martin Schlemmer <azarah@gentoo.org> libsandbox.c :
508 If 'file' passed to before_syscall(const char *func, const char *file) is
509 invalid, we should set errno to ENOENT, and not EINVAL. This should
510 close bug #32238.
511
512 14 Oct 2003; Martin Schlemmer <azarah@gentoo.org> libsandbox.c :
513 Fix a bug that occurs mainly on 64bit arch, where the file passed to
514 the functions we wrap, is invalid, and then cause canonicalize to pass
515 garbage to before_syscall(), thanks to great detective work from
516 Andrea Luzzardi <al@sig11.org> (bug #29846).
517
518 13 Oct 2003; Martin Schlemmer <azarah@gentoo.org> create-localdecls :
519 Add a uClibc detection patch from Peter S. Mazinger <ps.m@gmx.net>.
520
521 13 Oct 2003; Martin Schlemmer <azarah@gentoo.org> libsandbox.c :
522 Fix a bug in libsandbox.c 's checking in the rename wrapper - it basically
523 only checked the destination patch, and not the source, so we could move
524 a protected file to a unprotected directory, and then delete/modify it.
525 Thanks to Andrea Luzzardi (scox) <al@sig11.org>, bug #30992, for this fix.
526
527 12 Oct 2003; Nicholas Jones <carpaski@gentoo.org> sandbox.c :
528 Added python2.3 to the predict section/variable.
529
530 28 Sep 2003; Martin Schlemmer <azarah@gentoo.org> libsandbox.c, sandbox.c,
531 sandbox.h, sandbox_futils.c :
532 Add support to set the pids file via SANDBOX_PIDS_FILE at startup. If
533 it is not set, it will revert to its old value.
534
535 27 Sep 2003; Martin Schlemmer <azarah@gentoo.org> libsandbox.c :
536 Fix our mkdir wrapper to check if the dir exist, and return EEXIST if so,
537 rather than failing with a violation, bug #29748.
538
539 27 Jul 2003; Martin Schlemmer <azarah@gentoo.org> libsandbox.c :
540 Fix canonicalize() to ignore calls with path = "".
541
542 27 Jul 2003; Martin Schlemmer <azarah@gentoo.org> getcwd.c, libsandbox.c,
543 sandbox_futils.c, canonicalize.c :
544 Once again coreutils fails, as my systems had 2.5 kernel, the getcwd system
545 call handled strings larger than PATH_MAX (bug #21766). It however does not
546 work the same on 2.4 kernels.
547
548 To fix, I added the posix implementation of getcwd() (from glibc cvs) that
549 do not need the system call. We use the default getcwd() function via a
550 wrapper (egetcwd), and then lstat the returned path. If lstat fails, it
551 means the current directory was removed, OR that the the system call for
552 getcwd failed (curious is that it do not fail and return NULL or set
553 errno, but rather just truncate the retured directory - usually from the
554 start), and if so, we use the generic getcwd() function (__egetcwd). Note
555 that we do not use the generic version all the time, as it calls lstat()
556 a great number of times, and performance degrade much.
557
558 29 Jun 2003; Martin Schlemmer <azarah@gentoo.org> create-localdecls,
559 libsandbox.c :
560 Make sure SB_PATH_MAX will not wrap. Fix two possible memory leaks.
561
562 22 Jun 2003; Martin Schlemmer <azarah@gentoo.org> libsandbox.c, canonicalize.c
563 create-localdecls :
564 When checking path names of files accessed, we need to canonicalize it, else
565 it may be a symlink in a 'write allowed' directory pointing to a file in a
566 directory we should not have write access to.
567
568 With something like coreutils-5.0, we have two problems:
569 1) One of the tests checks if getcwd() can return a path longer than
570 PATH_MAX. This test then tries to create a dir which even while
571 created local (mkdir("conftest2")), it ends up being resolved with
572 a name that is much larger than PATH_MAX. The problem now is that
573 canonicalize() have undefined behaviour when the path was too long
574 (returned wrongly truncated paths, etc), and pass the wrong path to
575 before_syscall() (causing the bogus sandbox violations).
576 2) The ecanonicalize() function we used, along with the canonicalize()
577 function did not support longer than PATH_MAX. This is partly a
578 cause for 1), but the error checking (rather lack of it) of calls
579 to erealpath() in canonicalize() was the prime reason for 1).
580
581 As we do not use this canonicalized name to call the function, we resolve this
582 by fixing canonicalize() to do better error checking, and ecanonicalize() as
583 well as all functions in libsandbox.c to use a PATH_MAX of 'PATH_MAX * 2'.
584 While they will resolve paths properly now, and can check if a write/read is
585 allowed, the functions called from the sandboxed environment will still work
586 as expected.
587
588 This should resolve bug #21766.
589
590 06 Apr 2003; Martin Schlemmer <azarah@gentoo.org> libsandbox.c :
591 For some reason sandbox fails with a 'open_wr' if you run 'locale -a' under
592 it (bug #16298).
593
594 Problem is that for some reason locale fopen's locale.alias with mode "rm".
595
596 -------------------------------------------------------
597 nosferatu root # grep fopen locale.log
598 fopen("/usr/share/locale/locale.alias", "rm"ACCESS DENIED open_wr: /usr/share/locale/locale.alias
599 nosferatu root #
600 --------------------------------------------------------
601
602 I checked the source of locale, but it have fopen with mode 'r', so
603 not sure where the "rm" mode comes from. Anyhow, changed the check in
604 before_syscall_open_char() to also see mode "rm" as readonly.
605
606 23 Feb 2003; Martin Schlemmer <azarah@gentoo.org> create-localdecls :
607
608 Add glibc-2.3 support.
609
610 22 Feb 2003; Martin Schlemmer <azarah@gentoo.org> sandbox.c :
611
612 Some /etc/ld.so.preload fixes. Just changed the #if defines to cover all
613 operations releated to preload, as well as only try to modify ld.so.preload
614 if we can. Also modify to write the pid to /tmp/sandboxpids.tmp even when
615 not using ld.so.preload. Fix to not write this instance of sandbox's pid
616 to /tmp/sandboxpids.tmp on exit if this is not the last sandbox running.
617
618 22 Feb 2003; Nicholas Jones <carpaski@gentoo.org> Makefile :
619
620 Changed the LD to CC for hppa.
621
622 22 Feb 2003; Nicholas Jones <carpaski@gentoo.org> create-localdecls :
623
624 Killed the previous changes I made.
625
626 17 Feb 2003; Nicholas Jones <carpaski@gentoo.org> create-localdecls :
627
628 Added parisc to BROKEN_RTLD_ARCHLIST to see if it we can fix the relocation probs.
629
630 09 Jan 2003; J Robert Ray <jrray@gentoo.org> sandbox.c :
631
632 Don't segfault if $HOME isn't set, set $HOME to "/" instead. Fixes bug 10868.
633
634 16 Dec 2002; Martin Schlemmer <azarah@gentoo.org> create-localdecls :
635
636 Fix memory leak for mips, bug #12236. Thanks to Torgeir Hansen <torgeir@trenger.ro>
637 for this fix.
638
639 4 Dec 2002; J Robert Ray <jrray@gentoo.org> sandbox.h sandbox_futils.c :
640
641 sandbox_futils defined a dirname() function that was masking the same
642 function in glibc and was broken (e.g.: SANDBOX_DIR was being set to
643 '/usr/lib/portage/bi/'). Fixed function to return expected results and
644 renamed it to sb_dirname() to no longer mask the glibc function. Closes bug
645 11231.
646
647 4 Dec 2002; Martin Schlemmer <azarah@gentoo.org> :
648
649 Fix a segfault in libsandbox.c if canonicalize() was called with
650 first parameter = NULL.
651
652 1 Sep 2002; Martin Schlemmer <azarah@gentoo.org> :
653
654 Fix my braindead 'return 1;' in a void function. Updated sandbox.c,
655 cleanup() for this.
656
657 Change cleanup() in sandbox.c not to exit with fail status if
658 the pidsfile is missing. We really should still display sandbox
659 violations if they occured.
660
661 31 Aug 2002; Martin Schlemmer <azarah@gentoo.org> :
662
663 Update cleanup() in sandbox.c to remove the PIDSFILE if this is
664 the last sandbox running.
665
666 25 Aug 2002; Martin Schlemmer <azarah@gentoo.org> :
667
668 Major cleanups to mainly libsandbox.c again.
669
670 22 Aug 2002; Martin Schlemmer <azarah@gentoo.org> :
671
672 Add copyrights to sandbox.h and sandbox_futils.h. If wrong, the
673 parties involved should please contact me so that we can fix it.
674
675 Add opendir wrapper to libsandbox.c.
676
677 21 Aug 2002; Martin Schlemmer <azarah@gentoo.org> :
678
679 Do some more cleanups to ecanonicalize(), as it dropped filenames in
680 rare cases (after my symlink cleanups), and caused glibc to bork.
681 These fixes went into canonicalize.c.
682
683 20 Aug 2002; Martin Schlemmer <azarah@gentoo.org> :
684
685 Fix spawn_shell() and main() in sandbox.c to properly return fail
686 status.
687
688 19 Aug 2002; Martin Schlemmer <azarah@gentoo.org> :
689
690 The new canonicalize() function in libsandbox.c also resolved symlinks,
691 which caused on cleaning sandbox errors if the symlink pointed to a
692 file in the live root. Ripped out canonicalize() and realpath() from
693 glibc; removed the symlink stuff, and changed them to ecanonicalize()
694 and erealpath().
695
696 18 Aug 2002; Martin Schlemmer <azarah@gentoo.org> :
697
698 Ripped out all the wrappers, and implemented those of InstallWatch.
699 Losts of cleanups and bugfixes. Implement a execve that forces
700 $LIBSANDBOX in $LD_PRELOAD. We can now thus do away with the feared
701 /etc/ld.so.preload (*g*) ... Made the needed changes to sandbox.c,
702 sandbox.h and sandbox_futils.c. Rewrote the Makefile for most
703 parts; it now have an install target.
704
705 Reformat the whole thing to look somewhat like the reworked sandbox.c
706 and new sandbox.h and sandbox_futils.c from:
707
708 Brad House <brad@mainstreetsoftworks.com>.
709
710 Additional Copyrights now due to the InstallWatch code:
711
712 Copyright (C) 1998-9 Pancrazio `Ezio' de Mauro <p@demauro.net>

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

  ViewVC Help
Powered by ViewVC 1.1.20