summaryrefslogtreecommitdiff
path: root/usr.bin/file
AgeCommit message (Collapse)Author
2015-07-08Properly handle files >= 4 GB on 32 bit architectures.Tobias Stoeckmann
with input by and ok nicm@
2015-07-08Do not allow '\0' as an offset operator or type.Tobias Stoeckmann
ok nicm
2015-06-17Use strdup in xstrdup from Fritjof Bornebusch. While here, remove xfreeNicholas Marriott
which is unused.
2015-06-04systrace(4) STRIOCATTACH can only fail for file(1) if it is alreadyNicholas Marriott
systraced. If so, silently ignore the error and do not attempt to apply our own systrace policy. From Patrick Keshishian.
2015-05-30Support - to read from stdin, from Sebastien Marie.Nicholas Marriott
2015-05-29millert points out I can just call tzset() early to avoid having toNicholas Marriott
permit access() in the child.
2015-05-29Use gmtime not localtime when we want UTC, I got it right in one placeNicholas Marriott
but not in another two. I expect I was confused by the fact that the original file(1) had them the wrong way round (so, for example, leqldate was actually UTC).
2015-05-29Don't stop at the first successful test unless it has generated someNicholas Marriott
output.
2015-05-29The case-insensitive flag (c) for string and search tests doesn't makeNicholas Marriott
the entire match case sensitive, only lower case characters.
2015-05-29I got confused and made the strength multiplier 20, it should be 10.Nicholas Marriott
2015-05-29file(1) needs access(/etc/localtime) for localtime().Nicholas Marriott
2015-05-29Only mmap() on regular files; mmap() on /dev/stdin will happily map asNicholas Marriott
much as we ask for but only the first page will be usable. (We could get the actual size with ioctl(FIONREAD) and mmap() that but it would need to be done in the parent - I think just using read() is simpler.)
2015-05-29Make things a little less confusing by making fill_buffer self-containedNicholas Marriott
and return both the buffer and amount filled rather than having it modify the input struct and return a value.
2015-05-29If reading into buffer, correct the stored file size at EOF, we don'tNicholas Marriott
want to look at any garbage that might already be in the buffer after that. From Sebastien Marie.
2015-05-29Silently fall back to /etc/magic if ~/.magic can't be opened, ok deraadt stspNicholas Marriott
2015-05-28probably makes more sense to show "file" as being mandatory;Jason McIntyre
from sebastien marie
2015-05-18No longer need tricks with setvbuf(). Instead, we just give permissionTheo de Raadt
to call fstat() and fcntl(). ok nicm
2015-04-30Add a comment about waitpid, suggested by espie@.Nicholas Marriott
2015-04-30Tweak comment so it doesn't imply line buffering is needed (any will doNicholas Marriott
so long as it is explicit), and set stderr to NBF not LBF. Pointed out by espie@.
2015-04-29the non braced do while made my teeth hurtTheo de Raadt
2015-04-28Add a missing free in the error path.Lawrence Teo
ok nicm@
2015-04-27Use a systrace(4) sandbox with a short whitelist of allowed syscalls forNicholas Marriott
the file(1) child process. Based on similar code in ssh sandbox-systrace.c. Idea and help from deraadt@.
2015-04-27Add a _file user and use for privsep, ok deraadtNicholas Marriott
2015-04-27Add simple privilege separation to file(1). Two processes, fileNicholas Marriott
descriptors and a few other bits are opened in parent and passed to child using imsg. Child currently drops to "nobody" but this will change.
2015-04-27remove some extraneous text; ok nicmJason McIntyre
2015-04-26Don't support -s on FIFOs, it doesn't work well and the workarounds areNicholas Marriott
a bit horrible.
2015-04-26stat() the original link path not the resolved one which may be relative.Nicholas Marriott
2015-04-25Only print MIME warnings when warnings are enabled.Nicholas Marriott
2015-04-25Fail if a \ appears at EOL rather than continuing off the end of theNicholas Marriott
buffer, from Sebastien Marie.
2015-04-25Switch to using the POSIX endian macros, i.e: be64toh vs. betoh64.Bryan Steele
ok nicm@
2015-04-24Document -h, and bring some consistency to the option descriptions. ok jmcNicholas Marriott
2015-04-24tweaks; ok nicmJason McIntyre
2015-04-24Do not attempt to use ~/.magic if running as root (or issetugid()).Nicholas Marriott
2015-04-24move an ugly spaceTheo de Raadt
2015-04-24We need to loop over the files once to work out the width of the labelsNicholas Marriott
before testing them.
2015-04-24Trying to drop privileges means we can't handle ARG_MAX arguments, soNicholas Marriott
remove it for now.
2015-04-24Add a couple of missing spaces (style nits).Nicholas Marriott
2015-04-24Use symbolic constants for st_mode flags, no binary change.Nicholas Marriott
2015-04-24If ~/.magic exists but can't be used, fail rather than silently fallingNicholas Marriott
back to /etc/magic.
2015-04-24Fix a couple of errors in the magic source files.Nicholas Marriott
2015-04-24New implementation of the file(1) utility. This is a simplified,Nicholas Marriott
modernised version with a nearly complete magic(5) parser but omits some of the complex builtin tests (notably ELF) and has a reduced set of options. ok deraadt
2015-02-15Use "In" to mark up include files, instead of wrongly wrapping with Aq.Anthony J. Bentley
Aq is not the same as <> in non-ASCII situations, so this caused incorrect output in some places. And it provided no semantics besides. ok schwarze@
2015-01-16Add missing <limits.h> to file.c and remove definition of PATH_MAXTodd C. Miller
which masked the missing include. OK deraadt@
2015-01-16Replace <sys/param.h> with <limits.h>Doug Hogan
This patch is from Theo. I helped verify that removing <sys/param.h> doesn't change anything. This produces the same binaries before and after with clang 3.5 and gcc 4.9.4 on amd64. There is a slight difference in the way it is generated by our old gcc 4.2.1 despite the fact that the preprocessed input is almost identical. ok deraadt@
2015-01-16If MAXPATHLEN is undefined, do not set it to 512. Dangerous.Theo de Raadt
2014-11-04bounds check, apply from upstream devel/libmagicTheo de Raadt
from Matthias Pitzl @ genua
2014-10-26Place additional parantheses around readdir() and check return does notBrad Smith
equal NULL. apprentice.c:645:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] With input and ok guenther@
2014-10-11Userland reallocarray() audit.Doug Hogan
Avoid potential integer overflow in the size argument of malloc() and realloc() by using reallocarray() to avoid unchecked multiplication. ok deraadt@
2014-05-18use reallocarrayMarc Espie
okay ian@, chl@
2014-01-16Avoid size_t overflow in apprentice_map.Tobias Stoeckmann
ok millert