Date: Sun, 15 Nov 2020 13:41:51 -0600 From: Kyle Evans <kevans@freebsd.org> To: Guy Yur <guyyur@gmail.com> Cc: Scott Long <scottl@samsco.org>, freebsd-current <freebsd-current@freebsd.org>, kaktus@freebsd.org Subject: Re: pkg.c revision 367687 breaks pkg Message-ID: <CACNAnaEGMBze8-XD61KB0ckH0__YJYPAEpQML3B0BesCeRUxFQ@mail.gmail.com> In-Reply-To: <4e5fe0a6-7325-d413-f68f-2c0ebaa34763@gmail.com> References: <A3B7709B-8C16-48E0-9A6C-E45D206F6DE6@gmail.com> <EC6FF21B-109A-45EE-97F2-A04B1F195DFA@samsco.org> <4e5fe0a6-7325-d413-f68f-2c0ebaa34763@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Nov 15, 2020 at 1:33 PM Guy Yur <guyyur@gmail.com> wrote: > > On 15/11/20 8:55 pm, Scott Long wrote: > > This is fixed in revision 367701 > > > > Scott > > Hi, > > I am on revision 367710 (newer) and have the same problem. > sysctlbyname() returns an empty string and length of 1. > sysctl() with name converted to mib works fine. > > ssize_t tmplen; > char path[1000] = { 0 }; > > tmplen = getlocalbase(path, sizeof(path)); > printf("%s : %zd\n", path, tmplen); > > tmplen = sizeof(path); > if (sysctlbyname("user.localbase", path, (size_t *)&tmplen, NULL, 0) == 0) > printf("%s : %zd\n", path, tmplen); > > int mib[100] = { 0 }; > size_t miblen; > if (sysctlnametomib("user.localbase", mib, &miblen) == 0) { > for (int i = 0; i < miblen; i++) > printf("%d ", mib[i]); > printf("\n"); > } > > tmplen = sizeof(path); > if (sysctl(mib, miblen, path, (size_t *)&tmplen, NULL, 0) == 0) > printf("%s : %zd\n", path, tmplen); > > prints: > : 1 > : 1 > 8 21 > /usr/local : 11 > > Thanks, > Guy Yur > This is a separate (valid) problem, but not directly related to Scott's work here. sysctlbyname now goes directly to the kernel with no chance for the user.* sysctls to intercept. That should independently be fixed to maintain the illusion that they're real sysctl's. Thanks, Kyle Evans
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CACNAnaEGMBze8-XD61KB0ckH0__YJYPAEpQML3B0BesCeRUxFQ>