<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to bugs</title><link>https://sourceforge.net/p/libnss-mysql/bugs/</link><description>Recent changes to bugs</description><atom:link href="https://sourceforge.net/p/libnss-mysql/bugs/feed.rss" rel="self"/><language>en</language><lastBuildDate>Thu, 09 Sep 2010 22:18:09 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/libnss-mysql/bugs/feed.rss" rel="self" type="application/rss+xml"/><item><title>debugging get's enabled also with --disable-debug</title><link>https://sourceforge.net/p/libnss-mysql/bugs/15/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Due to a bug in the configure-script, --disable-debug also enables debugging.&lt;/p&gt;
&lt;p&gt;This can lead to a security issue as debugging leaks information to a file in /tmp. This is documented, so it generally isn't a problem, but as this configure-bug can cause debugging to be enabled when the user explicitely wants to disable it, I consider this a security threat. I've assigned CVE-2010-1483 to this issue.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">hanno boeck</dc:creator><pubDate>Thu, 09 Sep 2010 22:18:09 -0000</pubDate><guid>https://sourceforge.net700dd8b426d0bd288accf9ea9e9a830fd30a709b</guid></item><item><title>More efficient query for group members</title><link>https://sourceforge.net/p/libnss-mysql/bugs/14/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;I reported this bug directory to the maintainer, but I copy it here so it doesn't get reported several times:&lt;br /&gt;
&lt;a href="http://lists.gnu.org/archive/html/savannah-hackers-public/2009-08/msg00004.html" rel="nofollow"&gt;http://lists.gnu.org/archive/html/savannah-hackers-public/2009-08/msg00004.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;Thanks for developing libnss-mysql, it looks like I'll be able to drop&lt;br /&gt;
our db-&amp;gt;system cron job ( at &lt;a href="http://savannah.gnu.org/" rel="nofollow"&gt;http://savannah.gnu.org/&lt;/a&gt; ) :)&lt;/p&gt;
&lt;p&gt;I have a suggestion to improve the 'getgrent' query quite a lot. Are&lt;br /&gt;
you still maintaining the package?&lt;/p&gt;
&lt;p&gt;I noticed that 'getent group' is particularly slow, as libnss-mysql&lt;br /&gt;
makes one query per group (this is the only place where it performs&lt;br /&gt;
poorly compared to libnss-ldap ;)).&lt;/p&gt;
&lt;p&gt;Since I'm using joins in that query this is taking several minutes for&lt;br /&gt;
3000 groups (0.2s per query * 3000 = 10mn).&lt;/p&gt;
&lt;p&gt;As far as I can see this is a design decision, to get the group&lt;br /&gt;
members from in a separate table, with a separate query for each&lt;br /&gt;
group.&lt;/p&gt;
&lt;p&gt;However it's now possible to easily grab all those members in a single&lt;br /&gt;
"getgrent" query, for example&lt;/p&gt;
&lt;p&gt;SELECT unix_group_name, 'x', gidNumber,&lt;br /&gt;
GROUP_CONCAT(user_name SEPARATOR ',')&lt;br /&gt;
FROM user_group&lt;br /&gt;
JOIN user ON user.user_id = user_group.user_id&lt;br /&gt;
JOIN groups ON groups.group_id = user_group.group_id&lt;br /&gt;
GROUP BY groups.group_id;&lt;/p&gt;
&lt;p&gt;with a simple many2many relationship:&lt;br /&gt;
- user&lt;br /&gt;
- user_id PK&lt;br /&gt;
- user_name&lt;br /&gt;
- uidNumber&lt;br /&gt;
- group&lt;br /&gt;
- group_id PK&lt;br /&gt;
- unix_group_name&lt;br /&gt;
- gidNumber&lt;br /&gt;
- user_group&lt;br /&gt;
- user_id FK&lt;br /&gt;
- group_id FK&lt;/p&gt;
&lt;p&gt;and GROUP_CONCAT&lt;br /&gt;
&lt;a href="http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat" rel="nofollow"&gt;http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(If GROUP_CONCAT sounds edgy, although it's here since 4.1, it's still&lt;br /&gt;
possible to drop the grouping and concat manually in the C code.)&lt;/p&gt;
&lt;p&gt;That query would take 0.4s.  With the current version 'getent group'&lt;br /&gt;
takes several minutes with the joins, and no less than 4s if I cache&lt;br /&gt;
the user and group fields in the 'user_group' table (for 3000 groups).&lt;/p&gt;
&lt;p&gt;Are you interested in improving the performances of getgrent / 'getent group'?&lt;br /&gt;
I'm willing to work on a patch.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sylvain</dc:creator><pubDate>Sun, 23 Aug 2009 10:46:57 -0000</pubDate><guid>https://sourceforge.net8b1bd2c84c90b39392623ec4e8fe653229c5d9b3</guid></item><item><title>Group skipped on buffer resize</title><link>https://sourceforge.net/p/libnss-mysql/bugs/13/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;When the buffer is too small, libnss-mysql returns NSS_TRYAGAIN so that the OS doubles the buffer size and call the function again.&lt;br /&gt;
However the MySQL resultset is not reset, so when the function is called again, it uses the next row, and hence skips an entry.&lt;/p&gt;
&lt;p&gt;I experienced this while using "getent group" (getgrent) with many users: it skipped a group at each buffer resize.&lt;/p&gt;
&lt;p&gt;Attach is a proof-of-concept patch that use mysql_row_tell and mysql_row_seek to fix this issue.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Sylvain</dc:creator><pubDate>Fri, 07 Aug 2009 17:56:30 -0000</pubDate><guid>https://sourceforge.net2bfa749799d89671a54103e640f831a0fe53986a</guid></item><item><title>_nss_mysql_load_memsbygid</title><link>https://sourceforge.net/p/libnss-mysql/bugs/12/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;When I add a user to a group (gid=3000) which has 63 members suddenly all users are removed from the group. &lt;/p&gt;
&lt;p&gt;executing id [user] showed following in debug:&lt;/p&gt;
&lt;p&gt;_nss_mysql_run_query: Executing query: SELECT username FROM grouplist WHERE gid='3000'&lt;br /&gt;
_nss_mysql_connect_sql: ENTER&lt;br /&gt;
_nss_mysql_check_existing_connection: ENTER&lt;br /&gt;
_nss_mysql_validate_socket: ENTER&lt;br /&gt;
_nss_mysql_is_same_sockaddr: ENTER&lt;br /&gt;
_nss_mysql_is_same_sockaddr: EXIT (TRUE)&lt;br /&gt;
_nss_mysql_is_same_sockaddr: ENTER&lt;br /&gt;
_nss_mysql_is_same_sockaddr: EXIT (TRUE)&lt;br /&gt;
_nss_mysql_validate_socket: EXIT (TRUE)&lt;br /&gt;
_nss_mysql_check_existing_connection: EXIT (TRUE)&lt;br /&gt;
_nss_mysql_connect_sql: Using existing connection&lt;br /&gt;
_nss_mysql_connect_sql: EXIT (NSS_SUCCESS)&lt;br /&gt;
_nss_mysql_run_query: EXIT (NSS_SUCCESS)&lt;br /&gt;
_nss_mysql_load_memsbygid: ENTER&lt;br /&gt;
_nss_mysql_fetch_row: ENTER&lt;br /&gt;
_nss_mysql_fetch_row: EXIT (NSS_SUCCESS)&lt;br /&gt;
[ removed multiple repeats of same 2 lines]&lt;br /&gt;
_nss_mysql_fetch_row: ENTER&lt;br /&gt;
_nss_mysql_fetch_row: EXIT (NSS_SUCCESS)&lt;br /&gt;
_nss_mysql_load_memsbygid: EXIT (NSS_TRYAGAIN)&lt;br /&gt;
_nss_mysql_close_result: ENTER&lt;br /&gt;
_nss_mysql_close_result, calling mysql_free_result()&lt;br /&gt;
_nss_mysql_close_result: EXIT&lt;br /&gt;
_nss_mysql_lookup: EXIT (NSS_TRYAGAIN)&lt;br /&gt;
_nss_mysql_load_group: EXIT (NSS_TRYAGAIN)&lt;br /&gt;
_nss_mysql_lookup: EXIT (NSS_TRYAGAIN)&lt;br /&gt;
_nss_mysql_getgrent_r: EXIT (NSS_TRYAGAIN)&lt;/p&gt;
&lt;p&gt;When i remove the grouplist record, other users are back in the group. logging shows:&lt;/p&gt;
&lt;p&gt;_nss_mysql_load_memsbygid: EXIT (NSS_SUCCESS)&lt;br /&gt;
_nss_mysql_close_result: ENTER&lt;br /&gt;
_nss_mysql_close_result, calling mysql_free_result()&lt;br /&gt;
_nss_mysql_close_result: EXIT&lt;br /&gt;
_nss_mysql_lookup: EXIT (NSS_SUCCESS)&lt;br /&gt;
_nss_mysql_load_group: EXIT (NSS_SUCCESS)&lt;br /&gt;
_nss_mysql_lookup: EXIT (NSS_SUCCESS)&lt;br /&gt;
_nss_mysql_getgrent_r: EXIT (NSS_SUCCESS)&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">SyncOps</dc:creator><pubDate>Wed, 28 Feb 2007 20:54:36 -0000</pubDate><guid>https://sourceforge.netd2ba11e397c036bc19687eee7ff6f425791c1eb5</guid></item><item><title>Return Type Error on _nss_mysql_run_query</title><link>https://sourceforge.net/p/libnss-mysql/bugs/11/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;EMAIL: matteo.faleschini(AT)fisica.unimi.it&lt;/p&gt;
&lt;p&gt;We found errors using this library with mysql cluster.&lt;br /&gt;
When mysqld are functioning but the storage (ndbd) is&lt;br /&gt;
down, we incurred in a SUCCESS of the db connection but&lt;br /&gt;
a FAILURE of the query&lt;/p&gt;
&lt;p&gt;Proto of _nss_mysql_run_query&lt;br /&gt;
is &lt;br /&gt;
NSS_STATUS&lt;br /&gt;
_nss_mysql_run_query (char *query, MYSQL_RES **mresult,&lt;br /&gt;
int *attempts)&lt;/p&gt;
&lt;p&gt;Instead the return value of this function in case of&lt;br /&gt;
query error is the return value of mysql_query&lt;br /&gt;
function. This is the mysql error code, not the&lt;br /&gt;
NSS_STATUS requested by the function.&lt;/p&gt;
&lt;p&gt;retval = mysql_query (&amp;amp;ci.link, query);&lt;br /&gt;
if (retval != RETURN_SUCCESS)&lt;br /&gt;
{&lt;br /&gt;
--(*attempts);&lt;br /&gt;
if (*attempts &amp;gt; 0)&lt;br /&gt;
{&lt;br /&gt;
_nss_mysql_log (LOG_ALERT,&lt;br /&gt;
"mysql_query failed : %s,&lt;br /&gt;
trying again (%d)",&lt;br /&gt;
mysql_error (&amp;amp;ci.link),&lt;br /&gt;
*attempts);&lt;br /&gt;
DSRETURN (_nss_mysql_run_query (query,&lt;br /&gt;
mresult, attempts));&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
_nss_mysql_log (LOG_ALERT, "mysql_query&lt;br /&gt;
failed (with retval): %s",&lt;br /&gt;
mysql_error (&amp;amp;ci.link));&lt;br /&gt;
//DSRETURN (retval);&lt;br /&gt;
DSRETURN (NSS_UNAVAIL);&lt;br /&gt;
}&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;We solved this problem, substituting last line&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Mon, 12 Jun 2006 16:06:08 -0000</pubDate><guid>https://sourceforge.net6a75ba0bf1424bb44e973cd263b9ca5161dfb86d</guid></item><item><title>"DESTDIR=/another/root make install" fails</title><link>https://sourceforge.net/p/libnss-mysql/bugs/10/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;As pacakged in libnss-mysql-1.5.tar.gz (md5sum:a34d41a38e426ba26ffde07d03beef8e) an error will occur when the "${DESTDIR]/etc"-directory does not exist when doing "make install". Many times this will not be troublesome, but on some systems package builders install packages to a sandbox before copying the files into the real system. Please fix for next release.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Christian Skarby</dc:creator><pubDate>Thu, 26 Jan 2006 19:09:45 -0000</pubDate><guid>https://sourceforge.net58a691afb44e4fc52d1ee21b4849e625e44ef973</guid></item><item><title>mysql client initialization DEF_TIMEOUT is bad</title><link>https://sourceforge.net/p/libnss-mysql/bugs/9/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Take a look at these:&lt;/p&gt;
&lt;p&gt;&lt;a href="https://sourceforge.net/forum/forum.php?thread_id=1324028&amp;amp;fo"&gt;https://sourceforge.net/forum/forum.php?thread_id=1324028&amp;amp;fo&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/82731" rel="nofollow"&gt;http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/82731&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">David Beck</dc:creator><pubDate>Mon, 25 Jul 2005 14:03:01 -0000</pubDate><guid>https://sourceforge.net6feeff67b7e348d667f5f66a91deb05b9b3fb1be</guid></item><item><title>A small problem is in Sample SQL.</title><link>https://sourceforge.net/p/libnss-mysql/bugs/8/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;A small problem is in Sample SQL.&lt;br /&gt;
In the present SQL, two or more users of a same name &lt;br /&gt;
can create.&lt;br /&gt;
A problem is below avoidable.&lt;/p&gt;
&lt;p&gt;CREATE TABLE users (&lt;br /&gt;
username varchar(16) NOT NULL default '',&lt;br /&gt;
uid int(11) NOT NULL auto_increment,&lt;br /&gt;
gid int(11) NOT NULL default '5000',&lt;br /&gt;
gecos varchar(128) NOT NULL default '',&lt;br /&gt;
homedir varchar(255) NOT NULL default '',&lt;br /&gt;
shell varchar(64) NOT NULL default '/bin/bash',&lt;br /&gt;
password varchar(34) NOT NULL default 'x',&lt;br /&gt;
lstchg bigint(20) NOT NULL default '1',&lt;br /&gt;
min bigint(20) NOT NULL default '0',&lt;br /&gt;
max bigint(20) NOT NULL default '99999',&lt;br /&gt;
warn bigint(20) NOT NULL default '0',&lt;br /&gt;
inact bigint(20) NOT NULL default '0',&lt;br /&gt;
expire bigint(20) NOT NULL default '-1',&lt;br /&gt;
flag bigint(20) unsigned NOT NULL default '0',&lt;br /&gt;
PRIMARY KEY  (uid),&lt;br /&gt;
-  KEY username (username),&lt;br /&gt;
+  UNIQUE KEY `username` (`username`),&lt;br /&gt;
KEY username (username),&lt;br /&gt;
KEY uid (uid)&lt;br /&gt;
) TYPE=MyISAM AUTO_INCREMENT=5000;&lt;/p&gt;
&lt;p&gt;Please check.&lt;br /&gt;
Regards.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Tadashi Jokagi</dc:creator><pubDate>Mon, 19 Jul 2004 12:44:26 -0000</pubDate><guid>https://sourceforge.netf8286b0af8f931c7aabd14c5e90a51cdeb15863e</guid></item><item><title>No syslog message upon wrong # of returned columns?</title><link>https://sourceforge.net/p/libnss-mysql/bugs/7/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;&lt;a href="http://sourceforge.net/forum/forum.php?"&gt;http://sourceforge.net/forum/forum.php?&lt;/a&gt;&lt;br /&gt;
thread_id=1083028&amp;amp;forum_id=187504&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ben Goodwin</dc:creator><pubDate>Thu, 10 Jun 2004 11:45:54 -0000</pubDate><guid>https://sourceforge.netcce26081982a32ffdfb2078d94a5e6684933b10a</guid></item><item><title>Aborted connection - Got an error reading communication ...</title><link>https://sourceforge.net/p/libnss-mysql/bugs/6/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;With 'warnings' enabled in my.cnf:&lt;/p&gt;
&lt;p&gt;xxxxxx xx:xx:xx  Aborted connection x to db: 'auth' &lt;br /&gt;
user: 'nss-user' host: `x.x.x.x' (Got an error reading &lt;br /&gt;
communication packets)&lt;/p&gt;
&lt;p&gt;this happens *every* time a process exits - eg every &lt;br /&gt;
time you type 'id cinergi'&lt;/p&gt;
&lt;p&gt;I believe this is harmless, but should be fixed.  It's &lt;br /&gt;
probably due to the fact that mysql_close() isn't called &lt;br /&gt;
upon process exit.  I may be able to add an atexit() &lt;br /&gt;
handler.. I hope it's a portable function/construct.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ben Goodwin</dc:creator><pubDate>Thu, 10 Jun 2004 11:43:09 -0000</pubDate><guid>https://sourceforge.net42e5967e90c9c8c012de13e0873bf5079bea4243</guid></item></channel></rss>