PostgreSQL Source Code git master
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
pg-gssapi.h
Go to the documentation of this file.
1/*-------------------------------------------------------------------------
2 *
3 * pg-gssapi.h
4 * Definitions for including GSSAPI headers
5 *
6 * Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
7 * Portions Copyright (c) 1994, Regents of the University of California
8 *
9 * src/include/libpq/pg-gssapi.h
10 *
11 *-------------------------------------------------------------------------
12 */
13
14#ifndef PG_GSSAPI_H
15#define PG_GSSAPI_H
16
17#ifdef ENABLE_GSS
18
19/* IWYU pragma: begin_exports */
20#if defined(HAVE_GSSAPI_H)
21#include <gssapi.h>
22#include <gssapi_ext.h>
23#else
24#include <gssapi/gssapi.h>
25#include <gssapi/gssapi_ext.h>
26#endif
27/* IWYU pragma: end_exports */
28
29/*
30* On Windows, <wincrypt.h> includes a #define for X509_NAME, which breaks our
31* ability to use OpenSSL's version of that symbol if <wincrypt.h> is pulled
32* in after <openssl/ssl.h> ... and, at least on some builds, it is. We
33* can't reliably fix that by re-ordering #includes, because libpq/libpq-be.h
34* #includes <openssl/ssl.h>. Instead, just zap the #define again here.
35*/
36#ifdef X509_NAME
37#undef X509_NAME
38#endif
39
40#endif /* ENABLE_GSS */
41
42#endif /* PG_GSSAPI_H */