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]