From e1331923f42fcbf718659c520a15f6189af0d0fc Mon Sep 17 00:00:00 2001 From: "C. McEnroe" Date: Mon, 9 Mar 2020 04:33:03 -0400 Subject: Replace eaccess with faccessat --- bin/1sh/exec.c | 2 +- bin/1sh/test.c | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/bin/1sh/exec.c b/bin/1sh/exec.c index 3eea5afa..7897e024 100644 --- a/bin/1sh/exec.c +++ b/bin/1sh/exec.c @@ -725,7 +725,7 @@ typecmd_impl(int argc, char **argv, int cmd, const char *path) " a tracked alias for" : "", name); } else { - if (eaccess(argv[i], X_OK) == 0) { + if (faccessat(AT_FDCWD, argv[i], X_OK, AT_EACCESS) == 0) { if (cmd == TYPECMD_SMALLV) out1fmt("%s\n", argv[i]); else diff --git a/bin/1sh/test.c b/bin/1sh/test.c index 8e618cc7..fcebb292 100644 --- a/bin/1sh/test.c +++ b/bin/1sh/test.c @@ -23,6 +23,7 @@ __FBSDID("$FreeBSD: releng/12.1/bin/test/test.c 298232 2016-04-19 00:38:07Z arau #include #include #include +#include #include #include #include @@ -375,18 +376,18 @@ filstat(char *nm, enum token mode) switch (mode) { case FILRD: - return (eaccess(nm, R_OK) == 0); + return (faccessat(AT_FDCWD, nm, R_OK, AT_EACCESS) == 0); case FILWR: - return (eaccess(nm, W_OK) == 0); + return (faccessat(AT_FDCWD, nm, W_OK, AT_EACCESS) == 0); case FILEX: /* XXX work around eaccess(2) false positives for superuser */ - if (eaccess(nm, X_OK) != 0) + if (faccessat(AT_FDCWD, nm, X_OK, AT_EACCESS) != 0) return 0; if (S_ISDIR(s.st_mode) || geteuid() != 0) return 1; return (s.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH)) != 0; case FILEXIST: - return (eaccess(nm, F_OK) == 0); + return (faccessat(AT_FDCWD, nm, F_OK, AT_EACCESS) == 0); case FILREG: return S_ISREG(s.st_mode); case FILDIR: -- cgit 1.4.1 'author'>author
Commit message (Collapse)Author
2019-11-18Mention the name CertFP in SASL EXTERNAL guide 1.0June McEnroe
2019-11-18Document accept and exit behaviorJune McEnroe
2019-11-18Remove ISUPPORT draft referenceJune McEnroe
I don't actually deal with it at all other than storing them for syncing clients.
2019-11-18Document inadvertent echo bugJune McEnroe
2019-11-15Request NAMES on sync by defaultJune McEnroe
This inverts the meaning of -N!
2019-11-14Add concept of passive clientsJune McEnroe
2019-11-14Save and load full struct timevalJune McEnroe
2019-11-14Use struct timeval for sub-second precisionJune McEnroe
2019-11-14Remove server-time filter TODOJune McEnroe
I think it's fine to keep it separate since it's a core function of the bouncer.
2019-11-14Tweak filter regexesJune McEnroe
2019-11-14Filter multi-prefixJune McEnroe
2019-11-14Replace filters with regex replacesJune McEnroe
2019-11-13Refactor filterUserhostInNamesJune McEnroe
2019-11-13Factor out wordcpy for filtersJune McEnroe
2019-11-11Revert "Test getopt_config"June McEnroe
This reverts commit c8a771828e1d5fc8c476bbd650fafcfb7ba390a8. It just feels gross... idk.
2019-11-11Test getopt_configJune McEnroe
2019-11-11Add userhost-in-names to manualJune McEnroe
2019-11-11Skip initial NAMES parametersJune McEnroe
Channel names can contain '!' so splitting the whole message on it won't work. I hate this code though.
2019-11-11Filter userhost-in-namesJune McEnroe
I really want to be writing tests for these functions...
2019-11-10Compare words without copying in filtersJune McEnroe
2019-11-10Separate tags from all targetJune McEnroe
2019-11-10Filter invite-notifyJune McEnroe
2019-11-10Add capsicum note to READMEJune McEnroe
2019-11-10Filter extended-joinJune McEnroe
2019-11-10Expand client configuration documentation and list capabilitiesJune McEnroe
2019-11-10Request all supported caps from serverJune McEnroe
2019-11-10Filter ACCOUNT, AWAY, CHGHOST for incapable clientsJune McEnroe
2019-11-10Rename listen to localJune McEnroe
2019-11-09Remove extended-join and invite-notifyJune McEnroe
The remaining caps only generate new commands which can easily be filtered out when sending to clients so will be in the first pass of support. extended-join is probably safe to pass through unaltered, just causing extraneous parameters on JOIN commands, but maybe not. invite-notify reuses the INVITE command where the invited user is not self.
2019-11-09Maintain stateCaps and offer them to clientsJune McEnroe
2019-11-09Parse capabilitiesJune McEnroe
The list that I've defined are the ones that I expect to be able to enable probably without any clients breaking... And of course server-time which pounce implements itself.
2019-11-09Avoid the reserved _A names with BIT macroJune McEnroe
2019-11-09Define macro for bit flag enumsJune McEnroe
2019-11-08Check that password is hashedJune McEnroe
2019-11-08Avoid calling getopt_long again after it returns -1June McEnroe
On GNU, calling getopt_long again will reset optind back to the first non-option argument, which would cause an infinite loop of reading the same configurtion file forever.
2019-11-08Only change AWAY status for registered clientsJune McEnroe
Turns out I did eventually fix this, because I may want to implement "passive clients" for logging or notification stuff, which wouldn't affect AWAY status either.
2019-11-07Just write the example normallyJune McEnroe
2019-11-07Include path in readlinkat errorJune McEnroe
2019-11-07Call clientConsume before clientRecvJune McEnroe
This might reduce the frequency of a client getting its own message back because it was behind in the ring when it sent it.
2019-11-06Use -l:filename in Linux.mkJune McEnroe
2019-11-06Fix compat.h for #defined strlcpyJune McEnroe
2019-11-06Allow unsetting LIBRESSL_PREFIXJune McEnroe
2019-11-06Document calico service configurationJune McEnroe
2019-11-06Document SASL EXTERNAL configuration in more detailJune McEnroe
2019-11-06Document pounce service configurationJune McEnroe
2019-11-06Mention Darwin and GNU/Linux in READMEJune McEnroe
2019-11-06Assume LibreSSL from brew on DarwinJune McEnroe
2019-11-06Remove -DNO_EXPLICIT_BZERO from Darwin.mkJune McEnroe
2019-11-06Don't install rc scripts or dirs on LinuxJune McEnroe