mirror of
https://git.tartarus.org/simon/putty.git
synced 2025-01-10 01:48:00 +00:00
a6f1709c2f
This commit includes <stdbool.h> from defs.h and deletes my traditional definitions of TRUE and FALSE, but other than that, it's a 100% mechanical search-and-replace transforming all uses of TRUE and FALSE into the C99-standardised lowercase spellings. No actual types are changed in this commit; that will come next. This is just getting the noise out of the way, so that subsequent commits can have a higher proportion of signal.
33 lines
656 B
C
33 lines
656 B
C
/*
|
|
* Unix: wrapper for getsockopt(SO_PEERCRED), conditionalised on
|
|
* appropriate autoconfery.
|
|
*/
|
|
|
|
#ifdef HAVE_CONFIG_H
|
|
# include "uxconfig.h" /* leading space prevents mkfiles.pl trying to follow */
|
|
#endif
|
|
|
|
#ifdef HAVE_SO_PEERCRED
|
|
#define _GNU_SOURCE
|
|
#include <features.h>
|
|
#endif
|
|
|
|
#include <sys/socket.h>
|
|
|
|
#include "putty.h"
|
|
|
|
int so_peercred(int fd, int *pid, int *uid, int *gid)
|
|
{
|
|
#ifdef HAVE_SO_PEERCRED
|
|
struct ucred cr;
|
|
socklen_t crlen = sizeof(cr);
|
|
if (getsockopt(fd, SOL_SOCKET, SO_PEERCRED, &cr, &crlen) == 0) {
|
|
*pid = cr.pid;
|
|
*uid = cr.uid;
|
|
*gid = cr.gid;
|
|
return true;
|
|
}
|
|
#endif
|
|
return false;
|
|
}
|