profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/ineiti/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Linus Gasser ineiti EPFL Switzerland http://c4dt.org Got the decentralized, distributed virus from @bford at @dedis, implemented a blockchainwith @lefkok. Now I'm at @c4dt to make the world a better place.

DP-3T/dp3t-sdk-backend 201

The backend implementation for DP3T

CrowdNotifier/libcrowdnotifier 9

TypeScript implementation of the full CrowdNotifier stack

bnanchen/WebCothority 2

Web-frontend for cothority

dedis/student_20_byzcoin 2

Semester project : improve Byzcoin

ineiti/advanced-ssh-config 2

:computer: assh: ssh wrapper using ProxyCommand that adds regex, aliases, gateways, includes, dynamic hostnames to SSH and ssh-config

c4dt/c4dt.github.com 1

Webpage for engineers' training #101b

dedis/demo_17_bcss 1

Pop-repo for demo at blockchain-summer-school 2017

dedis/student_17_ots 1

For Ceyhun

dedis/student_17_pop_fs 1

Repo PoP forward secrecy

DP-3T/dp3t-shared-backend 1

Shared Components for the dp3t backends

issue openedc4dt/lightarti-rest

Move tools directory to arti-directory

Testing the tools directory is a pain because it depends on the tor nodes which (for good reasons) don't want us to overwhelm them.

I propose to move the tools-directory to arti-directory. Like that it doesn't need to be run for every change to the rust-files, but only if we update the arti-directory.

created time in 5 days

push eventc4dt/lightarti-rest

Linus Gasser

commit sha 4b6d641e57ea9be10b67fc9cb2d3a263712437a9

Comments from @tharvik and @cgrigis

view details

push time in 5 days

push eventc4dt/lightarti-rest

Linus Gasser

commit sha 808ca3d05b6f88f486b3397bfc8b5908278fb5cb

Comments from @tharvik and @cgrigis

view details

push time in 5 days

Pull request review commentc4dt/lightarti-rest

Create Makefile for churn

-.PHONY: dirinfo check-password+.PHONY: churn clean clean_auth clean_cache secrets_authority update_cache_churn  AUTH_DIR=authority-private-DIR_CACHE=directory-cache+AUTH_ID=$(AUTH_DIR)/authority_identity_key+AUTH_SIGN=$(AUTH_DIR)/authority_signing_key+AUTH_CERT=$(AUTH_DIR)/certificate.txt+AUTH_AUTH=$(AUTH_DIR)/authority.txt+CACHE_DIR=directory-cache+CACHE_CERT=$(CACHE_DIR)/certificate.txt+CACHE_AUTH=$(CACHE_DIR)/authority.txt+CACHE_CONS=$(CACHE_DIR)/consensus.txt+CACHE_MICRO=$(CACHE_DIR)/microdescriptors.txt -all: dirinfo+all: update_cache -$(AUTH_DIR): pip_install check-password+clean_auth:+	rm -rf $(AUTH_DIR)++authority: pip_install $(AUTH_ID) $(AUTH_SIGN) $(AUTH_CERT) $(AUTH_AUTH)+$(AUTH_ID) $(AUTH_SIGN) $(AUTH_CERT) $(AUTH_AUTH):+ifeq ($(DIR_AUTH_PASSWORD), )+	$(error Environment variable DIR_AUTH_PASSWORD is undefined or invalid.)+endif 	mkdir -p $(AUTH_DIR)-	mkdir -p $(DIR_CACHE) 	./gen_fresh_dirinfo.py generate-certificate \-		--authority-identity-key $(AUTH_DIR)/authority_identity_key \-		--authority-signing-key $(AUTH_DIR)/authority_signing_key \-		--authority-certificate $(DIR_CACHE)/certificate.txt \-		--authority-v3ident $(DIR_CACHE)/authority.txt+		--authority-identity-key $(AUTH_ID) \+		--authority-signing-key $(AUTH_SIGN) \+		--authority-certificate $(AUTH_CERT) \+		--authority-v3ident $(AUTH_AUTH)++clean_cache:+	rm -rf $(CACHE_DIR)++update_cache: clean_cache cache -dirinfo: $(AUTH_DIR)+cache: $(CACHE_CERT) $(CACHE_AUTH) $(CACHE_CONS) $(CACHE_MICRO)+$(CACHE_CERT) $(CACHE_AUTH) $(CACHE_CONS) $(CACHE_MICRO):+	$(MAKE) authority+	mkdir -p $(CACHE_DIR)+	cp $(AUTH_CERT) $(AUTH_AUTH) $(CACHE_DIR) 	./gen_fresh_dirinfo.py generate-dirinfo \-		--authority-signing-key $(AUTH_DIR)/authority_signing_key \-		--authority-certificate $(DIR_CACHE)/certificate.txt \-		--consensus $(DIR_CACHE)/consensus.txt \-		--microdescriptors $(DIR_CACHE)/microdescriptors.txt+		--authority-signing-key $(AUTH_SIGN) \+		--authority-certificate $(CACHE_CERT) \+		--consensus $(CACHE_CONS) \+		--microdescriptors $(CACHE_MICRO) -churn: $(DIR_CACHE)/consensus.txt+churn: cache 	./gen_fresh_dirinfo.py compute-churn \-		--consensus $(DIR_CACHE)/consensus.txt \-		--churn $(DIR_CACHE)/churn.txt+		--consensus $(CACHE_DIR)/consensus.txt \+		--churn $(CACHE_DIR)/churn.txt  pip_install: requirements.txt 	pip3 install -qr requirements.txt

Something like this?

https://github.com/c4dt/lightarti-rest/pull/79/commits/4be6003e137329dd452b564434f5f85316156364#diff-e327741dae7d1efd73c66ab134d50ac2c56187d814c443bb55464272b8b44113R58

ineiti

comment created time in 5 days

PullRequestReviewEvent

push eventc4dt/lightarti-rest

Linus Gasser

commit sha 4be6003e137329dd452b564434f5f85316156364

Comments from @tharvik and @cgrigis

view details

push time in 5 days

issue commentc4dt/lightarti-rest

Consensus list contains nodes not accessible via port 443

So we should do both ;) Test that the IPv6:443 is correctly refused, and that new arti-directorys don't create new bugs...

Volunteers?

cgrigis

comment created time in 5 days

pull request commentDistributed-EPFL/contagion

split by feature=system

doesn't look like it

So git is not yet perfect :)

tharvik

comment created time in 5 days

issue commentc4dt/lightarti-rest-android

Create a default downloader for the arti-directory files

It's going towards 0.4, so I think this is a good time to try some things out. Let's put it in the library. I updated the issue text.

ineiti

comment created time in 5 days

issue commentc4dt/lightarti-rest

Consensus list contains nodes not accessible via port 443

Yes, but if we're looking for Heisenbugs the arti-directory seems a better place, as it's called regularly.

cgrigis

comment created time in 5 days

push eventc4dt/lightarti-rest

Linus Gasser

commit sha 8b7bf61577d4b33cf67ef5e00b21fbe70b7f827d

Comments from @tharvik and @cgrigis

view details

push time in 5 days

Pull request review commentc4dt/lightarti-rest

Create Makefile for churn

-.PHONY: dirinfo check-password+.PHONY: churn clean clean_auth clean_cache secrets_authority update_cache_churn  AUTH_DIR=authority-private-DIR_CACHE=directory-cache+AUTH_ID=$(AUTH_DIR)/authority_identity_key+AUTH_SIGN=$(AUTH_DIR)/authority_signing_key+AUTH_CERT=$(AUTH_DIR)/certificate.txt+AUTH_AUTH=$(AUTH_DIR)/authority.txt+CACHE_DIR=directory-cache+CACHE_CERT=$(CACHE_DIR)/certificate.txt+CACHE_AUTH=$(CACHE_DIR)/authority.txt+CACHE_CONS=$(CACHE_DIR)/consensus.txt+CACHE_MICRO=$(CACHE_DIR)/microdescriptors.txt -all: dirinfo+all: update_cache -$(AUTH_DIR): pip_install check-password+clean_auth:+	rm -rf $(AUTH_DIR)++authority: pip_install $(AUTH_ID) $(AUTH_SIGN) $(AUTH_CERT) $(AUTH_AUTH)+$(AUTH_ID) $(AUTH_SIGN) $(AUTH_CERT) $(AUTH_AUTH):+ifeq ($(DIR_AUTH_PASSWORD), )+	$(error Environment variable DIR_AUTH_PASSWORD is undefined or invalid.)+endif 	mkdir -p $(AUTH_DIR)-	mkdir -p $(DIR_CACHE) 	./gen_fresh_dirinfo.py generate-certificate \-		--authority-identity-key $(AUTH_DIR)/authority_identity_key \-		--authority-signing-key $(AUTH_DIR)/authority_signing_key \-		--authority-certificate $(DIR_CACHE)/certificate.txt \-		--authority-v3ident $(DIR_CACHE)/authority.txt+		--authority-identity-key $(AUTH_ID) \+		--authority-signing-key $(AUTH_SIGN) \+		--authority-certificate $(AUTH_CERT) \+		--authority-v3ident $(AUTH_AUTH)++clean_cache:+	rm -rf $(CACHE_DIR)++update_cache: clean_cache cache -dirinfo: $(AUTH_DIR)+cache: $(CACHE_CERT) $(CACHE_AUTH) $(CACHE_CONS) $(CACHE_MICRO)+$(CACHE_CERT) $(CACHE_AUTH) $(CACHE_CONS) $(CACHE_MICRO):+	$(MAKE) authority+	mkdir -p $(CACHE_DIR)+	cp $(AUTH_CERT) $(AUTH_AUTH) $(CACHE_DIR) 	./gen_fresh_dirinfo.py generate-dirinfo \-		--authority-signing-key $(AUTH_DIR)/authority_signing_key \-		--authority-certificate $(DIR_CACHE)/certificate.txt \-		--consensus $(DIR_CACHE)/consensus.txt \-		--microdescriptors $(DIR_CACHE)/microdescriptors.txt+		--authority-signing-key $(AUTH_SIGN) \+		--authority-certificate $(CACHE_CERT) \+		--consensus $(CACHE_CONS) \+		--microdescriptors $(CACHE_MICRO) -churn: $(DIR_CACHE)/consensus.txt+churn: cache 	./gen_fresh_dirinfo.py compute-churn \-		--consensus $(DIR_CACHE)/consensus.txt \-		--churn $(DIR_CACHE)/churn.txt+		--consensus $(CACHE_DIR)/consensus.txt \+		--churn $(CACHE_DIR)/churn.txt  pip_install: requirements.txt 	pip3 install -qr requirements.txt

I'm going with the --user here - pyenv itself is yet another dependency, and it seems that pyenv itself copies all binaries in the subdirectory, so you need to add pyenv-virtualenv to have links, yet another dependency...

You will most likely not run this a lot on a user desktop.

ineiti

comment created time in 5 days

PullRequestReviewEvent
PullRequestReviewEvent

Pull request review commentc4dt/lightarti-rest

Create Makefile for churn

-.PHONY: dirinfo check-password+.PHONY: churn clean clean_auth clean_cache secrets_authority update_cache_churn  AUTH_DIR=authority-private-DIR_CACHE=directory-cache+AUTH_ID=$(AUTH_DIR)/authority_identity_key+AUTH_SIGN=$(AUTH_DIR)/authority_signing_key+AUTH_CERT=$(AUTH_DIR)/certificate.txt+AUTH_AUTH=$(AUTH_DIR)/authority.txt+CACHE_DIR=directory-cache+CACHE_CERT=$(CACHE_DIR)/certificate.txt+CACHE_AUTH=$(CACHE_DIR)/authority.txt+CACHE_CONS=$(CACHE_DIR)/consensus.txt+CACHE_MICRO=$(CACHE_DIR)/microdescriptors.txt -all: dirinfo+all: update_cache -$(AUTH_DIR): pip_install check-password+clean_auth:+	rm -rf $(AUTH_DIR)++authority: pip_install $(AUTH_ID) $(AUTH_SIGN) $(AUTH_CERT) $(AUTH_AUTH)+$(AUTH_ID) $(AUTH_SIGN) $(AUTH_CERT) $(AUTH_AUTH):+ifeq ($(DIR_AUTH_PASSWORD), )+	$(error Environment variable DIR_AUTH_PASSWORD is undefined or invalid.)+endif 	mkdir -p $(AUTH_DIR)-	mkdir -p $(DIR_CACHE) 	./gen_fresh_dirinfo.py generate-certificate \-		--authority-identity-key $(AUTH_DIR)/authority_identity_key \-		--authority-signing-key $(AUTH_DIR)/authority_signing_key \-		--authority-certificate $(DIR_CACHE)/certificate.txt \-		--authority-v3ident $(DIR_CACHE)/authority.txt+		--authority-identity-key $(AUTH_ID) \+		--authority-signing-key $(AUTH_SIGN) \+		--authority-certificate $(AUTH_CERT) \+		--authority-v3ident $(AUTH_AUTH)++clean_cache:+	rm -rf $(CACHE_DIR)++update_cache: clean_cache cache -dirinfo: $(AUTH_DIR)+cache: $(CACHE_CERT) $(CACHE_AUTH) $(CACHE_CONS) $(CACHE_MICRO)+$(CACHE_CERT) $(CACHE_AUTH) $(CACHE_CONS) $(CACHE_MICRO):+	$(MAKE) authority

For some reason that doesn't work. If I do that, and clean the CACHE_DIR, it will call this target once for every file. Even with gmake and &:... Didn't understand why, but taking the authority away made it work both for make 3.8.1 and make 4.3.

ineiti

comment created time in 5 days

PullRequestReviewEvent

Pull request review commentc4dt/lightarti-rest

Create Makefile for churn

-.PHONY: dirinfo check-password+.PHONY: churn clean clean_auth clean_cache secrets_authority update_cache_churn  AUTH_DIR=authority-private-DIR_CACHE=directory-cache+AUTH_ID=$(AUTH_DIR)/authority_identity_key+AUTH_SIGN=$(AUTH_DIR)/authority_signing_key+AUTH_CERT=$(AUTH_DIR)/certificate.txt+AUTH_AUTH=$(AUTH_DIR)/authority.txt+CACHE_DIR=directory-cache+CACHE_CERT=$(CACHE_DIR)/certificate.txt+CACHE_AUTH=$(CACHE_DIR)/authority.txt+CACHE_CONS=$(CACHE_DIR)/consensus.txt+CACHE_MICRO=$(CACHE_DIR)/microdescriptors.txt -all: dirinfo+all: update_cache -$(AUTH_DIR): pip_install check-password+clean_auth:+	rm -rf $(AUTH_DIR)++authority: pip_install $(AUTH_ID) $(AUTH_SIGN) $(AUTH_CERT) $(AUTH_AUTH)+$(AUTH_ID) $(AUTH_SIGN) $(AUTH_CERT) $(AUTH_AUTH):+ifeq ($(DIR_AUTH_PASSWORD), )+	$(error Environment variable DIR_AUTH_PASSWORD is undefined or invalid.)+endif 	mkdir -p $(AUTH_DIR)-	mkdir -p $(DIR_CACHE) 	./gen_fresh_dirinfo.py generate-certificate \-		--authority-identity-key $(AUTH_DIR)/authority_identity_key \-		--authority-signing-key $(AUTH_DIR)/authority_signing_key \-		--authority-certificate $(DIR_CACHE)/certificate.txt \-		--authority-v3ident $(DIR_CACHE)/authority.txt+		--authority-identity-key $(AUTH_ID) \+		--authority-signing-key $(AUTH_SIGN) \+		--authority-certificate $(AUTH_CERT) \+		--authority-v3ident $(AUTH_AUTH)++clean_cache:+	rm -rf $(CACHE_DIR)++update_cache: clean_cache cache -dirinfo: $(AUTH_DIR)+cache: $(CACHE_CERT) $(CACHE_AUTH) $(CACHE_CONS) $(CACHE_MICRO)+$(CACHE_CERT) $(CACHE_AUTH) $(CACHE_CONS) $(CACHE_MICRO):+	$(MAKE) authority+	mkdir -p $(CACHE_DIR)+	cp $(AUTH_CERT) $(AUTH_AUTH) $(CACHE_DIR) 	./gen_fresh_dirinfo.py generate-dirinfo \-		--authority-signing-key $(AUTH_DIR)/authority_signing_key \-		--authority-certificate $(DIR_CACHE)/certificate.txt \-		--consensus $(DIR_CACHE)/consensus.txt \-		--microdescriptors $(DIR_CACHE)/microdescriptors.txt+		--authority-signing-key $(AUTH_SIGN) \+		--authority-certificate $(CACHE_CERT) \+		--consensus $(CACHE_CONS) \+		--microdescriptors $(CACHE_MICRO) -churn: $(DIR_CACHE)/consensus.txt+churn: cache 	./gen_fresh_dirinfo.py compute-churn \-		--consensus $(DIR_CACHE)/consensus.txt \-		--churn $(DIR_CACHE)/churn.txt+		--consensus $(CACHE_DIR)/consensus.txt \+		--churn $(CACHE_DIR)/churn.txt  pip_install: requirements.txt 	pip3 install -qr requirements.txt 	touch pip_install -clean:-	rm -rf $(AUTH_DIR) $(DIR_CACHE)--check-password:-ifeq ($(DIR_AUTH_PASSWORD), )-	$(error Environment variable DIR_AUTH_PASSWORD is undefined or invalid.)-endif+clean: clean_cache clean_auth  secrets_authority: $(AUTH_DIR)-	tar cjf auth.tgz $(AUTH_DIR) $(DIR_CACHE)/{certificate.txt,authority.txt}+	tar cjf auth.tgz $(AUTH_DIR) $(CACHE_DIR)/{certificate.txt,authority.txt} 	base64 -i auth.tgz 	rm auth.tgz 	echo $$DIR_AUTH_PASSWORD++# This updates the CACHE_DIR directory:+# - fully every Monday or if the consensus is missing+# - creating a new churn.txt on every day+# It supposes that the+CHURN_WEEK_FILE = $(CACHE_DIR)/churn_week+CHURN_WEEK := $(shell date +%Y_%W)+update_cache_churn: $(CHURN_WEEK_FILE)+	if grep -v $(CHURN_WEEK) $(CHURN_WEEK_FILE); then \+		rm -f $(CACHE_DIR)/*; \+	fi+	if [ $$( date +%w ) = 1 ]; then \

Was hesitating on making a long line...

ineiti

comment created time in 5 days

Pull request review commentc4dt/lightarti-rest

Create Makefile for churn

-.PHONY: dirinfo check-password+.PHONY: churn clean clean_auth clean_cache secrets_authority update_cache_churn  AUTH_DIR=authority-private-DIR_CACHE=directory-cache+AUTH_ID=$(AUTH_DIR)/authority_identity_key+AUTH_SIGN=$(AUTH_DIR)/authority_signing_key+AUTH_CERT=$(AUTH_DIR)/certificate.txt+AUTH_AUTH=$(AUTH_DIR)/authority.txt+CACHE_DIR=directory-cache+CACHE_CERT=$(CACHE_DIR)/certificate.txt+CACHE_AUTH=$(CACHE_DIR)/authority.txt+CACHE_CONS=$(CACHE_DIR)/consensus.txt+CACHE_MICRO=$(CACHE_DIR)/microdescriptors.txt -all: dirinfo+all: update_cache -$(AUTH_DIR): pip_install check-password+clean_auth:+	rm -rf $(AUTH_DIR)++authority: pip_install $(AUTH_ID) $(AUTH_SIGN) $(AUTH_CERT) $(AUTH_AUTH)+$(AUTH_ID) $(AUTH_SIGN) $(AUTH_CERT) $(AUTH_AUTH):+ifeq ($(DIR_AUTH_PASSWORD), )+	$(error Environment variable DIR_AUTH_PASSWORD is undefined or invalid.)+endif 	mkdir -p $(AUTH_DIR)-	mkdir -p $(DIR_CACHE) 	./gen_fresh_dirinfo.py generate-certificate \-		--authority-identity-key $(AUTH_DIR)/authority_identity_key \-		--authority-signing-key $(AUTH_DIR)/authority_signing_key \-		--authority-certificate $(DIR_CACHE)/certificate.txt \-		--authority-v3ident $(DIR_CACHE)/authority.txt+		--authority-identity-key $(AUTH_ID) \+		--authority-signing-key $(AUTH_SIGN) \+		--authority-certificate $(AUTH_CERT) \+		--authority-v3ident $(AUTH_AUTH)++clean_cache:+	rm -rf $(CACHE_DIR)++update_cache: clean_cache cache -dirinfo: $(AUTH_DIR)+cache: $(CACHE_CERT) $(CACHE_AUTH) $(CACHE_CONS) $(CACHE_MICRO)+$(CACHE_CERT) $(CACHE_AUTH) $(CACHE_CONS) $(CACHE_MICRO):+	$(MAKE) authority+	mkdir -p $(CACHE_DIR)+	cp $(AUTH_CERT) $(AUTH_AUTH) $(CACHE_DIR) 	./gen_fresh_dirinfo.py generate-dirinfo \-		--authority-signing-key $(AUTH_DIR)/authority_signing_key \-		--authority-certificate $(DIR_CACHE)/certificate.txt \-		--consensus $(DIR_CACHE)/consensus.txt \-		--microdescriptors $(DIR_CACHE)/microdescriptors.txt+		--authority-signing-key $(AUTH_SIGN) \+		--authority-certificate $(CACHE_CERT) \+		--consensus $(CACHE_CONS) \+		--microdescriptors $(CACHE_MICRO) -churn: $(DIR_CACHE)/consensus.txt+churn: cache 	./gen_fresh_dirinfo.py compute-churn \-		--consensus $(DIR_CACHE)/consensus.txt \-		--churn $(DIR_CACHE)/churn.txt+		--consensus $(CACHE_DIR)/consensus.txt \+		--churn $(CACHE_DIR)/churn.txt  pip_install: requirements.txt 	pip3 install -qr requirements.txt

Hmm - it will mostly be called by lightarti-directory, but somebody else might want to run it on their own servers...

ineiti

comment created time in 5 days

PullRequestReviewEvent
PullRequestReviewEvent

push eventc4dt/lightarti-rest

Linus Gasser

commit sha 23e871772d0c1707df6ee04cc7acc81616ec2a19

Create Makefile for churn Put the churn update in the Makefile. As this required more previsible behavior of the certificate and cache, most of the Makefile has been rewritten.

view details

push time in 5 days

push eventc4dt/lightarti-directory

Linus Gasser

commit sha e34683637e04493fce8878025fab6a7bf99d870d

Adding call to update churn file

view details

push time in 6 days

push eventc4dt/lightarti-directory

Linus Gasser

commit sha 477dd417751dc0549bdf20a8dd1004ee06b5f5b6

Adding call to update churn file

view details

push time in 6 days

push eventc4dt/lightarti-directory

Linus Gasser

commit sha 8f9b326a1f8efc97d18cc1a9766eb28e024651e3

Adding call to update churn file

view details

push time in 6 days

push eventc4dt/lightarti-rest

Linus Gasser

commit sha 0abeb02e77b642abd1a85a206d1ef6b56730e5a0

Create Makefile for churn Put the churn update in the Makefile. As this required more previsible behavior of the certificate and cache, most of the Makefile has been rewritten.

view details

push time in 6 days

push eventc4dt/lightarti-rest

Linus Gasser

commit sha 9437c98353434603382a43b3c2b98af44746d652

Create Makefile for churn Put the churn update in the Makefile. As this required more previsible behavior of the certificate and cache, most of the Makefile has been rewritten.

view details

push time in 6 days

push eventc4dt/lightarti-rest

Linus Gasser

commit sha ba924a9e84b7e883e192b10fd430bdba5831cb64

Create Makefile for churn Put the churn update in the Makefile. As this required more previsible behavior of the certificate and cache, most of the Makefile has been rewritten.

view details

push time in 6 days

push eventc4dt/lightarti-rest

Linus Gasser

commit sha 47f4534490ee2199ee7e64f7d7daf3be231cb98d

Create Makefile for churn Put the churn update in the Makefile. As this required more previsible behavior of the certificate and cache, most of the Makefile has been rewritten.

view details

push time in 6 days

PR opened c4dt/lightarti-directory

Adding call to update churn file

Depends on c4dt/lightarti-rest#79

Closes c4dt/lightarti-directory#4

+11 -2

0 comment

1 changed file

pr created time in 6 days

push eventc4dt/lightarti-rest

Linus Gasser

commit sha 95ac5b5f308dbc15441091899018a59d91c7e514

Create Makefile for churn Put the churn update in the Makefile. As this required more previsible behavior of the certificate and cache, most of the Makefile has been rewritten.

view details

push time in 6 days