1
0
mirror of https://github.com/samba-team/samba.git synced 2025-03-23 06:50:21 +03:00

nsswitch: Move source3 files to top level dir.

Don't move source4 files yet to not confuse git's rename tracking too much.
This commit is contained in:
Kai Blin 2008-12-16 09:30:16 +01:00
parent 46f530e42f
commit 6821d898d7
37 changed files with 898 additions and 907 deletions

2
.gitignore vendored
View File

@ -51,6 +51,8 @@ examples/VFS/skel_transparent.so
*.po
*.pyc
semantic.cache
nsswitch/libnss_winbind.so
nsswitch/libnss_wins.so
source3/bin/*
source3/config.cache
source3/config.log

View File

@ -299,7 +299,7 @@ static wbcErr process_domain_info_string(TALLOC_CTX *ctx,
wbc_status = wbcStringToSid(r, &info->sid);
BAIL_ON_WBC_ERROR(wbc_status);
/* Trust type */
r = s;
if ((s = strchr(r, '\\')) == NULL) {
@ -332,9 +332,9 @@ static wbcErr process_domain_info_string(TALLOC_CTX *ctx,
s++;
if (strcmp(r, "Yes") == 0) {
info->trust_flags |= WBC_DOMINFO_TRUST_TRANSITIVE;
info->trust_flags |= WBC_DOMINFO_TRUST_TRANSITIVE;
}
/* Incoming */
r = s;
if ((s = strchr(r, '\\')) == NULL) {
@ -345,7 +345,7 @@ static wbcErr process_domain_info_string(TALLOC_CTX *ctx,
s++;
if (strcmp(r, "Yes") == 0) {
info->trust_flags |= WBC_DOMINFO_TRUST_INCOMING;
info->trust_flags |= WBC_DOMINFO_TRUST_INCOMING;
}
/* Outgoing */
@ -358,7 +358,7 @@ static wbcErr process_domain_info_string(TALLOC_CTX *ctx,
s++;
if (strcmp(r, "Yes") == 0) {
info->trust_flags |= WBC_DOMINFO_TRUST_OUTGOING;
info->trust_flags |= WBC_DOMINFO_TRUST_OUTGOING;
}
/* Online/Offline status */
@ -385,14 +385,14 @@ wbcErr wbcListTrusts(struct wbcDomainInfo **domains, size_t *num_domains)
wbcErr wbc_status = WBC_ERR_UNKNOWN_FAILURE;
char *p = NULL;
char *q = NULL;
char *extra_data = NULL;
int count = 0;
char *extra_data = NULL;
int count = 0;
struct wbcDomainInfo *d_list = NULL;
int i = 0;
*domains = NULL;
*num_domains = 0;
ZERO_STRUCT(response);
/* Send request */
@ -409,20 +409,20 @@ wbcErr wbcListTrusts(struct wbcDomainInfo **domains, size_t *num_domains)
if (strlen(p) == 0) {
/* We should always at least get back our
own SAM domain */
wbc_status = WBC_ERR_DOMAIN_NOT_FOUND;
BAIL_ON_WBC_ERROR(wbc_status);
}
/* Count number of domains */
count = 0;
count = 0;
while (p) {
count++;
if ((q = strchr(p, '\n')) != NULL)
q++;
p = q;
p = q;
}
d_list = talloc_array(NULL, struct wbcDomainInfo, count);
@ -431,13 +431,13 @@ wbcErr wbcListTrusts(struct wbcDomainInfo **domains, size_t *num_domains)
extra_data = strdup((char*)response.extra_data.data);
BAIL_ON_PTR_ERROR(extra_data, wbc_status);
p = extra_data;
p = extra_data;
/* Outer loop processes the list of domain information */
for (i=0; i<count && p; i++) {
char *next = strchr(p, '\n');
if (next) {
*next = '\0';
next++;
@ -449,9 +449,9 @@ wbcErr wbcListTrusts(struct wbcDomainInfo **domains, size_t *num_domains)
p = next;
}
*domains = d_list;
*num_domains = i;
*domains = d_list;
*num_domains = i;
done:
if (!WBC_ERROR_IS_OK(wbc_status)) {
if (d_list)

View File

@ -155,5 +155,3 @@ done:
talloc_free(info);
return wbc_status;
}

View File

@ -952,7 +952,7 @@ wbcErr wbcDomainInfo(const char *domain,
*
* @return #wbcErr
**/
wbcErr wbcListTrusts(struct wbcDomainInfo **domains,
wbcErr wbcListTrusts(struct wbcDomainInfo **domains,
size_t *num_domains);
/* Flags for wbcLookupDomainController */

View File

@ -1,4 +1,4 @@
/* pam_winbind header file
/* pam_winbind header file
(Solaris needs some macros from Linux for common PAM code)
Shirish Kalele 2000
@ -32,7 +32,7 @@
/* Solaris always uses dynamic pam modules */
#define PAM_EXTERN extern
#if defined(HAVE_SECURITY_PAM_APPL_H)
#include <security/pam_appl.h>
#include <security/pam_appl.h>
#elif defined(HAVE_PAM_PAM_APPL_H)
#include <pam/pam_appl.h>
#endif
@ -83,7 +83,7 @@ do { \
#define _pam_drop(X) SAFE_FREE(X)
#define x_strdup(s) ( (s) ? strdup(s):NULL )
#define x_strdup(s) ( (s) ? strdup(s):NULL )
#endif /* HAVE_SECURITY__PAM_MACROS_H */
#ifdef HAVE_SECURITY_PAM_EXT_H
@ -167,4 +167,3 @@ struct pwb_context {
#define TALLOC_FREE(ctx) do { if ((ctx) != NULL) {talloc_free(ctx); ctx=NULL;} } while(0)
#define TALLOC_ZERO_P(ctx, type) (type *)_talloc_zero(ctx, sizeof(type), #type)
#define TALLOC_P(ctx, type) (type *)talloc_named_const(ctx, sizeof(type), #type)

View File

@ -1,4 +1,4 @@
/*
/*
Unix SMB/CIFS implementation.
winbind client common code
@ -6,18 +6,18 @@
Copyright (C) Tim Potter 2000
Copyright (C) Andrew Tridgell 2000
Copyright (C) Andrew Bartlett 2002
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 3 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
@ -74,11 +74,11 @@ void winbind_close_sock(void)
/* Make sure socket handle isn't stdin, stdout or stderr */
#define RECURSION_LIMIT 3
static int make_nonstd_fd_internals(int fd, int limit /* Recursion limiter */)
static int make_nonstd_fd_internals(int fd, int limit /* Recursion limiter */)
{
int new_fd;
if (fd >= 0 && fd <= 2) {
#ifdef F_DUPFD
#ifdef F_DUPFD
if ((new_fd = fcntl(fd, F_DUPFD, 3)) == -1) {
return -1;
}
@ -92,9 +92,9 @@ static int make_nonstd_fd_internals(int fd, int limit /* Recursion limiter */)
#else
if (limit <= 0)
return -1;
new_fd = dup(fd);
if (new_fd == -1)
if (new_fd == -1)
return -1;
/* use the program stack to hold our list of FDs to close */
@ -114,7 +114,7 @@ static int make_nonstd_fd_internals(int fd, int limit /* Recursion limiter */)
Set close on exec also.
****************************************************************************/
static int make_safe_fd(int fd)
static int make_safe_fd(int fd)
{
int result, flags;
int new_fd = make_nonstd_fd_internals(fd, RECURSION_LIMIT);
@ -366,65 +366,65 @@ static int winbind_open_pipe_sock(int recursing, int need_priv)
int winbind_write_sock(void *buffer, int count, int recursing, int need_priv)
{
int result, nwritten;
/* Open connection to winbind daemon */
restart:
if (winbind_open_pipe_sock(recursing, need_priv) == -1) {
errno = ENOENT;
return -1;
}
/* Write data to socket */
nwritten = 0;
while(nwritten < count) {
struct timeval tv;
fd_set r_fds;
/* Catch pipe close on other end by checking if a read()
call would not block by calling select(). */
FD_ZERO(&r_fds);
FD_SET(winbindd_fd, &r_fds);
ZERO_STRUCT(tv);
if (select(winbindd_fd + 1, &r_fds, NULL, NULL, &tv) == -1) {
winbind_close_sock();
return -1; /* Select error */
}
/* Write should be OK if fd not available for reading */
if (!FD_ISSET(winbindd_fd, &r_fds)) {
/* Do the write */
result = write(winbindd_fd,
(char *)buffer + nwritten,
(char *)buffer + nwritten,
count - nwritten);
if ((result == -1) || (result == 0)) {
/* Write failed */
winbind_close_sock();
return -1;
}
nwritten += result;
} else {
/* Pipe has closed on remote end */
winbind_close_sock();
goto restart;
}
}
return nwritten;
}
@ -443,7 +443,7 @@ int winbind_read_sock(void *buffer, int count)
while(nread < count) {
struct timeval tv;
fd_set r_fds;
/* Catch pipe close on other end by checking if a read()
call would not block by calling select(). */
@ -457,7 +457,7 @@ int winbind_read_sock(void *buffer, int count)
winbind_close_sock();
return -1; /* Select error */
}
if (selret == 0) {
/* Not ready for read yet... */
if (total_time >= 30) {
@ -470,27 +470,27 @@ int winbind_read_sock(void *buffer, int count)
}
if (FD_ISSET(winbindd_fd, &r_fds)) {
/* Do the Read */
int result = read(winbindd_fd, (char *)buffer + nread,
int result = read(winbindd_fd, (char *)buffer + nread,
count - nread);
if ((result == -1) || (result == 0)) {
/* Read failed. I think the only useful thing we
can do here is just return -1 and fail since the
transaction has failed half way through. */
winbind_close_sock();
return -1;
}
nread += result;
}
}
return nread;
}
@ -503,15 +503,15 @@ int winbindd_read_reply(struct winbindd_response *response)
if (!response) {
return -1;
}
/* Read fixed length response */
result1 = winbind_read_sock(response,
sizeof(struct winbindd_response));
if (result1 == -1) {
return -1;
}
/* We actually send the pointer value of the extra_data field from
the server. This has no meaning in the client's address space
so we clear it out. */
@ -519,17 +519,17 @@ int winbindd_read_reply(struct winbindd_response *response)
response->extra_data.data = NULL;
/* Read variable length response */
if (response->length > sizeof(struct winbindd_response)) {
int extra_data_len = response->length -
int extra_data_len = response->length -
sizeof(struct winbindd_response);
/* Mallocate memory for extra data */
if (!(response->extra_data.data = malloc(extra_data_len))) {
return -1;
}
result2 = winbind_read_sock(response->extra_data.data,
extra_data_len);
if (result2 == -1) {
@ -537,14 +537,14 @@ int winbindd_read_reply(struct winbindd_response *response)
return -1;
}
}
/* Return total amount of data read */
return result1 + result2;
}
/*
* send simple types of requests
/*
* send simple types of requests
*/
NSS_STATUS winbindd_send_request(int req_type, int need_priv,
@ -562,33 +562,33 @@ NSS_STATUS winbindd_send_request(int req_type, int need_priv,
ZERO_STRUCT(lrequest);
request = &lrequest;
}
/* Fill in request and send down pipe */
winbindd_init_request(request, req_type);
if (winbind_write_sock(request, sizeof(*request),
request->wb_flags & WBFLAG_RECURSE,
need_priv) == -1)
need_priv) == -1)
{
/* Set ENOENT for consistency. Required by some apps */
errno = ENOENT;
return NSS_STATUS_UNAVAIL;
}
if ((request->extra_len != 0) &&
(winbind_write_sock(request->extra_data.data,
request->extra_len,
request->extra_len,
request->wb_flags & WBFLAG_RECURSE,
need_priv) == -1))
need_priv) == -1))
{
/* Set ENOENT for consistency. Required by some apps */
errno = ENOENT;
return NSS_STATUS_UNAVAIL;
}
return NSS_STATUS_SUCCESS;
}
@ -624,13 +624,13 @@ NSS_STATUS winbindd_get_response(struct winbindd_response *response)
if (response->result != WINBINDD_OK) {
return NSS_STATUS_NOTFOUND;
}
return NSS_STATUS_SUCCESS;
}
/* Handle simple types of requests */
NSS_STATUS winbindd_request_response(int req_type,
NSS_STATUS winbindd_request_response(int req_type,
struct winbindd_request *request,
struct winbindd_response *response)
{
@ -639,7 +639,7 @@ NSS_STATUS winbindd_request_response(int req_type,
while ((status == NSS_STATUS_UNAVAIL) && (count < 10)) {
status = winbindd_send_request(req_type, 0, request);
if (status != NSS_STATUS_SUCCESS)
if (status != NSS_STATUS_SUCCESS)
return(status);
status = winbindd_get_response(response);
count += 1;
@ -648,7 +648,7 @@ NSS_STATUS winbindd_request_response(int req_type,
return status;
}
NSS_STATUS winbindd_priv_request_response(int req_type,
NSS_STATUS winbindd_priv_request_response(int req_type,
struct winbindd_request *request,
struct winbindd_response *response)
{
@ -657,7 +657,7 @@ NSS_STATUS winbindd_priv_request_response(int req_type,
while ((status == NSS_STATUS_UNAVAIL) && (count < 10)) {
status = winbindd_send_request(req_type, 1, request);
if (status != NSS_STATUS_SUCCESS)
if (status != NSS_STATUS_SUCCESS)
return(status);
status = winbindd_get_response(response);
count += 1;

View File

@ -1,21 +1,21 @@
/*
/*
Unix SMB/CIFS implementation.
Winbind status program.
Copyright (C) Tim Potter 2000-2003
Copyright (C) Andrew Bartlett 2002
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
@ -378,8 +378,8 @@ static bool wbinfo_list_domains(bool list_all_domains, bool verbose)
}
if (print_all) {
d_printf("%-16s%-24s%-12s%-12s%-5s%-5s\n",
"Domain Name", "DNS Domain", "Trust Type",
d_printf("%-16s%-24s%-12s%-12s%-5s%-5s\n",
"Domain Name", "DNS Domain", "Trust Type",
"Transitive", "In", "Out");
}
@ -398,10 +398,10 @@ static bool wbinfo_list_domains(bool list_all_domains, bool verbose)
case WBC_DOMINFO_TRUSTTYPE_NONE:
d_printf("None ");
break;
case WBC_DOMINFO_TRUSTTYPE_FOREST:
case WBC_DOMINFO_TRUSTTYPE_FOREST:
d_printf("Forest ");
break;
case WBC_DOMINFO_TRUSTTYPE_EXTERNAL:
case WBC_DOMINFO_TRUSTTYPE_EXTERNAL:
d_printf("External ");
break;
case WBC_DOMINFO_TRUSTTYPE_IN_FOREST:
@ -472,8 +472,8 @@ static bool wbinfo_show_onlinestatus(const char *domain)
}
is_offline = (domain_list[i].domain_flags & WBC_DOMINFO_DOMAIN_OFFLINE);
d_printf("%s : %s\n",
d_printf("%s : %s\n",
domain_list[i].short_name,
is_offline ? "offline" : "online" );
}
@ -1104,12 +1104,12 @@ static bool wbinfo_auth_krb5(char *username, const char *cctype, uint32 flags)
/* Display response */
d_printf("plaintext kerberos password authentication for [%s] %s (requesting cctype: %s)\n",
d_printf("plaintext kerberos password authentication for [%s] %s (requesting cctype: %s)\n",
username, (result == NSS_STATUS_SUCCESS) ? "succeeded" : "failed", cctype);
if (response.data.auth.nt_status)
d_fprintf(stderr, "error code was %s (0x%x)\nerror messsage was: %s\n",
response.data.auth.nt_status_string,
d_fprintf(stderr, "error code was %s (0x%x)\nerror messsage was: %s\n",
response.data.auth.nt_status_string,
response.data.auth.nt_status,
response.data.auth.error_string);
@ -1162,7 +1162,7 @@ static bool wbinfo_auth(char *username)
#if 0
if (response.data.auth.nt_status)
d_fprintf(stderr, "error code was %s (0x%x)\nerror messsage was: %s\n",
d_fprintf(stderr, "error code was %s (0x%x)\nerror messsage was: %s\n",
response.data.auth.nt_status_string,
response.data.auth.nt_status,
response.data.auth.error_string);
@ -1260,7 +1260,7 @@ static bool wbinfo_auth_crap(char *username)
WBC_ERROR_IS_OK(wbc_status) ? "succeeded" : "failed");
if (wbc_status == WBC_ERR_AUTH_ERROR) {
d_fprintf(stderr, "error code was %s (0x%x)\nerror messsage was: %s\n",
d_fprintf(stderr, "error code was %s (0x%x)\nerror messsage was: %s\n",
err->nt_string,
err->nt_status,
err->display_string);
@ -1312,7 +1312,7 @@ static bool wbinfo_klog(char *username)
(result == NSS_STATUS_SUCCESS) ? "succeeded" : "failed");
if (response.data.auth.nt_status)
d_fprintf(stderr, "error code was %s (0x%x)\nerror messsage was: %s\n",
d_fprintf(stderr, "error code was %s (0x%x)\nerror messsage was: %s\n",
response.data.auth.nt_status_string,
response.data.auth.nt_status,
response.data.auth.error_string);
@ -1853,14 +1853,14 @@ int main(int argc, char **argv, char **envp)
break;
case 'r':
if (!wbinfo_get_usergroups(string_arg)) {
d_fprintf(stderr, "Could not get groups for user %s\n",
d_fprintf(stderr, "Could not get groups for user %s\n",
string_arg);
goto done;
}
break;
case OPT_USERSIDS:
if (!wbinfo_get_usersids(string_arg)) {
d_fprintf(stderr, "Could not get group SIDs for user SID %s\n",
d_fprintf(stderr, "Could not get group SIDs for user SID %s\n",
string_arg);
goto done;
}

View File

@ -6,10 +6,10 @@ void winbindd_free_response(struct winbindd_response *response);
NSS_STATUS winbindd_send_request(int req_type, int need_priv,
struct winbindd_request *request);
NSS_STATUS winbindd_get_response(struct winbindd_response *response);
NSS_STATUS winbindd_request_response(int req_type,
NSS_STATUS winbindd_request_response(int req_type,
struct winbindd_request *request,
struct winbindd_response *response);
NSS_STATUS winbindd_priv_request_response(int req_type,
NSS_STATUS winbindd_priv_request_response(int req_type,
struct winbindd_request *request,
struct winbindd_response *response);
int winbindd_read_reply(struct winbindd_response *response);

View File

@ -1,21 +1,21 @@
/*
/*
Unix SMB/CIFS implementation.
A common place to work out how to define NSS_STATUS on various
platforms.
Copyright (C) Tim Potter 2000
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 3 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
@ -25,8 +25,8 @@
#ifdef HAVE_NSS_COMMON_H
/*
* Sun Solaris
/*
* Sun Solaris
*/
#include "nsswitch/winbind_nss_solaris.h"
@ -42,7 +42,7 @@
#elif HAVE_NS_API_H
/*
* SGI IRIX
* SGI IRIX
*/
#include "nsswitch/winbind_nss_irix.h"

View File

@ -1,4 +1,4 @@
/*
/*
Unix SMB/CIFS implementation.
AIX loadable authentication module, providing identification and
@ -7,17 +7,17 @@
Copyright (C) Tim Potter 2003
Copyright (C) Steve Roylance 2003
Copyright (C) Andrew Tridgell 2003-2004
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 3 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
@ -31,7 +31,7 @@
changing routines, so you do not need to install the winbind PAM
module.
see
see
http://publib16.boulder.ibm.com/doc_link/en_US/a_doc_lib/aixprggd/kernextc/sec_load_mod.htm
for some information in the interface that this module implements
@ -113,12 +113,12 @@ static void free_grp(struct group *grp)
free(grp->gr_name);
free(grp->gr_passwd);
if (!grp->gr_mem) {
free(grp);
return;
}
for (i=0; grp->gr_mem[i]; i++) {
free(grp->gr_mem[i]);
}
@ -200,7 +200,7 @@ static struct passwd *fill_pwent(struct winbindd_pw *pw)
result->pw_gecos = strdup(pw->pw_gecos);
result->pw_dir = strdup(pw->pw_dir);
result->pw_shell = strdup(pw->pw_shell);
return result;
}
@ -229,12 +229,12 @@ static struct group *fill_grent(struct winbindd_gr *gr, char *gr_mem)
if ((gr->num_gr_mem < 0) || !gr_mem) {
gr->num_gr_mem = 0;
}
if (gr->num_gr_mem == 0) {
/* Group is empty */
/* Group is empty */
return result;
}
result->gr_mem = (char **)malloc(sizeof(char *) * (gr->num_gr_mem+1));
if (!result->gr_mem) {
errno = ENOMEM;
@ -243,8 +243,8 @@ static struct group *fill_grent(struct winbindd_gr *gr, char *gr_mem)
/* Start looking at extra data */
i=0;
for (name = strtok_r(gr_mem, ",", &p);
name;
for (name = strtok_r(gr_mem, ",", &p);
name;
name = strtok_r(NULL, ",", &p)) {
if (i == gr->num_gr_mem) {
break;
@ -261,7 +261,7 @@ static struct group *fill_grent(struct winbindd_gr *gr, char *gr_mem)
/* take a group id and return a filled struct group */
/* take a group id and return a filled struct group */
static struct group *wb_aix_getgrgid(gid_t gid)
{
struct winbindd_response response;
@ -273,7 +273,7 @@ static struct group *wb_aix_getgrgid(gid_t gid)
ZERO_STRUCT(response);
ZERO_STRUCT(request);
request.data.gid = gid;
ret = winbindd_request_response(WINBINDD_GETGRGID, &request, &response);
@ -309,7 +309,7 @@ static struct group *wb_aix_getgrnam(const char *name)
STRCPY_RETNULL(request.data.groupname, name);
ret = winbindd_request_response(WINBINDD_GETGRNAM, &request, &response);
HANDLE_ERRORS(ret);
grp = fill_grent(&response.data.gr, response.extra_data.data);
@ -373,7 +373,7 @@ static char *wb_aix_getgrset(char *user)
num_gids = response.data.num_entries;
gid_list = (gid_t *)response.extra_data.data;
/* allocate a space large enough to contruct the string */
tmpbuf = malloc(num_gids*12);
if (!tmpbuf) {
@ -381,9 +381,9 @@ static char *wb_aix_getgrset(char *user)
}
for (idx=i=0; i < num_gids-1; i++) {
idx += sprintf(tmpbuf+idx, "%u,", gid_list[i]);
idx += sprintf(tmpbuf+idx, "%u,", gid_list[i]);
}
idx += sprintf(tmpbuf+idx, "%u", gid_list[i]);
idx += sprintf(tmpbuf+idx, "%u", gid_list[i]);
winbindd_free_response(&response);
@ -391,7 +391,7 @@ static char *wb_aix_getgrset(char *user)
}
/* take a uid and return a filled struct passwd */
/* take a uid and return a filled struct passwd */
static struct passwd *wb_aix_getpwuid(uid_t uid)
{
struct winbindd_response response;
@ -403,9 +403,9 @@ static struct passwd *wb_aix_getpwuid(uid_t uid)
ZERO_STRUCT(response);
ZERO_STRUCT(request);
request.data.uid = uid;
ret = winbindd_request_response(WINBINDD_GETPWUID, &request, &response);
HANDLE_ERRORS(ret);
@ -442,7 +442,7 @@ static struct passwd *wb_aix_getpwnam(const char *name)
ret = winbindd_request_response(WINBINDD_GETPWNAM, &request, &response);
HANDLE_ERRORS(ret);
pwd = fill_pwent(&response.data.pw);
winbindd_free_response(&response);
@ -471,7 +471,7 @@ static int wb_aix_lsuser(char *attributes[], attrval_t results[], int size)
ZERO_STRUCT(request);
ZERO_STRUCT(response);
ret = winbindd_request_response(WINBINDD_LIST_USERS, &request, &response);
if (ret != 0) {
errno = EINVAL;
@ -486,7 +486,7 @@ static int wb_aix_lsuser(char *attributes[], attrval_t results[], int size)
errno = ENOMEM;
return -1;
}
memcpy(s, response.extra_data.data, len+1);
replace_commas(s);
@ -495,7 +495,7 @@ static int wb_aix_lsuser(char *attributes[], attrval_t results[], int size)
results[0].attr_flag = 0;
winbindd_free_response(&response);
return 0;
}
@ -519,7 +519,7 @@ static int wb_aix_lsgroup(char *attributes[], attrval_t results[], int size)
ZERO_STRUCT(request);
ZERO_STRUCT(response);
ret = winbindd_request_response(WINBINDD_LIST_GROUPS, &request, &response);
if (ret != 0) {
errno = EINVAL;
@ -534,7 +534,7 @@ static int wb_aix_lsgroup(char *attributes[], attrval_t results[], int size)
errno = ENOMEM;
return -1;
}
memcpy(s, response.extra_data.data, len+1);
replace_commas(s);
@ -543,7 +543,7 @@ static int wb_aix_lsgroup(char *attributes[], attrval_t results[], int size)
results[0].attr_flag = 0;
winbindd_free_response(&response);
return 0;
}
@ -552,9 +552,9 @@ static attrval_t pwd_to_group(struct passwd *pwd)
{
attrval_t r;
struct group *grp = wb_aix_getgrgid(pwd->pw_gid);
if (!grp) {
r.attr_flag = EINVAL;
r.attr_flag = EINVAL;
} else {
r.attr_flag = 0;
r.attr_un.au_char = strdup(grp->gr_name);
@ -692,18 +692,18 @@ static int wb_aix_group_attrib(const char *key, char *attributes[],
/*
called for user/group enumerations
*/
static int wb_aix_getentry(char *key, char *table, char *attributes[],
static int wb_aix_getentry(char *key, char *table, char *attributes[],
attrval_t results[], int size)
{
logit("Got getentry with key='%s' table='%s' size=%d attributes[0]='%s'\n",
logit("Got getentry with key='%s' table='%s' size=%d attributes[0]='%s'\n",
key, table, size, attributes[0]);
if (strcmp(key, "ALL") == 0 &&
if (strcmp(key, "ALL") == 0 &&
strcmp(table, "user") == 0) {
return wb_aix_lsuser(attributes, results, size);
}
if (strcmp(key, "ALL") == 0 &&
if (strcmp(key, "ALL") == 0 &&
strcmp(table, "group") == 0) {
return wb_aix_lsgroup(attributes, results, size);
}
@ -732,7 +732,7 @@ static void *wb_aix_open(const char *name, const char *domain, int mode, char *o
if (strstr(options, "debug")) {
debug_enabled = 1;
}
logit("open name='%s' mode=%d domain='%s' options='%s'\n", name, domain,
logit("open name='%s' mode=%d domain='%s' options='%s'\n", name, domain,
mode, options);
return NULL;
}
@ -744,14 +744,14 @@ static void wb_aix_close(void *token)
}
#ifdef HAVE_STRUCT_SECMETHOD_TABLE_METHOD_ATTRLIST
/*
return a list of additional attributes supported by the backend
/*
return a list of additional attributes supported by the backend
*/
static attrlist_t **wb_aix_attrlist(void)
{
/* pretty confusing but we are allocating the array of pointers
and the structures we'll be pointing to all at once. So
you need N+1 pointers and N structures. */
you need N+1 pointers and N structures. */
attrlist_t **ret = NULL;
attrlist_t *offset = NULL;
@ -821,7 +821,7 @@ static attrlist_t **wb_aix_attrlist(void)
/*
turn a long username into a short one. Needed to cope with the 8 char
turn a long username into a short one. Needed to cope with the 8 char
username limit in AIX 5.2 and below
*/
static int wb_aix_normalize(char *longname, char *shortname)
@ -854,7 +854,7 @@ static int wb_aix_normalize(char *longname, char *shortname)
/*
authenticate a user
*/
static int wb_aix_authenticate(char *user, char *pass,
static int wb_aix_authenticate(char *user, char *pass,
int *reenter, char **message)
{
struct winbindd_request request;
@ -950,7 +950,7 @@ static int wb_aix_chpass(char *user, char *oldpass, char *newpass, char **messag
/*
don't do any password strength testing for now
*/
static int wb_aix_passwdrestrictions(char *user, char *newpass, char *oldpass,
static int wb_aix_passwdrestrictions(char *user, char *newpass, char *oldpass,
char **message)
{
logit("passwdresrictions called for '%s'\n", user);
@ -977,13 +977,13 @@ static char *wb_aix_getpasswd(char *user)
}
/*
this is called to update things like the last login time. We don't
this is called to update things like the last login time. We don't
currently pass this onto the DC
*/
static int wb_aix_putentry(char *key, char *table, char *attributes[],
static int wb_aix_putentry(char *key, char *table, char *attributes[],
attrval_t values[], int size)
{
logit("putentry key='%s' table='%s' attrib='%s'\n",
logit("putentry key='%s' table='%s' attrib='%s'\n",
key, table, size>=1?attributes[0]:"<null>");
errno = ENOSYS;
return -1;
@ -1047,7 +1047,7 @@ int wb_aix_init(struct secmethod_table *methods)
methods->method_passwdexpired = wb_aix_passwdexpired;
methods->method_putentry = wb_aix_putentry;
methods->method_getpasswd = wb_aix_getpasswd;
methods->method_authenticate = wb_aix_authenticate;
methods->method_authenticate = wb_aix_authenticate;
methods->method_commit = wb_aix_commit;
methods->method_chpass = wb_aix_chpass;
methods->method_passwdrestrictions = wb_aix_passwdrestrictions;
@ -1074,4 +1074,3 @@ int wb_aix_init(struct secmethod_table *methods)
return AUTH_SUCCESS;
}

View File

@ -1,20 +1,20 @@
/*
/*
Unix SMB/CIFS implementation.
Winbind daemon for ntdom nss module
Copyright (C) Tim Potter 2000
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 3 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
@ -54,6 +54,7 @@
#ifndef FSTRING_LEN
#define FSTRING_LEN 256
typedef char fstring[FSTRING_LEN];
#define fstrcpy(d,s) safe_strcpy((d),(s),sizeof(fstring)-1)
#endif
/* Some systems (SCO) treat UNIX domain sockets as FIFOs */

View File

@ -1,21 +1,21 @@
/*
/*
Unix SMB/CIFS implementation.
AIX loadable authentication module, providing identification
AIX loadable authentication module, providing identification
routines against Samba winbind/Windows NT Domain
Copyright (C) Aaron Collins 2003
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 3 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

View File

@ -1,19 +1,19 @@
/*
Unix SMB/CIFS implementation.
Donated by HP to enable Winbindd to build on HPUX 11.x.
Copyright (C) Jeremy Allison 2002.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 3 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, see <http://www.gnu.org/licenses/>.
*/
@ -34,20 +34,20 @@
#ifdef HAVE_PTHREAD_H
#include <pthread.h>
#endif
typedef enum {
NSS_SUCCESS,
NSS_NOTFOUND,
NSS_UNAVAIL,
NSS_TRYAGAIN
} nss_status_t;
typedef nss_status_t NSS_STATUS;
struct nss_backend;
typedef nss_status_t (*nss_backend_op_t)(struct nss_backend *, void *args);
struct nss_backend {
nss_backend_op_t *ops;
int n_ops;
@ -58,41 +58,41 @@ typedef int nss_dbop_t;
#include <errno.h>
#include <netdb.h>
#include <limits.h>
#ifndef NSS_INCLUDE_UNSAFE
#define NSS_INCLUDE_UNSAFE 1 /* Build old, MT-unsafe interfaces, */
#endif /* NSS_INCLUDE_UNSAFE */
enum nss_netgr_argn {
NSS_NETGR_MACHINE,
NSS_NETGR_USER,
NSS_NETGR_DOMAIN,
NSS_NETGR_N
};
enum nss_netgr_status {
NSS_NETGR_FOUND,
NSS_NETGR_NO,
NSS_NETGR_NOMEM
};
typedef unsigned nss_innetgr_argc;
typedef char **nss_innetgr_argv;
struct nss_innetgr_1arg {
nss_innetgr_argc argc;
nss_innetgr_argv argv;
};
typedef struct {
void *result; /* "result" parameter to getXbyY_r() */
char *buffer; /* "buffer" " " */
int buflen; /* "buflen" " " */
} nss_XbyY_buf_t;
extern nss_XbyY_buf_t *_nss_XbyY_buf_alloc(int struct_size, int buffer_size);
extern void _nss_XbyY_buf_free(nss_XbyY_buf_t *);
union nss_XbyY_key {
uid_t uid;
gid_t gid;
@ -116,7 +116,7 @@ union nss_XbyY_key {
} serv;
void *ether;
};
typedef struct nss_XbyY_args {
nss_XbyY_buf_t buf;
int stayopen;
@ -127,11 +127,11 @@ typedef struct nss_XbyY_args {
*/
int (*str2ent)(const char *instr, int instr_len, void *ent, char *buffer, int buflen);
union nss_XbyY_key key;
void *returnval;
int erange;
int h_errno;
nss_status_t status;
} nss_XbyY_args_t;
#endif /* _WINBIND_NSS_HPUX_H */

View File

@ -1,21 +1,21 @@
/*
/*
Unix SMB/CIFS implementation.
Windows NT Domain nsswitch module
Copyright (C) Tim Potter 2000
Copyright (C) James Peach 2006
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 3 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
@ -38,7 +38,7 @@ int asprintf(char **,const char *, ...) PRINTF_ATTRIBUTE(2,3);
#endif
/* Maximum number of users to pass back over the unix domain socket
per call. This is not a static limit on the total number of users
per call. This is not a static limit on the total number of users
or groups returned in total. */
#define MAX_GETPWENT_USERS 250
@ -170,7 +170,7 @@ do_request(nsd_file_t *rq, struct winbindd_request *request)
}
}
static int
static int
winbind_callback(nsd_file_t **rqp, int fd)
{
struct winbindd_response response;
@ -195,7 +195,7 @@ winbind_callback(nsd_file_t **rqp, int fd)
if (status != NSS_STATUS_SUCCESS) {
/* free any extra data area in response structure */
winbindd_free_response(&response);
nsd_logprintf(NSD_LOG_MIN,
nsd_logprintf(NSD_LOG_MIN,
"callback (winbind) returning not found, status = %d\n",
status);
@ -225,9 +225,9 @@ winbind_callback(nsd_file_t **rqp, int fd)
if (rlen == 0 || result == NULL) {
return NSD_ERROR;
}
winbindd_free_response(&response);
nsd_logprintf(NSD_LOG_MIN, " %s\n", result);
nsd_set_result(rq, NS_SUCCESS, result, rlen, DYNAMIC);
return NSD_OK;
@ -236,7 +236,7 @@ winbind_callback(nsd_file_t **rqp, int fd)
case WINBINDD_GETPWNAM:
{
struct winbindd_pw *pw = &response.data.pw;
nsd_logprintf(NSD_LOG_MIN,
"callback (winbind) GETPWUID | GETPWUID\n");
@ -250,9 +250,9 @@ winbind_callback(nsd_file_t **rqp, int fd)
pw->pw_shell);
if (rlen == 0 || result == NULL)
return NSD_ERROR;
winbindd_free_response(&response);
nsd_logprintf(NSD_LOG_MIN, " %s\n", result);
nsd_set_result(rq, NS_SUCCESS, result, rlen, DYNAMIC);
return NSD_OK;
@ -263,7 +263,7 @@ winbind_callback(nsd_file_t **rqp, int fd)
{
const struct winbindd_gr *gr = &response.data.gr;
const char * members;
nsd_logprintf(NSD_LOG_MIN,
"callback (winbind) GETGRNAM | GETGRGID\n");
@ -272,14 +272,14 @@ winbind_callback(nsd_file_t **rqp, int fd)
} else {
members = "";
}
rlen = asprintf(&result, "%s:%s:%d:%s\n",
gr->gr_name, gr->gr_passwd, gr->gr_gid, members);
if (rlen == 0 || result == NULL)
return NSD_ERROR;
winbindd_free_response(&response);
nsd_logprintf(NSD_LOG_MIN, " %s\n", result);
nsd_set_result(rq, NS_SUCCESS, result, rlen, DYNAMIC);
return NSD_OK;
@ -296,46 +296,46 @@ winbind_callback(nsd_file_t **rqp, int fd)
case WINBINDD_GETGRLST:
{
int entries;
nsd_logprintf(NSD_LOG_MIN,
"callback (winbind) GETGRENT | GETGRLIST %d responses\n",
response.data.num_entries);
if (response.data.num_entries) {
const struct winbindd_gr *gr = &response.data.gr;
const char * members;
fstring grp_name;
int i;
gr = (struct winbindd_gr *)response.extra_data.data;
if (! gr ) {
nsd_logprintf(NSD_LOG_MIN, " no extra_data\n");
winbindd_free_response(&response);
return NSD_ERROR;
}
members = (char *)response.extra_data.data +
(response.data.num_entries * sizeof(struct winbindd_gr));
for (i = 0; i < response.data.num_entries; i++) {
snprintf(grp_name, sizeof(grp_name) - 1, "%s:%s:%d:",
gr->gr_name, gr->gr_passwd, gr->gr_gid);
nsd_append_element(rq, NS_SUCCESS, result, rlen);
nsd_append_result(rq, NS_SUCCESS,
&members[gr->gr_mem_ofs],
strlen(&members[gr->gr_mem_ofs]));
/* Don't log the whole list, because it might be
* _really_ long and we probably don't want to clobber
* the log with it.
*/
nsd_logprintf(NSD_LOG_MIN, " %s (...)\n", grp_name);
gr++;
}
}
entries = response.data.num_entries;
winbindd_free_response(&response);
if (entries < MAX_GETPWENT_USERS)
@ -405,7 +405,7 @@ winbind_callback(nsd_file_t **rqp, int fd)
}
}
static int
static int
winbind_timeout(nsd_file_t **rqp, nsd_times_t *to)
{
nsd_file_t *rq;
@ -455,7 +455,7 @@ send_next_request(nsd_file_t *rq, struct winbindd_request *request)
SAFE_FREE(request);
if (status != NSS_STATUS_SUCCESS) {
nsd_logprintf(NSD_LOG_MIN,
nsd_logprintf(NSD_LOG_MIN,
"send_next_request (winbind) error status = %d\n",
status);
rq->f_status = status;
@ -512,15 +512,15 @@ int lookup(nsd_file_t *rq)
request->data.uid = atoi(key);
rq->f_cmd_data = (void *)WINBINDD_GETPWUID;
} else if (strcasecmp(map,"passwd.byname") == 0) {
strncpy(request->data.username, key,
strncpy(request->data.username, key,
sizeof(request->data.username) - 1);
request->data.username[sizeof(request->data.username) - 1] = '\0';
rq->f_cmd_data = (void *)WINBINDD_GETPWNAM;
rq->f_cmd_data = (void *)WINBINDD_GETPWNAM;
} else if (strcasecmp(map,"group.byname") == 0) {
strncpy(request->data.groupname, key,
strncpy(request->data.groupname, key,
sizeof(request->data.groupname) - 1);
request->data.groupname[sizeof(request->data.groupname) - 1] = '\0';
rq->f_cmd_data = (void *)WINBINDD_GETGRNAM;
rq->f_cmd_data = (void *)WINBINDD_GETGRNAM;
} else if (strcasecmp(map,"group.bygid") == 0) {
request->data.gid = atoi(key);
rq->f_cmd_data = (void *)WINBINDD_GETGRGID;

View File

@ -1,20 +1,20 @@
/*
/*
Unix SMB/CIFS implementation.
Winbind daemon for ntdom nss module
Copyright (C) Tim Potter 2000
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 3 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

View File

@ -1,20 +1,20 @@
/*
/*
Unix SMB/CIFS implementation.
Windows NT Domain nsswitch module
Copyright (C) Tim Potter 2000
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 3 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
@ -30,7 +30,7 @@ static pthread_mutex_t winbind_nss_mutex = PTHREAD_MUTEX_INITIALIZER;
#endif
/* Maximum number of users to pass back over the unix domain socket
per call. This is not a static limit on the total number of users
per call. This is not a static limit on the total number of users
or groups returned in total. */
#define MAX_GETPWENT_USERS 250
@ -38,37 +38,37 @@ static pthread_mutex_t winbind_nss_mutex = PTHREAD_MUTEX_INITIALIZER;
NSS_STATUS _nss_winbind_setpwent(void);
NSS_STATUS _nss_winbind_endpwent(void);
NSS_STATUS _nss_winbind_getpwent_r(struct passwd *result, char *buffer,
NSS_STATUS _nss_winbind_getpwent_r(struct passwd *result, char *buffer,
size_t buflen, int *errnop);
NSS_STATUS _nss_winbind_getpwuid_r(uid_t uid, struct passwd *result,
NSS_STATUS _nss_winbind_getpwuid_r(uid_t uid, struct passwd *result,
char *buffer, size_t buflen, int *errnop);
NSS_STATUS _nss_winbind_getpwnam_r(const char *name, struct passwd *result,
NSS_STATUS _nss_winbind_getpwnam_r(const char *name, struct passwd *result,
char *buffer, size_t buflen, int *errnop);
NSS_STATUS _nss_winbind_setgrent(void);
NSS_STATUS _nss_winbind_endgrent(void);
NSS_STATUS _nss_winbind_getgrent_r(struct group *result, char *buffer,
NSS_STATUS _nss_winbind_getgrent_r(struct group *result, char *buffer,
size_t buflen, int *errnop);
NSS_STATUS _nss_winbind_getgrlst_r(struct group *result, char *buffer,
NSS_STATUS _nss_winbind_getgrlst_r(struct group *result, char *buffer,
size_t buflen, int *errnop);
NSS_STATUS _nss_winbind_getgrnam_r(const char *name, struct group *result,
NSS_STATUS _nss_winbind_getgrnam_r(const char *name, struct group *result,
char *buffer, size_t buflen, int *errnop);
NSS_STATUS _nss_winbind_getgrgid_r(gid_t gid, struct group *result, char *buffer,
NSS_STATUS _nss_winbind_getgrgid_r(gid_t gid, struct group *result, char *buffer,
size_t buflen, int *errnop);
NSS_STATUS _nss_winbind_initgroups_dyn(char *user, gid_t group, long int *start,
long int *size, gid_t **groups,
NSS_STATUS _nss_winbind_initgroups_dyn(char *user, gid_t group, long int *start,
long int *size, gid_t **groups,
long int limit, int *errnop);
NSS_STATUS _nss_winbind_getusersids(const char *user_sid, char **group_sids,
int *num_groups, char *buffer, size_t buf_size,
NSS_STATUS _nss_winbind_getusersids(const char *user_sid, char **group_sids,
int *num_groups, char *buffer, size_t buf_size,
int *errnop);
NSS_STATUS _nss_winbind_nametosid(const char *name, char **sid, char *buffer,
size_t buflen, int *errnop);
NSS_STATUS _nss_winbind_sidtoname(const char *sid, char **name, char *buffer,
NSS_STATUS _nss_winbind_sidtoname(const char *sid, char **name, char *buffer,
size_t buflen, int *errnop);
NSS_STATUS _nss_winbind_sidtouid(const char *sid, uid_t *uid, int *errnop);
NSS_STATUS _nss_winbind_sidtogid(const char *sid, gid_t *gid, int *errnop);
NSS_STATUS _nss_winbind_uidtosid(uid_t uid, char **sid, char *buffer,
NSS_STATUS _nss_winbind_uidtosid(uid_t uid, char **sid, char *buffer,
size_t buflen, int *errnop);
NSS_STATUS _nss_winbind_gidtosid(gid_t gid, char **sid, char *buffer,
NSS_STATUS _nss_winbind_gidtosid(gid_t gid, char **sid, char *buffer,
size_t buflen, int *errnop);
/* Prototypes from wb_common.c */
@ -180,7 +180,7 @@ static NSS_STATUS fill_pwent(struct passwd *result,
{
/* User name */
if ((result->pw_name =
if ((result->pw_name =
get_static(buffer, buflen, strlen(pw->pw_name) + 1)) == NULL) {
/* Out of memory */
@ -192,7 +192,7 @@ static NSS_STATUS fill_pwent(struct passwd *result,
/* Password */
if ((result->pw_passwd =
if ((result->pw_passwd =
get_static(buffer, buflen, strlen(pw->pw_passwd) + 1)) == NULL) {
/* Out of memory */
@ -201,7 +201,7 @@ static NSS_STATUS fill_pwent(struct passwd *result,
}
strcpy(result->pw_passwd, pw->pw_passwd);
/* [ug]id */
result->pw_uid = pw->pw_uid;
@ -209,7 +209,7 @@ static NSS_STATUS fill_pwent(struct passwd *result,
/* GECOS */
if ((result->pw_gecos =
if ((result->pw_gecos =
get_static(buffer, buflen, strlen(pw->pw_gecos) + 1)) == NULL) {
/* Out of memory */
@ -218,10 +218,10 @@ static NSS_STATUS fill_pwent(struct passwd *result,
}
strcpy(result->pw_gecos, pw->pw_gecos);
/* Home directory */
if ((result->pw_dir =
if ((result->pw_dir =
get_static(buffer, buflen, strlen(pw->pw_dir) + 1)) == NULL) {
/* Out of memory */
@ -232,10 +232,10 @@ static NSS_STATUS fill_pwent(struct passwd *result,
strcpy(result->pw_dir, pw->pw_dir);
/* Logon shell */
if ((result->pw_shell =
if ((result->pw_shell =
get_static(buffer, buflen, strlen(pw->pw_shell) + 1)) == NULL) {
/* Out of memory */
return NSS_STATUS_TRYAGAIN;
@ -423,7 +423,7 @@ _nss_winbind_endpwent(void)
/* Fetch the next password entry from ntdom password database */
NSS_STATUS
_nss_winbind_getpwent_r(struct passwd *result, char *buffer,
_nss_winbind_getpwent_r(struct passwd *result, char *buffer,
size_t buflen, int *errnop)
{
NSS_STATUS ret;
@ -446,7 +446,7 @@ _nss_winbind_getpwent_r(struct passwd *result, char *buffer,
}
/* Else call winbindd to get a bunch of entries */
if (num_pw_cache > 0) {
winbindd_free_response(&getpwent_response);
}
@ -456,7 +456,7 @@ _nss_winbind_getpwent_r(struct passwd *result, char *buffer,
request.data.num_entries = MAX_GETPWENT_USERS;
ret = winbindd_request_response(WINBINDD_GETPWENT, &request,
ret = winbindd_request_response(WINBINDD_GETPWENT, &request,
&getpwent_response);
if (ret == NSS_STATUS_SUCCESS) {
@ -483,7 +483,7 @@ _nss_winbind_getpwent_r(struct passwd *result, char *buffer,
ret = fill_pwent(result, &pw_cache[ndx_pw_cache],
&buffer, &buflen);
/* Out of memory - try again */
if (ret == NSS_STATUS_TRYAGAIN) {
@ -547,7 +547,7 @@ _nss_winbind_getpwuid_r(uid_t uid, struct passwd *result, char *buffer,
ret = winbindd_request_response(WINBINDD_GETPWUID, &request, &response);
if (ret == NSS_STATUS_SUCCESS) {
ret = fill_pwent(result, &response.data.pw,
ret = fill_pwent(result, &response.data.pw,
&buffer, &buflen);
if (ret == NSS_STATUS_TRYAGAIN) {
@ -615,7 +615,7 @@ _nss_winbind_getpwnam_r(const char *name, struct passwd *result, char *buffer,
ZERO_STRUCT(response);
ZERO_STRUCT(request);
strncpy(request.data.username, name,
strncpy(request.data.username, name,
sizeof(request.data.username) - 1);
request.data.username
[sizeof(request.data.username) - 1] = '\0';
@ -746,7 +746,7 @@ winbind_getgrent(enum winbindd_cmd cmd,
NSS_STATUS ret;
static struct winbindd_request request;
static int called_again;
#ifdef DEBUG_NSS
fprintf(stderr, "[%5d]: getgrent\n", getpid());
@ -764,7 +764,7 @@ winbind_getgrent(enum winbindd_cmd cmd,
}
/* Else call winbindd to get a bunch of entries */
if (num_gr_cache > 0) {
winbindd_free_response(&getgrent_response);
}
@ -774,7 +774,7 @@ winbind_getgrent(enum winbindd_cmd cmd,
request.data.num_entries = MAX_GETGRENT_USERS;
ret = winbindd_request_response(cmd, &request,
ret = winbindd_request_response(cmd, &request,
&getgrent_response);
if (ret == NSS_STATUS_SUCCESS) {
@ -810,7 +810,7 @@ winbind_getgrent(enum winbindd_cmd cmd,
ret = fill_grent(result, &gr_cache[ndx_gr_cache],
((char *)getgrent_response.extra_data.data)+mem_ofs,
&buffer, &buflen);
/* Out of memory - try again */
if (ret == NSS_STATUS_TRYAGAIN) {
@ -869,7 +869,7 @@ _nss_winbind_getgrnam_r(const char *name,
static struct winbindd_response response;
struct winbindd_request request;
static int keep_response;
#ifdef DEBUG_NSS
fprintf(stderr, "[%5d]: getgrnam %s\n", getpid(), name);
#endif
@ -888,7 +888,7 @@ _nss_winbind_getgrnam_r(const char *name,
ZERO_STRUCT(request);
ZERO_STRUCT(response);
strncpy(request.data.groupname, name,
strncpy(request.data.groupname, name,
sizeof(request.data.groupname));
request.data.groupname
[sizeof(request.data.groupname) - 1] = '\0';
@ -896,7 +896,7 @@ _nss_winbind_getgrnam_r(const char *name,
ret = winbindd_request_response(WINBINDD_GETGRNAM, &request, &response);
if (ret == NSS_STATUS_SUCCESS) {
ret = fill_grent(result, &response.data.gr,
ret = fill_grent(result, &response.data.gr,
(char *)response.extra_data.data,
&buffer, &buflen);
@ -911,7 +911,7 @@ _nss_winbind_getgrnam_r(const char *name,
/* We've been called again */
ret = fill_grent(result, &response.data.gr,
ret = fill_grent(result, &response.data.gr,
(char *)response.extra_data.data, &buffer,
&buflen);
@ -975,8 +975,8 @@ _nss_winbind_getgrgid_r(gid_t gid,
if (ret == NSS_STATUS_SUCCESS) {
ret = fill_grent(result, &response.data.gr,
(char *)response.extra_data.data,
ret = fill_grent(result, &response.data.gr,
(char *)response.extra_data.data,
&buffer, &buflen);
if (ret == NSS_STATUS_TRYAGAIN) {
@ -990,7 +990,7 @@ _nss_winbind_getgrgid_r(gid_t gid,
/* We've been called again */
ret = fill_grent(result, &response.data.gr,
ret = fill_grent(result, &response.data.gr,
(char *)response.extra_data.data, &buffer,
&buflen);
@ -1110,7 +1110,7 @@ _nss_winbind_initgroups_dyn(char *user, gid_t group, long int *start,
*start += 1;
}
}
/* Back to your regularly scheduled programming */
done:
@ -1167,7 +1167,7 @@ _nss_winbind_getusersids(const char *user_sid, char **group_sids,
*group_sids = buffer;
memcpy(buffer, response.extra_data.data, response.length - sizeof(response));
errno = *errnop = 0;
done:
winbindd_free_response(&response);
@ -1199,7 +1199,7 @@ _nss_winbind_nametosid(const char *name, char **sid, char *buffer,
ZERO_STRUCT(response);
ZERO_STRUCT(request);
strncpy(request.data.name.name, name,
strncpy(request.data.name.name, name,
sizeof(request.data.name.name) - 1);
request.data.name.name[sizeof(request.data.name.name) - 1] = '\0';
@ -1264,7 +1264,7 @@ _nss_winbind_sidtoname(const char *sid, char **name, char *buffer,
}
strncpy(request.data.sid, sid,
strncpy(request.data.sid, sid,
sizeof(request.data.sid) - 1);
request.data.sid[sizeof(request.data.sid) - 1] = '\0';
@ -1274,7 +1274,7 @@ _nss_winbind_sidtoname(const char *sid, char **name, char *buffer,
goto failed;
}
needed =
needed =
strlen(response.data.name.dom_name) +
strlen(response.data.name.name) + 2;
@ -1284,7 +1284,7 @@ _nss_winbind_sidtoname(const char *sid, char **name, char *buffer,
goto failed;
}
snprintf(buffer, needed, "%s%c%s",
snprintf(buffer, needed, "%s%c%s",
response.data.name.dom_name,
sep_char,
response.data.name.name);

View File

@ -1,20 +1,20 @@
/*
/*
Unix SMB/CIFS implementation.
Winbind daemon for ntdom nss module
Copyright (C) Tim Potter 2000
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 3 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

View File

@ -1,21 +1,21 @@
/*
/*
Unix SMB/CIFS implementation.
NetBSD loadable authentication module, providing identification
NetBSD loadable authentication module, providing identification
routines against Samba winbind/Windows NT Domain
Copyright (C) Luke Mewburn 2004-2005
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 3 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

View File

@ -1,8 +1,8 @@
/*
Solaris NSS wrapper for winbind
Solaris NSS wrapper for winbind
- Shirish Kalele 2000
Based on Luke Howard's ldap_nss module for Solaris
Based on Luke Howard's ldap_nss module for Solaris
*/
/*
@ -38,7 +38,7 @@
#include <sys/syslog.h>
#endif /*hpux*/
#if defined(HAVE_NSS_COMMON_H) || defined(HPUX)
#if defined(HAVE_NSS_COMMON_H) || defined(HPUX)
#undef NSS_DEBUG
@ -63,9 +63,9 @@ struct nss_groupsbymem {
gid_t *gid_array;
int maxgids;
int force_slow_way;
int (*str2ent)(const char *instr, int instr_len, void *ent,
int (*str2ent)(const char *instr, int instr_len, void *ent,
char *buffer, int buflen);
nss_status_t (*process_cstr)(const char *instr, int instr_len,
nss_status_t (*process_cstr)(const char *instr, int instr_len,
struct nss_groupsbymem *);
int numgids;
};
@ -106,7 +106,7 @@ _nss_winbind_getpwent_solwrap (nss_backend_t* be, void *args)
int* errnop = &NSS_ARGS(args)->erange;
char logmsg[80];
ret = _nss_winbind_getpwent_r(result, buffer,
ret = _nss_winbind_getpwent_r(result, buffer,
buflen, errnop);
if(ret == NSS_STATUS_SUCCESS)
@ -119,7 +119,7 @@ _nss_winbind_getpwent_solwrap (nss_backend_t* be, void *args)
snprintf(logmsg, 79, "_nss_winbind_getpwent_solwrap: Returning error: %d.\n",ret);
NSS_DEBUG(logmsg);
}
return ret;
}
@ -138,7 +138,7 @@ _nss_winbind_getpwnam_solwrap (nss_backend_t* be, void* args)
&NSS_ARGS(args)->erange);
if(ret == NSS_STATUS_SUCCESS)
NSS_ARGS(args)->returnval = (void*) result;
return ret;
}
@ -147,7 +147,7 @@ _nss_winbind_getpwuid_solwrap(nss_backend_t* be, void* args)
{
NSS_STATUS ret;
struct passwd* result = (struct passwd*) NSS_ARGS(args)->buf.result;
NSS_DEBUG("_nss_winbind_getpwuid_solwrap");
ret = _nss_winbind_getpwuid_r (NSS_ARGS(args)->key.uid,
result,
@ -156,7 +156,7 @@ _nss_winbind_getpwuid_solwrap(nss_backend_t* be, void* args)
&NSS_ARGS(args)->erange);
if(ret == NSS_STATUS_SUCCESS)
NSS_ARGS(args)->returnval = (void*) result;
return ret;
}
@ -183,7 +183,7 @@ _nss_winbind_passwd_constr (const char* db_name,
const char* cfg_args)
{
nss_backend_t *be;
if(!(be = SMB_MALLOC_P(nss_backend_t)) )
return NULL;
@ -221,7 +221,7 @@ _nss_winbind_getgrent_solwrap(nss_backend_t* be, void* args)
int* errnop = &NSS_ARGS(args)->erange;
char logmsg[80];
ret = _nss_winbind_getgrent_r(result, buffer,
ret = _nss_winbind_getgrent_r(result, buffer,
buflen, errnop);
if(ret == NSS_STATUS_SUCCESS)
@ -235,7 +235,7 @@ _nss_winbind_getgrent_solwrap(nss_backend_t* be, void* args)
}
return ret;
}
static NSS_STATUS
@ -253,10 +253,10 @@ _nss_winbind_getgrnam_solwrap(nss_backend_t* be, void* args)
if(ret == NSS_STATUS_SUCCESS)
NSS_ARGS(args)->returnval = (void*) result;
return ret;
}
static NSS_STATUS
_nss_winbind_getgrgid_solwrap(nss_backend_t* be, void* args)
{
@ -310,7 +310,7 @@ _nss_winbind_group_destr (nss_backend_t* be, void* args)
return NSS_STATUS_SUCCESS;
}
static nss_backend_op_t group_ops[] =
static nss_backend_op_t group_ops[] =
{
_nss_winbind_group_destr,
_nss_winbind_endgrent_solwrap,
@ -319,7 +319,7 @@ static nss_backend_op_t group_ops[] =
_nss_winbind_getgrnam_solwrap,
_nss_winbind_getgrgid_solwrap,
_nss_winbind_getgroupsbymember_solwrap
};
};
nss_backend_t*
_nss_winbind_group_constr (const char* db_name,
@ -333,7 +333,7 @@ _nss_winbind_group_constr (const char* db_name,
be->ops = group_ops;
be->n_ops = sizeof(group_ops) / sizeof(nss_backend_op_t);
NSS_DEBUG("Initialized nss_winbind group backend");
return be;
}
@ -410,7 +410,7 @@ parse_response(int af, nss_XbyY_args_t* argp, struct winbindd_response *response
argp->erange = 1;
return NSS_STR_PARSE_ERANGE;
}
data = response->data.winsresp;
for( i = 0; i < addrcount; i++) {
p = strchr(data, '\t');
@ -524,7 +524,7 @@ _nss_winbind_hosts_getbyname(nss_backend_t* be, void *args)
ZERO_STRUCT(response);
ZERO_STRUCT(request);
strncpy(request.data.winsreq, argp->key.name, sizeof(request.data.winsreq) - 1);
request.data.winsreq[sizeof(request.data.winsreq) - 1] = '\0';
@ -560,7 +560,7 @@ _nss_winbind_hosts_getbyaddr(nss_backend_t* be, void *args)
request.data.winsreq, sizeof request.data.winsreq);
#else
snprintf(request.data.winsreq, sizeof request.data.winsreq,
"%u.%u.%u.%u",
"%u.%u.%u.%u",
((unsigned char *)argp->key.hostaddr.addr)[0],
((unsigned char *)argp->key.hostaddr.addr)[1],
((unsigned char *)argp->key.hostaddr.addr)[2],

View File

@ -1,20 +1,20 @@
/*
/*
Unix SMB/CIFS implementation.
Winbind daemon for ntdom nss module
Copyright (C) Tim Potter 2000
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 3 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

View File

@ -1,14 +1,14 @@
/*
/*
Unix SMB/CIFS implementation.
Winbind daemon for ntdom nss module
Copyright (C) Tim Potter 2000
Copyright (C) Gerald Carter 2006
You are free to use this interface definition in any way you see
fit, including without restriction, using this header in your own
products. You do not need to give any attribution.
products. You do not need to give any attribution.
*/
#ifndef SAFE_FREE
@ -41,8 +41,6 @@
/* Update this when you change the interface. */
/* Version 20: added WINBINDD_REMOVE_MAPPING command */
#define WINBIND_INTERFACE_VERSION 20
/* Have to deal with time_t being 4 or 8 bytes due to structure alignment.
@ -217,7 +215,7 @@ typedef struct winbindd_gr {
/*******************************************************************************
* This structure MUST be the same size in the 32bit and 64bit builds
* for compatibility between /lib64/libnss_winbind.so and /lib/libnss_winbind.so
*
*
* DO NOT CHANGE THIS STRUCTURE WITHOUT TESTING THE 32BIT NSS LIB AGAINST
* A 64BIT WINBINDD --jerry
******************************************************************************/
@ -327,7 +325,7 @@ struct winbindd_request {
} dsgetdcname;
/* padding -- needed to fix alignment between 32bit and 64bit libs.
The size is the sizeof the union without the padding aligned on
The size is the sizeof the union without the padding aligned on
an 8 byte boundary. --jerry */
char padding[1800];
@ -353,27 +351,27 @@ enum winbindd_result {
/*******************************************************************************
* This structure MUST be the same size in the 32bit and 64bit builds
* for compatibility between /lib64/libnss_winbind.so and /lib/libnss_winbind.so
*
*
* DO NOT CHANGE THIS STRUCTURE WITHOUT TESTING THE 32BIT NSS LIB AGAINST
* A 64BIT WINBINDD --jerry
******************************************************************************/
struct winbindd_response {
/* Header information */
uint32_t length; /* Length of response */
enum winbindd_result result; /* Result code */
/* Fixed length return data */
union {
int interface_version; /* Try to ensure this is always in the same spot... */
fstring winsresp; /* WINS response */
/* getpwnam, getpwuid */
struct winbindd_pw pw;
/* getgrnam, getgrgid */
@ -387,7 +385,7 @@ struct winbindd_response {
} sid;
struct winbindd_name {
fstring dom_name; /* lookupsid */
fstring name;
fstring name;
int type;
} name;
uid_t uid; /* sid_to_uid */

View File

@ -1,21 +1,21 @@
/*
/*
Unix SMB/CIFS implementation.
a WINS nsswitch module
a WINS nsswitch module
Copyright (C) Andrew Tridgell 1999
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "includes.h"
@ -207,7 +207,7 @@ int lookup(nsd_file_t *rq)
bool found = False;
nsd_logprintf(NSD_LOG_MIN, "entering lookup (wins)\n");
if (! rq)
if (! rq)
return NSD_ERROR;
map = nsd_attr_fetch_string(rq->f_attrs, "table", (char*)0);
@ -225,7 +225,7 @@ int lookup(nsd_file_t *rq)
response[0] = '\0';
len = sizeof(response) - 2;
/*
/*
* response needs to be a string of the following format
* ip_address[ ip_address]*\tname[ alias]*
*/
@ -276,7 +276,7 @@ int lookup(nsd_file_t *rq)
if (size > len) {
free(ip_list);
return NSD_ERROR;
}
}
strncat(response,key,size);
strncat(response,"\n",1);
found = True;
@ -306,7 +306,7 @@ static char *get_static(char **buffer, size_t *buflen, int len)
/* Error check. We return false if things aren't set up right, or
there isn't enough buffer space left. */
if ((buffer == NULL) || (buflen == NULL) || (*buflen < len)) {
return NULL;
}
@ -333,7 +333,7 @@ _nss_wins_gethostbyname_r(const char *hostname, struct hostent *he,
int i, count;
fstring name;
size_t namelen;
#if HAVE_PTHREAD
pthread_mutex_lock(&wins_nss_mutex);
#endif

View File

@ -244,7 +244,7 @@ SMBLDAP_OBJ = @SMBLDAP@ @SMBLDAPUTIL@
VERSION_OBJ = lib/version.o
WBCOMMON_OBJ = nsswitch/wb_common.o
WBCOMMON_OBJ = ../nsswitch/wb_common.o
AFS_OBJ = lib/afs.o
@ -809,7 +809,7 @@ RPCCLIENT_OBJ = $(RPCCLIENT_OBJ1) \
$(LIBADS_OBJ) $(POPT_LIB_OBJ) \
$(SMBLDAP_OBJ) $(DCUTIL_OBJ) $(LDB_OBJ)
PAM_WINBIND_OBJ = nsswitch/pam_winbind.o localedir.o $(WBCOMMON_OBJ) \
PAM_WINBIND_OBJ = ../nsswitch/pam_winbind.o localedir.o $(WBCOMMON_OBJ) \
$(LIBREPLACE_OBJ) @BUILD_INIPARSER@
LIBSMBCLIENT_OBJ0 = \
@ -1009,7 +1009,7 @@ SMBFILTER_OBJ = utils/smbfilter.o $(PARAM_OBJ) $(LIBSMB_OBJ) \
$(LIB_NONSMBD_OBJ) $(KRBCLIENT_OBJ) \
$(LIBNDR_GEN_OBJ0)
WINBIND_WINS_NSS_OBJ = nsswitch/wins.o $(PARAM_OBJ) \
WINBIND_WINS_NSS_OBJ = ../nsswitch/wins.o $(PARAM_OBJ) \
$(LIBSMB_OBJ) $(LIB_NONSMBD_OBJ) $(NSSWINS_OBJ) $(KRBCLIENT_OBJ) \
$(LIBNDR_GEN_OBJ0)
@ -1073,7 +1073,7 @@ WINBINDD_OBJ = \
$(AFS_OBJ) $(AFS_SETTOKEN_OBJ) \
$(LIBADS_SERVER_OBJ) $(SERVER_MUTEX_OBJ) $(LDB_OBJ)
WBINFO_OBJ = nsswitch/wbinfo.o $(LIBSAMBA_OBJ) $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) \
WBINFO_OBJ = ../nsswitch/wbinfo.o $(LIBSAMBA_OBJ) $(PARAM_OBJ) $(LIB_NONSMBD_OBJ) \
$(POPT_LIB_OBJ) $(AFS_SETTOKEN_OBJ) \
lib/winbind_util.o $(WBCOMMON_OBJ) @LIBWBCLIENT_STATIC@
@ -1110,7 +1110,7 @@ LDBADD_OBJ = $(LDB_CMDLINE_OBJ) lib/ldb/tools/ldbadd.o
LDBDEL_OBJ = $(LDB_CMDLINE_OBJ) lib/ldb/tools/ldbdel.o
LDBMODIFY_OBJ = $(LDB_CMDLINE_OBJ) lib/ldb/tools/ldbmodify.o
WINBIND_KRB5_LOCATOR_OBJ1 = nsswitch/winbind_krb5_locator.o
WINBIND_KRB5_LOCATOR_OBJ1 = ../nsswitch/winbind_krb5_locator.o
WINBIND_KRB5_LOCATOR_OBJ = $(WINBIND_KRB5_LOCATOR_OBJ1) $(LIBREPLACE_OBJ)
POPT_OBJ=../lib/popt/findme.o ../lib/popt/popt.o ../lib/popt/poptconfig.o \
@ -1767,13 +1767,13 @@ shlibs test_shlibs: @LIBTDB_SHARED@
#
#-------------------------------------------------------------------
LIBWBCLIENT_OBJ0 = nsswitch/libwbclient/wbclient.o \
nsswitch/libwbclient/wbc_util.o \
nsswitch/libwbclient/wbc_pwd.o \
nsswitch/libwbclient/wbc_idmap.o \
nsswitch/libwbclient/wbc_sid.o \
nsswitch/libwbclient/wbc_guid.o \
nsswitch/libwbclient/wbc_pam.o
LIBWBCLIENT_OBJ0 = ../nsswitch/libwbclient/wbclient.o \
../nsswitch/libwbclient/wbc_util.o \
../nsswitch/libwbclient/wbc_pwd.o \
../nsswitch/libwbclient/wbc_idmap.o \
../nsswitch/libwbclient/wbc_sid.o \
../nsswitch/libwbclient/wbc_guid.o \
../nsswitch/libwbclient/wbc_pam.o
LIBWBCLIENT_OBJ = $(LIBWBCLIENT_OBJ0) \
$(WBCOMMON_OBJ) \
@LIBTALLOC_STATIC@ $(LIBREPLACE_OBJ)
@ -1784,7 +1784,7 @@ LIBWBCLIENT_SHARED_TARGET_SONAME=$(LIBWBCLIENT_SHARED_TARGET).$(LIBWBCLIENT_SOVE
LIBWBCLIENT_STATIC_TARGET=@LIBWBCLIENT_STATIC_TARGET@
LIBWBCLIENT=@LIBWBCLIENT_STATIC@ @LIBWBCLIENT_SHARED@
LIBWBCLIENT_SYMS=$(srcdir)/exports/libwbclient.@SYMSEXT@
LIBWBCLIENT_HEADERS=$(srcdir)/nsswitch/libwbclient/wbclient.h
LIBWBCLIENT_HEADERS=$(srcdir)/../nsswitch/libwbclient/wbclient.h
$(LIBWBCLIENT_SYMS): $(LIBWBCLIENT_HEADERS)
@$(MKSYMS_SH) $(AWK) $@ $(LIBWBCLIENT_HEADERS)
@ -2776,7 +2776,7 @@ etags::
etags --append `find $(srcdir)/../source4/ldap_server -name "*.[ch]"`
etags --append `find $(srcdir)/../source4/smb_server -name "*.[ch]"`
etags --append `find $(srcdir)/../source4/include -name "*.[ch]"`
etags --append `find $(srcdir)/../source4/nsswitch -name "*.[ch]"`
etags --append `find $(srcdir)/../nsswitch -name "*.[ch]"`
etags --append `find $(srcdir)/../source4/cldap_server -name "*.[ch]"`
etags --append `find $(srcdir)/../source4/utils -name "*.[ch]"`
etags --append `find $(srcdir)/../source4/librpc -name "*.[ch]"`

View File

@ -5699,8 +5699,8 @@ HAVE_WINBIND=yes
# Define the winbind shared library name and any specific linker flags
# it needs to be built with.
WINBIND_NSS="nsswitch/libnss_winbind.$SHLIBEXT"
WINBIND_WINS_NSS="nsswitch/libnss_wins.$SHLIBEXT"
WINBIND_NSS="../nsswitch/libnss_winbind.$SHLIBEXT"
WINBIND_WINS_NSS="../nsswitch/libnss_wins.$SHLIBEXT"
WINBIND_NSS_LDSHFLAGS=$LDSHFLAGS
NSSSONAMEVERSIONSUFFIX=""
WINBIND_NSS_PTHREAD=""
@ -5708,16 +5708,16 @@ WINBIND_NSS_PTHREAD=""
case "$host_os" in
*linux*)
NSSSONAMEVERSIONSUFFIX=".2"
WINBIND_NSS_EXTRA_OBJS="nsswitch/winbind_nss_linux.o"
WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_linux.o"
;;
*freebsd[[5-9]]*)
# FreeBSD winbind client is implemented as a wrapper around
# the Linux version.
NSSSONAMEVERSIONSUFFIX=".1"
WINBIND_NSS_EXTRA_OBJS="nsswitch/winbind_nss_freebsd.o \
nsswitch/winbind_nss_linux.o"
WINBIND_NSS="nsswitch/nss_winbind.$SHLIBEXT"
WINBIND_WINS_NSS="nsswitch/nss_wins.$SHLIBEXT"
WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_freebsd.o \
../nsswitch/winbind_nss_linux.o"
WINBIND_NSS="../nsswitch/nss_winbind.$SHLIBEXT"
WINBIND_WINS_NSS="../nsswitch/nss_wins.$SHLIBEXT"
;;
*netbsd*[[3-9]]*)
@ -5727,10 +5727,10 @@ case "$host_os" in
#
if test x"$ac_cv_func_getpwent_r" = x"yes"; then
WINBIND_NSS_EXTRA_OBJS="\
nsswitch/winbind_nss_netbsd.o \
nsswitch/winbind_nss_linux.o"
WINBIND_NSS="nsswitch/nss_winbind.$SHLIBEXT"
WINBIND_WINS_NSS="nsswitch/nss_wins.$SHLIBEXT"
../nsswitch/winbind_nss_netbsd.o \
../nsswitch/winbind_nss_linux.o"
WINBIND_NSS="../nsswitch/nss_winbind.$SHLIBEXT"
WINBIND_WINS_NSS="../nsswitch/nss_wins.$SHLIBEXT"
else
HAVE_WINBIND=no
winbind_no_reason=", getpwent_r is missing on $host_os so winbind is unsupported"
@ -5738,28 +5738,28 @@ case "$host_os" in
;;
*irix*)
# IRIX has differently named shared libraries
WINBIND_NSS_EXTRA_OBJS="nsswitch/winbind_nss_irix.o"
WINBIND_NSS="nsswitch/libns_winbind.$SHLIBEXT"
WINBIND_WINS_NSS="nsswitch/libns_wins.$SHLIBEXT"
WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_irix.o"
WINBIND_NSS="../nsswitch/libns_winbind.$SHLIBEXT"
WINBIND_WINS_NSS="../nsswitch/libns_wins.$SHLIBEXT"
;;
*solaris*)
# Solaris winbind client is implemented as a wrapper around
# the Linux version.
NSSSONAMEVERSIONSUFFIX=".1"
WINBIND_NSS_EXTRA_OBJS="nsswitch/winbind_nss_solaris.o \
nsswitch/winbind_nss_linux.o"
WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_solaris.o \
../nsswitch/winbind_nss_linux.o"
WINBIND_NSS_EXTRA_LIBS="${LIBREPLACE_NETWORK_LIBS}"
PAM_WINBIND_EXTRA_LIBS="${LIBREPLACE_NETWORK_LIBS}"
;;
*hpux11*)
WINBIND_NSS_EXTRA_OBJS="nsswitch/winbind_nss_solaris.o"
WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_solaris.o"
;;
*aix*)
# AIX has even differently named shared libraries. No
# WINS support has been implemented yet.
WINBIND_NSS_EXTRA_OBJS="nsswitch/winbind_nss_aix.o"
WINBIND_NSS_EXTRA_OBJS="../nsswitch/winbind_nss_aix.o"
WINBIND_NSS_LDSHFLAGS="-Wl,-bexpall,-bM:SRE,-ewb_aix_init"
WINBIND_NSS="nsswitch/WINBIND"
WINBIND_NSS="../nsswitch/WINBIND"
WINBIND_WINS_NSS=""
;;
*)

View File

@ -184,7 +184,6 @@ NTSTATUS wbsrv_samba3_handle_call(struct wbsrv_samba3_call *s3call)
case WINBINDD_ALLOCATE_GID:
case WINBINDD_SET_MAPPING:
case WINBINDD_SET_HWM:
case WINBINDD_DUMP_MAPS:
case WINBINDD_DOMAIN_INFO:
case WINBINDD_SHOW_SEQUENCE:
case WINBINDD_WINS_BYIP:
@ -194,11 +193,6 @@ NTSTATUS wbsrv_samba3_handle_call(struct wbsrv_samba3_call *s3call)
case WINBINDD_DUAL_SIDS2XIDS:
case WINBINDD_DUAL_SET_MAPPING:
case WINBINDD_DUAL_SET_HWM:
case WINBINDD_DUAL_DUMP_MAPS:
case WINBINDD_DUAL_UID2NAME:
case WINBINDD_DUAL_NAME2UID:
case WINBINDD_DUAL_GID2NAME:
case WINBINDD_DUAL_NAME2GID:
case WINBINDD_DUAL_USERINFO:
case WINBINDD_DUAL_GETSIDALIASES:
case WINBINDD_CCACHE_NTLMAUTH: