The loop occurs when any of the winbind nss functions calls the get_static() function in winbind_nss_linux.c due to a 64-bit problem. This patch fixes it and a couple of minor fprintf() debugs. --- winbind_nss_linux.c.orig 2004-01-16 07:11:01.000000000 -0600 +++ winbind_nss_linux.c 2004-01-31 22:12:35.000000000 -0600 @@ -38,7 +38,7 @@ are the pointers passed in by the C library to the _nss_ntdom_* functions. */ -static char *get_static(char **buffer, int *buflen, int len) +static char *get_static(char **buffer, size_t *buflen, int len) { char *result; @@ -1080,7 +1080,7 @@ struct winbindd_request request; #ifdef DEBUG_NSS - fprintf(stderr, "[%5d]: uidtosid %s\n", getpid(), name); + fprintf(stderr, "[%5d]: uidtosid %d\n", getpid(), uid); #endif ZERO_STRUCT(response); @@ -1119,7 +1119,7 @@ struct winbindd_request request; #ifdef DEBUG_NSS - fprintf(stderr, "[%5d]: gidtosid %s\n", getpid(), name); + fprintf(stderr, "[%5d]: gidtosid %d\n", getpid(), gid); #endif ZERO_STRUCT(response);
Created attachment 376 [details] Updates winbind_nss_linux.c to fix problem
Looks like someone has already applied the patch to the 3.0 tree. Marking as fixed. Thanks for the patch.
sorry for the same, cleaning up the database to prevent unecessary reopens of bugs.
database cleanup