>Description:
getpwent on FreeBSD requires the file /etc/spwd.db to exist in
order for it to be successful. In a chroot'd environment, this
file disappears, and mysqld errors out with a "Can't find user"
error message, even though the user exists on the system.
>How-To-Repeat:
Attempt to use the --chroot=/usr/local/mysql option on FreeBSD.
>Fix:
The workaround is to copy /etc/spwd.db to /usr/local/mysql/etc.
A fix is to use the function getpwent to get the UID before
chroot(), and pass the UID instead of the name to the set_user
function in the file sql/mysqld.cc.
>Submitter-Id: <submitter ID>
>Originator: Kelvin Wood
>Organization:
none
>MySQL support: none
>Synopsis: getpwent for --user fails after chroot()
>Severity: non-critical
>Priority: low
>Category: mysql
>Class: sw-bug
>Release: mysql-3.23.43 (Source distribution)
>Environment:
System: FreeBSD pii350.localdomain 4.4-RELEASE FreeBSD 4.4-RELEASE #4: Wed Oct 17
20:04:15 GMT 2001 [EMAIL PROTECTED]:/usr/src/sys/compile/JAZZ i386
Some paths: /usr/bin/perl /usr/bin/make /usr/bin/gcc /usr/bin/cc
GCC: Using builtin specs.
gcc version 2.95.3 20010315 (release) [FreeBSD]
Compilation info: CC='gcc' CFLAGS='-O3 -mpentiumpro' CXX='c++' CXXFLAGS='-O3
-mpentiumpro -felide-constructors -fno-exceptions -fno-rtti' LDFLAGS=''
LIBC:
-r--r--r-- 1 root wheel 1205382 Sep 18 17:24 /usr/lib/libc.a
lrwxrwxrwx 1 root wheel 9 Sep 30 15:20 /usr/lib/libc.so -> libc.so.4
-r--r--r-- 1 root wheel 572876 Sep 18 17:24 /usr/lib/libc.so.4
Configure command: ./configure --enable-assembler
--with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock --prefix=/usr/local/mysql
Perl: This is perl, version 5.005_03 built for i386-freebsd
---------------------------------------------------------------------
Before posting, please check:
http://www.mysql.com/manual.php (the manual)
http://lists.mysql.com/ (the list archive)
To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php