Raise fixed token-length limit in hba.c.
authorTom Lane <[email protected]>
Thu, 27 Jul 2023 16:07:48 +0000 (12:07 -0400)
committerTom Lane <[email protected]>
Thu, 27 Jul 2023 16:07:48 +0000 (12:07 -0400)
Historically, hba.c limited tokens in the authentication configuration
files (pg_hba.conf and pg_ident.conf) to less than 256 bytes.  We have
seen a few reports of this limit causing problems; notably, for
moderately-complex LDAP configurations.  Increase the limit to 10240
bytes as a low-risk stop-gap solution.

In v13 and earlier, this also requires raising MAX_LINE, the limit
on overall line length.  I'm hesitant to make this code consume
too much stack space, so I only raised that to 20480 bytes.

Discussion: https://postgr.es/m/1588937.1690221208@sss.pgh.pa.us

src/backend/libpq/hba.c

index 64e59d4d88a4488be8174b15cf802729049b04e0..40ad8c12b47f8e727a27cf90c85d5f9b0f5613c0 100644 (file)
@@ -54,7 +54,7 @@
 #endif
 
 
-#define MAX_TOKEN  256
+#define MAX_TOKEN  10240
 
 /* callback data for check_network_callback */
 typedef struct check_network_data