This commit is contained in:
Kurt Zeilenga 2005-03-15 03:11:24 +00:00
parent 3b3c521083
commit f06ca8eb1f
3 changed files with 21 additions and 22 deletions

View file

@ -99,38 +99,36 @@ int getpeereid( int s, uid_t *euid, gid_t *egid )
}
}
#elif defined(SOCKCREDSIZE)
struct msghdr msg;
socklen_t crmsgsize;
void *crmsg;
struct cmsghdr *cmp;
struct sockcred *sc;
struct msghdr msg;
socklen_t crmsgsize;
void *crmsg;
struct cmsghdr *cmp;
struct sockcred *sc;
memset(&msg, 0, sizeof msg);
crmsgsize = CMSG_SPACE(SOCKCREDSIZE(NGROUPS));
if (crmsgsize == 0)
goto sc_err;
if (crmsgsize == 0) goto sc_err;
crmsg = malloc(crmsgsize);
if (crmsg == NULL)
goto sc_err;
if (crmsg == NULL) goto sc_err;
memset(crmsg, 0, crmsgsize);
msg.msg_control = crmsg;
msg.msg_controllen = crmsgsize;
if (recvmsg(s, &msg, 0) < 0) {
free(crmsg);
goto sc_err;
free(crmsg);
goto sc_err;
}
if (msg.msg_controllen == 0 || (msg.msg_flags & MSG_CTRUNC) != 0) {
free(crmsg);
goto sc_err;
free(crmsg);
goto sc_err;
}
cmp = CMSG_FIRSTHDR(&msg);
if (cmp->cmsg_level != SOL_SOCKET || cmp->cmsg_type != SCM_CREDS) {
printf("nocreds\n");
goto sc_err;
printf("nocreds\n");
goto sc_err;
}
sc = (struct sockcred *)(void *)CMSG_DATA(cmp);
@ -140,7 +138,8 @@ int getpeereid( int s, uid_t *euid, gid_t *egid )
free(crmsg);
return 0;
sc_err:
sc_err:
#endif
#endif /* LDAP_PF_LOCAL */

View file

@ -980,8 +980,8 @@ static int slap_open_listener(
case AF_LOCAL:
#ifdef LOCAL_CREDS
{
int one = 1;
setsockopt(l.sl_sd, 0, LOCAL_CREDS, &one, sizeof one);
int one = 1;
setsockopt(l.sl_sd, 0, LOCAL_CREDS, &one, sizeof one);
}
#endif
addrlen = sizeof(struct sockaddr_un);

View file

@ -66,12 +66,12 @@ LDAP_BEGIN_DECL
#define LDAP_SYNC_TIMESTAMP
#define LDAP_COLLECTIVE_ATTRIBUTES
#define SLAP_CONTROL_X_TREE_DELETE LDAP_CONTROL_X_TREE_DELETE
#ifdef ENABLE_REWRITE
#define SLAP_AUTH_REWRITE 1 /* use librewrite for sasl-regexp */
#endif
#endif
#if defined(LDAP_DEVEL) && defined(ENABLE_REWRITE)
/* use librewrite for sasl-regexp */
#define SLAP_AUTH_REWRITE 1
#endif /* LDAP_DEVEL && ENABLE_REWRITE */
/*
* SLAPD Memory allocation macros