mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-31 10:30:33 +03:00 
			
		
		
		
	Previously, pg_logicalinspect functions were too trusting of their input and blindly passed it to SnapBuildRestoreSnapshot(). If the input pointed to a directory, the server could a PANIC error while attempting to fsync_fname() with isdir=false on a directory. This commit adds validation checks for input filenames and passes the LSN extracted from the filename to SnapBuildRestoreSnapshot() instead of the filename itself. It also adds regression tests for various input patterns and permission checks. Bug: #18828 Reported-by: Robins Tharakan <tharakan@gmail.com> Co-authored-by: Bertrand Drouvot <bertranddrouvot.pg@gmail.com> Co-authored-by: Masahiko Sawada <sawada.mshk@gmail.com> Discussion: https://postgr.es/m/18828-0f4701c635064211@postgresql.org
		
			
				
	
	
		
			33 lines
		
	
	
		
			852 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			852 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
| # contrib/pg_logicalinspect/Makefile
 | |
| 
 | |
| MODULE_big = pg_logicalinspect
 | |
| OBJS = \
 | |
| 	$(WIN32RES) \
 | |
| 	pg_logicalinspect.o
 | |
| PGFILEDESC = "pg_logicalinspect - functions to inspect logical decoding components"
 | |
| 
 | |
| EXTENSION = pg_logicalinspect
 | |
| DATA = pg_logicalinspect--1.0.sql
 | |
| 
 | |
| EXTRA_INSTALL = contrib/test_decoding
 | |
| 
 | |
| REGRESS = pg_logicalinspect
 | |
| ISOLATION = logical_inspect
 | |
| 
 | |
| ISOLATION_OPTS = --temp-config $(top_srcdir)/contrib/pg_logicalinspect/logicalinspect.conf
 | |
| 
 | |
| # Disabled because these tests require "wal_level=logical", which
 | |
| # some installcheck users do not have (e.g. buildfarm clients).
 | |
| NO_INSTALLCHECK = 1
 | |
| 
 | |
| ifdef USE_PGXS
 | |
| PG_CONFIG = pg_config
 | |
| PGXS := $(shell $(PG_CONFIG) --pgxs)
 | |
| include $(PGXS)
 | |
| else
 | |
| subdir = contrib/pg_logicalinspect
 | |
| top_builddir = ../..
 | |
| include $(top_builddir)/src/Makefile.global
 | |
| include $(top_srcdir)/contrib/contrib-global.mk
 | |
| endif
 |