summaryrefslogtreecommitdiff
path: root/src/include
diff options
context:
space:
mode:
authorMagnus Hagander2008-11-24 09:15:16 +0000
committerMagnus Hagander2008-11-24 09:15:16 +0000
commitcb10467d305726bf13bc1cb9ad9f7054c722c7dd (patch)
tree43443f9d721a3b8609f5e90f078ebec3e243d45c /src/include
parenta37855550100f93887ffb289a8a9c2f15706bad2 (diff)
Add support for matching wildcard server certificates to the new SSL code.
This uses the function fnmatch() which is not available on all platforms (notably Windows), so import the implementation from NetBSD into src/port.
Diffstat (limited to 'src/include')
-rw-r--r--src/include/fnmatchstub.h27
-rw-r--r--src/include/pg_config.h.in3
2 files changed, 30 insertions, 0 deletions
diff --git a/src/include/fnmatchstub.h b/src/include/fnmatchstub.h
new file mode 100644
index 0000000000..fb23d8f98c
--- /dev/null
+++ b/src/include/fnmatchstub.h
@@ -0,0 +1,27 @@
+/*-------------------------------------------------------------------------
+ *
+ * fnmatchstub.h
+ * Stubs for fnmatch() in port/fnmatch.c
+ *
+ *
+ * Portions Copyright (c) 1996-2008, PostgreSQL Global Development Group
+ * Portions Copyright (c) 1994, Regents of the University of California
+ *
+ * $PostgreSQL: pgsql/src/include/fnmatchstub.h,v 1.1 2008/11/24 09:15:16 mha Exp $
+ *
+ *-------------------------------------------------------------------------
+ */
+#ifndef FNMATCHSTUB_H
+#define FNMATCHSTUB_H
+
+extern int fnmatch(const char *, const char *, int);
+#define FNM_NOMATCH 1 /* Match failed. */
+#define FNM_NOSYS 2 /* Function not implemented. */
+#define FNM_NOESCAPE 0x01 /* Disable backslash escaping. */
+#define FNM_PATHNAME 0x02 /* Slash must be matched by slash. */
+#define FNM_PERIOD 0x04 /* Period must be matched by period. */
+#define FNM_CASEFOLD 0x08 /* Pattern is matched case-insensitive */
+#define FNM_LEADING_DIR 0x10 /* Ignore /<tail> after Imatch. */
+
+
+#endif
diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in
index 9f6f21bf81..1064d15526 100644
--- a/src/include/pg_config.h.in
+++ b/src/include/pg_config.h.in
@@ -143,6 +143,9 @@
/* Define to 1 if you have the `fdatasync' function. */
#undef HAVE_FDATASYNC
+/* Define to 1 if your system has a working POSIX `fnmatch' function. */
+#undef HAVE_FNMATCH
+
/* Define to 1 if you have the `fpclass' function. */
#undef HAVE_FPCLASS