mirror of
https://github.com/postgres/postgres.git
synced 2025-06-04 00:02:37 -04:00
Due to a conflict in macro names on Windows between <wincrypt.h> and <openssl/ssl.h> these headers need to be included using a predictable pattern with an undef to handle that. The GSSAPI header <gssapi.h> does include <wincrypt.h> which cause problems with compiling PostgreSQL using MSVC when OpenSSL and GSSAPI are both enabled in the tree. Rather than fixing piecemeal for each file including gssapi headers, move the the includes and undef to a new file which should be used to centralize the logic. This patch is a reworked version of a patch by Imran Zaheer proposed earlier in the thread. Once this has proven effective in master we should look at backporting this as the problem exist at least since v16. Author: Daniel Gustafsson <daniel@yesql.se> Co-authored-by: Imran Zaheer <imran.zhir@gmail.com> Reported-by: Dave Page <dpage@pgadmin.org> Reviewed-by: Andres Freund <andres@anarazel.de> Reviewed-by: vignesh C <vignesh21@gmail.com> Discussion: https://postgr.es/m/20240708173204.3f3xjilglx5wuzx6@awork3.anarazel.de
28 lines
777 B
C
28 lines
777 B
C
/*-------------------------------------------------------------------------
|
|
*
|
|
* be-gssapi-common.h
|
|
* Definitions for GSSAPI authentication and encryption handling
|
|
*
|
|
* Portions Copyright (c) 1996-2025, PostgreSQL Global Development Group
|
|
* Portions Copyright (c) 1994, Regents of the University of California
|
|
*
|
|
* src/include/libpq/be-gssapi-common.h
|
|
*
|
|
*-------------------------------------------------------------------------
|
|
*/
|
|
|
|
#ifndef BE_GSSAPI_COMMON_H
|
|
#define BE_GSSAPI_COMMON_H
|
|
|
|
#ifdef ENABLE_GSS
|
|
|
|
#include "libpq/pg-gssapi.h"
|
|
|
|
extern void pg_GSS_error(const char *errmsg,
|
|
OM_uint32 maj_stat, OM_uint32 min_stat);
|
|
|
|
extern void pg_store_delegated_credential(gss_cred_id_t cred);
|
|
#endif /* ENABLE_GSS */
|
|
|
|
#endif /* BE_GSSAPI_COMMON_H */
|