Compare commits
	
		
			4 Commits
		
	
	
		
			112d514f59
			...
			f4576cf7ea
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						
						
							
						
						f4576cf7ea
	
				 | 
					
					
						|||
| 
						
						
							
						
						a2eeb81fed
	
				 | 
					
					
						|||
| 
						
						
							
						
						3a89449c32
	
				 | 
					
					
						|||
| 
						
						
							
						
						ac1d7c1535
	
				 | 
					
					
						
							
								
								
									
										5
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -3,6 +3,9 @@ build/*
 | 
			
		||||
.cache
 | 
			
		||||
test/protected/*
 | 
			
		||||
test/.pt.db
 | 
			
		||||
compile_commands.json
 | 
			
		||||
*compile_commands.json
 | 
			
		||||
test/perf*
 | 
			
		||||
test/callgraph*
 | 
			
		||||
src/gui/ui/*
 | 
			
		||||
src/gui/*.o
 | 
			
		||||
src/gui/icfs_dialogue
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										30
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								Makefile
									
									
									
									
									
								
							@@ -2,9 +2,17 @@ SHELL=/bin/bash
 | 
			
		||||
 | 
			
		||||
# configurable options
 | 
			
		||||
 | 
			
		||||
ifndef ($(SOURCES_DIR))
 | 
			
		||||
	SOURCES_DIR := ./src
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifndef ($(TESTS_DIR))
 | 
			
		||||
	TESTS_DIR := ./tests
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifndef ($(BUILD_DIR))
 | 
			
		||||
	BUILD_DIR := ./build
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
CC := gcc
 | 
			
		||||
CXX := g++
 | 
			
		||||
@@ -49,12 +57,18 @@ ifeq ($(TEST), 1)
 | 
			
		||||
	TARGETS += icfs_test
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifneq ($(DIALOGUE), 0)
 | 
			
		||||
	TARGETS += $(BUILD_DIR)/icfs_dialogue
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# build!
 | 
			
		||||
 | 
			
		||||
default: $(TARGETS)
 | 
			
		||||
 | 
			
		||||
.PHONY: clean
 | 
			
		||||
.PHONY: clean icfs_test clean-icfs clean-icfs_dialogue
 | 
			
		||||
 | 
			
		||||
$(BUILD_DIR)/icfs_dialogue:
 | 
			
		||||
	make -C $(SOURCES_DIR)/gui TEST=$(TEST) DEBUG=$(shell realpath $(DEBUG)) SOURCES_DIR=$(shell realpath $(SOURCES_DIR)/gui) BUILD_DIR=$(shell realpath $(BUILD_DIR)) TESTS_DIR=$(shell realpath $(TESTS_DIR))
 | 
			
		||||
 | 
			
		||||
$(BUILD_DIR)/icfs: $(BUILD_DIR)/main.o $(BUILD_DIR)/fuse_operations.o $(BUILD_DIR)/sourcefs.o $(BUILD_DIR)/ui-socket.o $(BUILD_DIR)/temp_permissions_table.o $(BUILD_DIR)/perm_permissions_table.o
 | 
			
		||||
	$(CC) $(CFLAGS) $^ $(LDFLAGS) -o $(BUILD_DIR)/icfs
 | 
			
		||||
@@ -83,6 +97,16 @@ $(BUILD_DIR)/temp_permissions_table.o: $(SOURCES_DIR)/temp_permissions_table.c $
 | 
			
		||||
$(BUILD_DIR)/perm_permissions_table.o: $(SOURCES_DIR)/perm_permissions_table.c $(SOURCES_DIR)/perm_permissions_table.h
 | 
			
		||||
	$(CC) $(CFLAGS) -c $< $(LDFLAGS) -o $@
 | 
			
		||||
 | 
			
		||||
CLEAN_TARGETS=clean-icfs
 | 
			
		||||
 | 
			
		||||
clean:
 | 
			
		||||
	rm $(BUILD_DIR)/*.o $(BUILD_DIR)/icfs*
 | 
			
		||||
ifneq ($(DIALOGUE), 0)
 | 
			
		||||
	CLEAN_TARGETS += clean-icfs_dialogue
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
clean: $(CLEAN_TARGETS)
 | 
			
		||||
 | 
			
		||||
clean-icfs:
 | 
			
		||||
	rm $(BUILD_DIR)/*.o $(BUILD_DIR)/icfs
 | 
			
		||||
 | 
			
		||||
clean-icfs_dialogue:
 | 
			
		||||
		make -C $(SOURCES_DIR)/gui clean SOURCES_DIR=$(shell realpath $(SOURCES_DIR)/gui) BUILD_DIR=$(shell realpath $(BUILD_DIR)) TESTS_DIR=$(shell realpath $(TESTS_DIR))
 | 
			
		||||
 
 | 
			
		||||
@@ -2,9 +2,17 @@ SHELL=/bin/bash
 | 
			
		||||
 | 
			
		||||
# configurable options
 | 
			
		||||
 | 
			
		||||
ifndef ($(SOURCES_DIR))
 | 
			
		||||
	SOURCES_DIR := .
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifndef ($(TESTS_DIR))
 | 
			
		||||
	TESTS_DIR := .
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifndef ($(BUILD_DIR))
 | 
			
		||||
	BUILD_DIR := .
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
CC := gcc
 | 
			
		||||
CXX := g++
 | 
			
		||||
@@ -43,10 +51,10 @@ endif
 | 
			
		||||
 | 
			
		||||
# set up targets 
 | 
			
		||||
 | 
			
		||||
TARGETS := $(BUILD_DIR)/zenity
 | 
			
		||||
TARGETS := $(BUILD_DIR)/icfs_dialogue
 | 
			
		||||
 | 
			
		||||
ifeq ($(TEST), 1)
 | 
			
		||||
	TARGETS += zenity_test
 | 
			
		||||
	TARGETS += icfs_dialogue_test
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -54,16 +62,16 @@ endif
 | 
			
		||||
 | 
			
		||||
default: $(TARGETS)
 | 
			
		||||
 | 
			
		||||
.PHONY: clean zenity_test
 | 
			
		||||
.PHONY: clean icfs_dialogue_test
 | 
			
		||||
 | 
			
		||||
zenity_test: $(BUILD_DIR)/zenity
 | 
			
		||||
	./zenity 666 cat /home/fedir Downloads
 | 
			
		||||
icfs_dialogue_test: $(BUILD_DIR)/icfs_dialogue
 | 
			
		||||
	$(BUILD_DIR)/icfs_dialogue 666 cat /home/fedir /Downloads
 | 
			
		||||
 | 
			
		||||
$(BUILD_DIR)/zenity: $(BUILD_DIR)/zenity.o
 | 
			
		||||
	$(CC) $(CFLAGS) $^ $(LDFLAGS) -o $(BUILD_DIR)/zenity
 | 
			
		||||
$(BUILD_DIR)/icfs_dialogue: $(BUILD_DIR)/icfs_dialogue.o
 | 
			
		||||
	$(CC) $(CFLAGS) $^ $(LDFLAGS) -o $(BUILD_DIR)/icfs_dialogue
 | 
			
		||||
 | 
			
		||||
$(BUILD_DIR)/zenity.o: $(SOURCES_DIR)/zenity-clone.c
 | 
			
		||||
	$(CC) $(CFLAGS) -c $< $(LDFLAGS) -o $(BUILD_DIR)/zenity.o
 | 
			
		||||
$(BUILD_DIR)/icfs_dialogue.o: $(SOURCES_DIR)/icfs_dialogue.c
 | 
			
		||||
	$(CC) $(CFLAGS) -c $< $(LDFLAGS) -o $(BUILD_DIR)/icfs_dialogue.o
 | 
			
		||||
 | 
			
		||||
clean:
 | 
			
		||||
	rm $(BUILD_DIR)/*.o $(BUILD_DIR)/zenity
 | 
			
		||||
	rm $(BUILD_DIR)/*.o $(BUILD_DIR)/icfs_dialogue
 | 
			
		||||
 
 | 
			
		||||
@@ -28,7 +28,7 @@ if [[ $1 == "--setuid" ]]; then
 | 
			
		||||
else
 | 
			
		||||
  echo "Database protection will not be tested due to the lack of setuid capabilites."
 | 
			
		||||
  echo "To test it, run this script with '--setuid'."
 | 
			
		||||
  valgrind -s ../build/icfs -o default_permissions ./protected ./.pt.db &
 | 
			
		||||
  valgrind --leak-check=full -s ../build/icfs -o default_permissions ./protected ./.pt.db &
 | 
			
		||||
  sleep 5
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user