The attached updated patch contains an additional fix which changes backend.c
to use the new location 'postgresql/8.0' instead of 'postgresql' for
the libpq-fe.h include file.

Regards
Andreas Jochens

diff -urN ../tmp-orig/libnss-pgsql-1.3/src/backend.c ./src/backend.c
--- ../tmp-orig/libnss-pgsql-1.3/src/backend.c  2005-03-25 22:25:41.000000000 
+0000
+++ ./src/backend.c     2005-08-08 14:54:44.000000000 +0000
@@ -9,7 +9,7 @@
  */
 
 #include "nss-pgsql.h"
-#include <postgresql/libpq-fe.h>
+#include <postgresql/8.0/libpq-fe.h>
 #include <stdlib.h>
 #include <string.h>
 #include <stdio.h>
diff -urN ../tmp-orig/libnss-pgsql-1.3/src/interface.c ./src/interface.c
--- ../tmp-orig/libnss-pgsql-1.3/src/interface.c        2005-02-19 
15:12:32.000000000 +0000
+++ ./src/interface.c   2005-08-08 14:56:06.000000000 +0000
@@ -11,11 +11,9 @@
 #include "nss-pgsql.h"
 #include <stdio.h>
 #include <stdlib.h>
-#define _LIBC
-#define NOT_IN_libc
-#include <bits/libc-lock.h>
+#include <pthread.h>
 
-static __libc_lock_t  lock;
+static pthread_mutex_t lock;
 
 /*
  * passwd functions
@@ -25,14 +23,14 @@
 {
         enum nss_status retval = NSS_STATUS_UNAVAIL;
 
-        __libc_lock_lock(lock);
+        pthread_mutex_lock(&lock);
         if(!backend_isopen()) {
                 backend_open();
         }
         if(backend_isopen()) {
                 retval = backend_prepare_passwd();
         }
-        __libc_lock_unlock(lock);
+        pthread_mutex_unlock(&lock);
 
         return retval;
 }
@@ -40,9 +38,9 @@
 enum nss_status
 _nss_pgsql_endpwent(void)
 {
-        __libc_lock_lock(lock);
+        pthread_mutex_lock(&lock);
         backend_close();
-        __libc_lock_unlock(lock);
+        pthread_mutex_unlock(&lock);
 
         return NSS_STATUS_SUCCESS;
 }
@@ -55,7 +53,7 @@
 {
         enum nss_status retval = NSS_STATUS_UNAVAIL;
 
-        __libc_lock_lock(lock);
+        pthread_mutex_lock(&lock);
 
         // Make sure the database is opened in case no one has called 
setpwent()
         if(!backend_isopen())
@@ -64,7 +62,7 @@
         if(backend_isopen())
                 retval = backend_getpwent(result, buffer, buflen, errnop);
 
-        __libc_lock_unlock(lock);
+        pthread_mutex_unlock(&lock);
 
         return retval;
 }
@@ -78,12 +76,12 @@
 {
         enum nss_status retval = NSS_STATUS_UNAVAIL;
 
-        __libc_lock_lock(lock);
+        pthread_mutex_lock(&lock);
         if(backend_open()) {
                 retval = backend_getpwnam(pwnam, result, buffer, buflen, 
errnop);
                 backend_close();
         }
-        __libc_lock_unlock(lock);
+        pthread_mutex_unlock(&lock);
 
         return retval;
 }
@@ -97,12 +95,12 @@
 {
        enum nss_status retval = NSS_STATUS_UNAVAIL;
 
-        __libc_lock_lock(lock);
+        pthread_mutex_lock(&lock);
         if(backend_open()) {
                 retval = backend_getpwuid(uid, result, buffer, buflen, errnop);
                 backend_close();
         }
-        __libc_lock_unlock(lock);
+        pthread_mutex_unlock(&lock);
 
         return retval;
 }
@@ -115,7 +113,7 @@
 {
        enum nss_status retval = NSS_STATUS_UNAVAIL;
 
-        __libc_lock_lock(lock);
+        pthread_mutex_lock(&lock);
         if(!backend_isopen()) {
                 backend_open();
         }
@@ -123,7 +121,7 @@
                 retval = backend_prepare_group();
                 retval = NSS_STATUS_SUCCESS;
         }
-        __libc_lock_unlock(lock);
+        pthread_mutex_unlock(&lock);
 
         return NSS_STATUS_SUCCESS;
 }
@@ -131,9 +129,9 @@
 enum nss_status
 _nss_pgsql_endgrent(void)
 {
-        __libc_lock_lock(lock);
+        pthread_mutex_lock(&lock);
         backend_close();
-        __libc_lock_unlock(lock);
+        pthread_mutex_unlock(&lock);
 
         return NSS_STATUS_SUCCESS;
 }
@@ -146,7 +144,7 @@
 {
        enum nss_status retval = NSS_STATUS_UNAVAIL;
 
-        __libc_lock_lock(lock);
+        pthread_mutex_lock(&lock);
 
         // Make sure the database is opened in case no one has called 
setpwent()
         if(!backend_isopen())
@@ -155,7 +153,7 @@
         if(backend_isopen())
                 retval = backend_getgrent(result, buffer, buflen, errnop);
 
-        __libc_lock_unlock(lock);
+        pthread_mutex_unlock(&lock);
 
         return retval;
 }
@@ -169,12 +167,12 @@
 {
        enum nss_status retval = NSS_STATUS_UNAVAIL;
 
-        __libc_lock_lock(lock);
+        pthread_mutex_lock(&lock);
         if(backend_open()) {
                 retval = backend_getgrnam(grnam, result, buffer, buflen, 
errnop);
                 backend_close();
         }
-        __libc_lock_unlock(lock);
+        pthread_mutex_unlock(&lock);
 
         return retval;
 }
@@ -188,12 +186,12 @@
 {
        enum nss_status retval = NSS_STATUS_UNAVAIL;
 
-       __libc_lock_lock(lock);
+        pthread_mutex_lock(&lock);
        if(backend_open()) {
                retval = backend_getgrgid(gid, result, buffer, buflen, errnop);
                backend_close();
        }
-        __libc_lock_unlock(lock);
+        pthread_mutex_unlock(&lock);
 
         return retval;
 }
@@ -210,14 +208,14 @@
        enum nss_status retval = NSS_STATUS_UNAVAIL;
        size_t numgroups;
 
-        __libc_lock_lock(lock);
+        pthread_mutex_lock(&lock);
         if(backend_open()) {
                 numgroups = backend_initgroups_dyn(user, group, start, size, 
groupsp,
                                                                                
                                limit, errnop);
                 retval = (numgroups > 0) ? NSS_STATUS_SUCCESS : 
NSS_STATUS_NOTFOUND;
                 backend_close();
         }
-        __libc_lock_unlock(lock);
+        pthread_mutex_unlock(&lock);
 
         return retval;
 }


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to