forked from Plemya-x/alr-repo
		
	name='gitea'
version='1.22.1' release='1'
This commit is contained in:
		
							
								
								
									
										73
									
								
								gitea/alr.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								gitea/alr.sh
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,73 @@ | |||||||
|  | name='gitea' | ||||||
|  | version='1.22.1' | ||||||
|  | release='1' | ||||||
|  | desc='Painless self-hosted Git service, community managed.' | ||||||
|  | homepage='https://gitea.io' | ||||||
|  | maintainer="Евгений Храмов <xpamych@yandex.ru>" | ||||||
|  | architectures=('amd64') | ||||||
|  | license=('MIT') | ||||||
|  | provides=('gitea') | ||||||
|  | conflicts=('gitea' 'gitea-git') | ||||||
|  |  | ||||||
|  | deps=( | ||||||
|  |   'git' | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | build_deps=( | ||||||
|  |   'go' | ||||||
|  |   'nodejs' | ||||||
|  |   'npm' | ||||||
|  |   'poetry' | ||||||
|  |   'openssh' | ||||||
|  |   'pam-devel' | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | opt_deps=( | ||||||
|  |   'mariadb: поддержка MariaDB' | ||||||
|  |   'memcached: поддержка MemCached' | ||||||
|  |   'openssh: поддержка GIT поверх SSH' | ||||||
|  |   'pam: поддержка аутентификации с помощью PAM' | ||||||
|  |   'postgresql: поддержка PostgreSQL' | ||||||
|  |   'redis: поддержка Redis' | ||||||
|  |   'sqlite: поддержка SQLite' | ||||||
|  | ) | ||||||
|  |  | ||||||
|  | sources=("git+https://github.com/go-gitea/gitea.git#tag=v${version}") | ||||||
|  | checksums=('SKIP') | ||||||
|  |  | ||||||
|  | options=(!lto) | ||||||
|  | backup=('etc/gitea/app.ini') | ||||||
|  |  | ||||||
|  | prepare() { | ||||||
|  |   cd ${name} | ||||||
|  |   # Patch to disable failing tests that rely on weak ssh keys (DSA-1024) | ||||||
|  |   # See https://github.com/go-gitea/gitea/issues/31624 | ||||||
|  |   patch -Np1 < "${scriptdir}/disable_failing_tests.patch" | ||||||
|  |   make deps | ||||||
|  | } | ||||||
|  |  | ||||||
|  | build() { | ||||||
|  |   cd ${name} | ||||||
|  |   export CGO_CPPFLAGS="${CPPFLAGS}" | ||||||
|  |   export CGO_CFLAGS="${CFLAGS}" | ||||||
|  |   export CGO_CXXFLAGS="${CXXFLAGS}" | ||||||
|  |   export CGO_LDFLAGS="${LDFLAGS}" | ||||||
|  |   export EXTRA_GOFLAGS="-buildmode=pie -mod=readonly -modcacherw" | ||||||
|  |   export LDFLAGS="-linkmode=external -compressdwarf=false -X 'code.gitea.io/gitea/modules/setting.AppWorkPath=/var/lib/gitea/' -X 'code.gitea.io/gitea/modules/setting.CustomConf=/etc/gitea/app.ini'" | ||||||
|  |   export TAGS="bindata sqlite sqlite_unlock_notify pam" | ||||||
|  |   make -j1 | ||||||
|  | } | ||||||
|  |  | ||||||
|  | check() { | ||||||
|  |   cd ${name} | ||||||
|  |   make test | ||||||
|  | } | ||||||
|  |  | ||||||
|  | package() { | ||||||
|  |   install-binary ${name}/${name} | ||||||
|  |   install-license ${name}/LICENSE ./$name/LICENSE | ||||||
|  |   install-systemd ${name}.service | ||||||
|  |   install -Dm644 ${scriptdir}/${name}.tmpfiles "${pkgdir}"/usr/lib/tmpfiles.d/${name}.conf | ||||||
|  |   install -Dm644 ${scriptdir}/${name}.sysusers "${pkgdir}"/usr/lib/sysusers.d/${name}.conf | ||||||
|  |   install -Dm644 ${name}/custom/conf/app.example.ini "${pkgdir}"/etc/gitea/app.ini | ||||||
|  | } | ||||||
							
								
								
									
										186
									
								
								gitea/disable_failing_tests.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										186
									
								
								gitea/disable_failing_tests.patch
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,186 @@ | |||||||
|  | diff --git a/models/asymkey/ssh_key_test.go b/models/asymkey/ssh_key_test.go | ||||||
|  | index d3e886b97f..1243e31552 100644 | ||||||
|  | --- a/models/asymkey/ssh_key_test.go | ||||||
|  | +++ b/models/asymkey/ssh_key_test.go | ||||||
|  | @@ -18,56 +18,56 @@ import ( | ||||||
|  |  	"github.com/stretchr/testify/assert" | ||||||
|  |  ) | ||||||
|  |  | ||||||
|  | -func Test_SSHParsePublicKey(t *testing.T) { | ||||||
|  | -	testCases := []struct { | ||||||
|  | -		name          string | ||||||
|  | -		skipSSHKeygen bool | ||||||
|  | -		keyType       string | ||||||
|  | -		length        int | ||||||
|  | -		content       string | ||||||
|  | -	}{ | ||||||
|  | -		{"dsa-1024", false, "dsa", 1024, "ssh-dss AAAAB3NzaC1kc3MAAACBAOChCC7lf6Uo9n7BmZ6M8St19PZf4Tn59NriyboW2x/DZuYAz3ibZ2OkQ3S0SqDIa0HXSEJ1zaExQdmbO+Ux/wsytWZmCczWOVsaszBZSl90q8UnWlSH6P+/YA+RWJm5SFtuV9PtGIhyZgoNuz5kBQ7K139wuQsecdKktISwTakzAAAAFQCzKsO2JhNKlL+wwwLGOcLffoAmkwAAAIBpK7/3xvduajLBD/9vASqBQIHrgK2J+wiQnIb/Wzy0UsVmvfn8A+udRbBo+csM8xrSnlnlJnjkJS3qiM5g+eTwsLIV1IdKPEwmwB+VcP53Cw6lSyWyJcvhFb0N6s08NZysLzvj0N+ZC/FnhKTLzIyMtkHf/IrPCwlM+pV/M/96YgAAAIEAqQcGn9CKgzgPaguIZooTAOQdvBLMI5y0bQjOW6734XOpqQGf/Kra90wpoasLKZjSYKNPjE+FRUOrStLrxcNs4BeVKhy2PYTRnybfYVk1/dmKgH6P1YSRONsGKvTsH6c5IyCRG0ncCgYeF8tXppyd642982daopE7zQ/NPAnJfag= nocomment"}, | ||||||
|  | -		{"rsa-1024", false, "rsa", 1024, "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDAu7tvIvX6ZHrRXuZNfkR3XLHSsuCK9Zn3X58lxBcQzuo5xZgB6vRwwm/QtJuF+zZPtY5hsQILBLmF+BZ5WpKZp1jBeSjH2G7lxet9kbcH+kIVj0tPFEoyKI9wvWqIwC4prx/WVk2wLTJjzBAhyNxfEq7C9CeiX9pQEbEqJfkKCQ== nocomment\n"}, | ||||||
|  | -		{"rsa-2048", false, "rsa", 2048, "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMZXh+1OBUwSH9D45wTaxErQIN9IoC9xl7MKJkqvTvv6O5RR9YW/IK9FbfjXgXsppYGhsCZo1hFOOsXHMnfOORqu/xMDx4yPuyvKpw4LePEcg4TDipaDFuxbWOqc/BUZRZcXu41QAWfDLrInwsltWZHSeG7hjhpacl4FrVv9V1pS6Oc5Q1NxxEzTzuNLS/8diZrTm/YAQQ/+B+mzWI3zEtF4miZjjAljWd1LTBPvU23d29DcBmmFahcZ441XZsTeAwGxG/Q6j8NgNXj9WxMeWwxXV2jeAX/EBSpZrCVlCQ1yJswT6xCp8TuBnTiGWYMBNTbOZvPC4e0WI2/yZW/s5F nocomment"}, | ||||||
|  | -		{"ecdsa-256", false, "ecdsa", 256, "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFQacN3PrOll7PXmN5B/ZNVahiUIqI05nbBlZk1KXsO3d06ktAWqbNflv2vEmA38bTFTfJ2sbn2B5ksT52cDDbA= nocomment"}, | ||||||
|  | -		{"ecdsa-384", false, "ecdsa", 384, "ecdsa-sha2-nistp384 AAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlzdHAzODQAAABhBINmioV+XRX1Fm9Qk2ehHXJ2tfVxW30ypUWZw670Zyq5GQfBAH6xjygRsJ5wWsHXBsGYgFUXIHvMKVAG1tpw7s6ax9oA+dJOJ7tj+vhn8joFqT+sg3LYHgZkHrfqryRasQ== nocomment"}, | ||||||
|  | -		{"ecdsa-sk", true, "ecdsa-sk", 256, "sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBGXEEzWmm1dxb+57RoK5KVCL0w2eNv9cqJX2AGGVlkFsVDhOXHzsadS3LTK4VlEbbrDMJdoti9yM8vclA8IeRacAAAAEc3NoOg== nocomment"}, | ||||||
|  | -		{"ed25519-sk", true, "ed25519-sk", 256, "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIE7kM1R02+4ertDKGKEDcKG0s+2vyDDcIvceJ0Gqv5f1AAAABHNzaDo= nocomment"}, | ||||||
|  | -	} | ||||||
|  | - | ||||||
|  | -	for _, tc := range testCases { | ||||||
|  | -		t.Run(tc.name, func(t *testing.T) { | ||||||
|  | -			t.Run("Native", func(t *testing.T) { | ||||||
|  | -				keyTypeN, lengthN, err := SSHNativeParsePublicKey(tc.content) | ||||||
|  | -				assert.NoError(t, err) | ||||||
|  | -				assert.Equal(t, tc.keyType, keyTypeN) | ||||||
|  | -				assert.EqualValues(t, tc.length, lengthN) | ||||||
|  | -			}) | ||||||
|  | -			if tc.skipSSHKeygen { | ||||||
|  | -				return | ||||||
|  | -			} | ||||||
|  | -			t.Run("SSHKeygen", func(t *testing.T) { | ||||||
|  | -				keyTypeK, lengthK, err := SSHKeyGenParsePublicKey(tc.content) | ||||||
|  | -				if err != nil { | ||||||
|  | -					// Some servers do not support ecdsa format. | ||||||
|  | -					if !strings.Contains(err.Error(), "line 1 too long:") { | ||||||
|  | -						assert.FailNow(t, "%v", err) | ||||||
|  | -					} | ||||||
|  | -				} | ||||||
|  | -				assert.Equal(t, tc.keyType, keyTypeK) | ||||||
|  | -				assert.EqualValues(t, tc.length, lengthK) | ||||||
|  | -			}) | ||||||
|  | -			t.Run("SSHParseKeyNative", func(t *testing.T) { | ||||||
|  | -				keyTypeK, lengthK, err := SSHNativeParsePublicKey(tc.content) | ||||||
|  | -				if err != nil { | ||||||
|  | -					assert.FailNow(t, "%v", err) | ||||||
|  | -				} | ||||||
|  | -				assert.Equal(t, tc.keyType, keyTypeK) | ||||||
|  | -				assert.EqualValues(t, tc.length, lengthK) | ||||||
|  | -			}) | ||||||
|  | -		}) | ||||||
|  | -	} | ||||||
|  | -} | ||||||
|  | +//func Test_SSHParsePublicKey(t *testing.T) { | ||||||
|  | +//	testCases := []struct { | ||||||
|  | +//		name          string | ||||||
|  | +//		skipSSHKeygen bool | ||||||
|  | +//		keyType       string | ||||||
|  | +//		length        int | ||||||
|  | +//		content       string | ||||||
|  | +//	}{ | ||||||
|  | +//		{"dsa-1024", false, "dsa", 1024, "ssh-dss AAAAB3NzaC1kc3MAAACBAOChCC7lf6Uo9n7BmZ6M8St19PZf4Tn59NriyboW2x/DZuYAz3ibZ2OkQ3S0SqDIa0HXSEJ1zaExQdmbO+Ux/wsytWZmCczWOVsaszBZSl90q8UnWlSH6P+/YA+RWJm5SFtuV9PtGIhyZgoNuz5kBQ7K139wuQsecdKktISwTakzAAAAFQCzKsO2JhNKlL+wwwLGOcLffoAmkwAAAIBpK7/3xvduajLBD/9vASqBQIHrgK2J+wiQnIb/Wzy0UsVmvfn8A+udRbBo+csM8xrSnlnlJnjkJS3qiM5g+eTwsLIV1IdKPEwmwB+VcP53Cw6lSyWyJcvhFb0N6s08NZysLzvj0N+ZC/FnhKTLzIyMtkHf/IrPCwlM+pV/M/96YgAAAIEAqQcGn9CKgzgPaguIZooTAOQdvBLMI5y0bQjOW6734XOpqQGf/Kra90wpoasLKZjSYKNPjE+FRUOrStLrxcNs4BeVKhy2PYTRnybfYVk1/dmKgH6P1YSRONsGKvTsH6c5IyCRG0ncCgYeF8tXppyd642982daopE7zQ/NPAnJfag= nocomment"}, | ||||||
|  | +//		{"rsa-1024", false, "rsa", 1024, "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDAu7tvIvX6ZHrRXuZNfkR3XLHSsuCK9Zn3X58lxBcQzuo5xZgB6vRwwm/QtJuF+zZPtY5hsQILBLmF+BZ5WpKZp1jBeSjH2G7lxet9kbcH+kIVj0tPFEoyKI9wvWqIwC4prx/WVk2wLTJjzBAhyNxfEq7C9CeiX9pQEbEqJfkKCQ== nocomment\n"}, | ||||||
|  | +//		{"rsa-2048", false, "rsa", 2048, "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMZXh+1OBUwSH9D45wTaxErQIN9IoC9xl7MKJkqvTvv6O5RR9YW/IK9FbfjXgXsppYGhsCZo1hFOOsXHMnfOORqu/xMDx4yPuyvKpw4LePEcg4TDipaDFuxbWOqc/BUZRZcXu41QAWfDLrInwsltWZHSeG7hjhpacl4FrVv9V1pS6Oc5Q1NxxEzTzuNLS/8diZrTm/YAQQ/+B+mzWI3zEtF4miZjjAljWd1LTBPvU23d29DcBmmFahcZ441XZsTeAwGxG/Q6j8NgNXj9WxMeWwxXV2jeAX/EBSpZrCVlCQ1yJswT6xCp8TuBnTiGWYMBNTbOZvPC4e0WI2/yZW/s5F nocomment"}, | ||||||
|  | +//		{"ecdsa-256", false, "ecdsa", 256, "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFQacN3PrOll7PXmN5B/ZNVahiUIqI05nbBlZk1KXsO3d06ktAWqbNflv2vEmA38bTFTfJ2sbn2B5ksT52cDDbA= nocomment"}, | ||||||
|  | +//		{"ecdsa-384", false, "ecdsa", 384, "ecdsa-sha2-nistp384 AAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlzdHAzODQAAABhBINmioV+XRX1Fm9Qk2ehHXJ2tfVxW30ypUWZw670Zyq5GQfBAH6xjygRsJ5wWsHXBsGYgFUXIHvMKVAG1tpw7s6ax9oA+dJOJ7tj+vhn8joFqT+sg3LYHgZkHrfqryRasQ== nocomment"}, | ||||||
|  | +//		{"ecdsa-sk", true, "ecdsa-sk", 256, "sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBGXEEzWmm1dxb+57RoK5KVCL0w2eNv9cqJX2AGGVlkFsVDhOXHzsadS3LTK4VlEbbrDMJdoti9yM8vclA8IeRacAAAAEc3NoOg== nocomment"}, | ||||||
|  | +//		{"ed25519-sk", true, "ed25519-sk", 256, "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIE7kM1R02+4ertDKGKEDcKG0s+2vyDDcIvceJ0Gqv5f1AAAABHNzaDo= nocomment"}, | ||||||
|  | +//	} | ||||||
|  | +// | ||||||
|  | +//	for _, tc := range testCases { | ||||||
|  | +//		t.Run(tc.name, func(t *testing.T) { | ||||||
|  | +//			t.Run("Native", func(t *testing.T) { | ||||||
|  | +//				keyTypeN, lengthN, err := SSHNativeParsePublicKey(tc.content) | ||||||
|  | +//				assert.NoError(t, err) | ||||||
|  | +//				assert.Equal(t, tc.keyType, keyTypeN) | ||||||
|  | +//				assert.EqualValues(t, tc.length, lengthN) | ||||||
|  | +//			}) | ||||||
|  | +//			if tc.skipSSHKeygen { | ||||||
|  | +//				return | ||||||
|  | +//			} | ||||||
|  | +//			t.Run("SSHKeygen", func(t *testing.T) { | ||||||
|  | +//				keyTypeK, lengthK, err := SSHKeyGenParsePublicKey(tc.content) | ||||||
|  | +//				if err != nil { | ||||||
|  | +//					// Some servers do not support ecdsa format. | ||||||
|  | +//					if !strings.Contains(err.Error(), "line 1 too long:") { | ||||||
|  | +//						assert.FailNow(t, "%v", err) | ||||||
|  | +//					} | ||||||
|  | +//				} | ||||||
|  | +//				assert.Equal(t, tc.keyType, keyTypeK) | ||||||
|  | +//				assert.EqualValues(t, tc.length, lengthK) | ||||||
|  | +//			}) | ||||||
|  | +//			t.Run("SSHParseKeyNative", func(t *testing.T) { | ||||||
|  | +//				keyTypeK, lengthK, err := SSHNativeParsePublicKey(tc.content) | ||||||
|  | +//				if err != nil { | ||||||
|  | +//					assert.FailNow(t, "%v", err) | ||||||
|  | +//				} | ||||||
|  | +//				assert.Equal(t, tc.keyType, keyTypeK) | ||||||
|  | +//				assert.EqualValues(t, tc.length, lengthK) | ||||||
|  | +//			}) | ||||||
|  | +//		}) | ||||||
|  | +//	} | ||||||
|  | +//} | ||||||
|  |  | ||||||
|  |  func Test_CheckPublicKeyString(t *testing.T) { | ||||||
|  |  	oldValue := setting.SSH.MinimumKeySizeCheck | ||||||
|  | @@ -163,40 +163,40 @@ AAAAC3NzaC1lZDI1NTE5AAAAICV0MGX/W9IvLA4FXpIuUcdDcbj5KX4syHgsTy7soVgf | ||||||
|  |  	} | ||||||
|  |  } | ||||||
|  |  | ||||||
|  | -func Test_calcFingerprint(t *testing.T) { | ||||||
|  | -	testCases := []struct { | ||||||
|  | -		name          string | ||||||
|  | -		skipSSHKeygen bool | ||||||
|  | -		fp            string | ||||||
|  | -		content       string | ||||||
|  | -	}{ | ||||||
|  | -		{"dsa-1024", false, "SHA256:fSIHQlpKMDsGPVAXI8BPYfRp+e2sfvSt1sMrPsFiXrc", "ssh-dss AAAAB3NzaC1kc3MAAACBAOChCC7lf6Uo9n7BmZ6M8St19PZf4Tn59NriyboW2x/DZuYAz3ibZ2OkQ3S0SqDIa0HXSEJ1zaExQdmbO+Ux/wsytWZmCczWOVsaszBZSl90q8UnWlSH6P+/YA+RWJm5SFtuV9PtGIhyZgoNuz5kBQ7K139wuQsecdKktISwTakzAAAAFQCzKsO2JhNKlL+wwwLGOcLffoAmkwAAAIBpK7/3xvduajLBD/9vASqBQIHrgK2J+wiQnIb/Wzy0UsVmvfn8A+udRbBo+csM8xrSnlnlJnjkJS3qiM5g+eTwsLIV1IdKPEwmwB+VcP53Cw6lSyWyJcvhFb0N6s08NZysLzvj0N+ZC/FnhKTLzIyMtkHf/IrPCwlM+pV/M/96YgAAAIEAqQcGn9CKgzgPaguIZooTAOQdvBLMI5y0bQjOW6734XOpqQGf/Kra90wpoasLKZjSYKNPjE+FRUOrStLrxcNs4BeVKhy2PYTRnybfYVk1/dmKgH6P1YSRONsGKvTsH6c5IyCRG0ncCgYeF8tXppyd642982daopE7zQ/NPAnJfag= nocomment"}, | ||||||
|  | -		{"rsa-1024", false, "SHA256:vSnDkvRh/xM6kMxPidLgrUhq3mCN7CDaronCEm2joyQ", "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDAu7tvIvX6ZHrRXuZNfkR3XLHSsuCK9Zn3X58lxBcQzuo5xZgB6vRwwm/QtJuF+zZPtY5hsQILBLmF+BZ5WpKZp1jBeSjH2G7lxet9kbcH+kIVj0tPFEoyKI9wvWqIwC4prx/WVk2wLTJjzBAhyNxfEq7C9CeiX9pQEbEqJfkKCQ== nocomment\n"}, | ||||||
|  | -		{"rsa-2048", false, "SHA256:ZHD//a1b9VuTq9XSunAeYjKeU1xDa2tBFZYrFr2Okkg", "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMZXh+1OBUwSH9D45wTaxErQIN9IoC9xl7MKJkqvTvv6O5RR9YW/IK9FbfjXgXsppYGhsCZo1hFOOsXHMnfOORqu/xMDx4yPuyvKpw4LePEcg4TDipaDFuxbWOqc/BUZRZcXu41QAWfDLrInwsltWZHSeG7hjhpacl4FrVv9V1pS6Oc5Q1NxxEzTzuNLS/8diZrTm/YAQQ/+B+mzWI3zEtF4miZjjAljWd1LTBPvU23d29DcBmmFahcZ441XZsTeAwGxG/Q6j8NgNXj9WxMeWwxXV2jeAX/EBSpZrCVlCQ1yJswT6xCp8TuBnTiGWYMBNTbOZvPC4e0WI2/yZW/s5F nocomment"}, | ||||||
|  | -		{"ecdsa-256", false, "SHA256:Bqx/xgWqRKLtkZ0Lr4iZpgb+5lYsFpSwXwVZbPwuTRw", "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFQacN3PrOll7PXmN5B/ZNVahiUIqI05nbBlZk1KXsO3d06ktAWqbNflv2vEmA38bTFTfJ2sbn2B5ksT52cDDbA= nocomment"}, | ||||||
|  | -		{"ecdsa-384", false, "SHA256:4qfJOgJDtUd8BrEjyVNdI8IgjiZKouztVde43aDhe1E", "ecdsa-sha2-nistp384 AAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlzdHAzODQAAABhBINmioV+XRX1Fm9Qk2ehHXJ2tfVxW30ypUWZw670Zyq5GQfBAH6xjygRsJ5wWsHXBsGYgFUXIHvMKVAG1tpw7s6ax9oA+dJOJ7tj+vhn8joFqT+sg3LYHgZkHrfqryRasQ== nocomment"}, | ||||||
|  | -		{"ecdsa-sk", true, "SHA256:4wcIu4z+53gHc+db85OPfy8IydyNzPLCr6kHIs625LQ", "sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBGXEEzWmm1dxb+57RoK5KVCL0w2eNv9cqJX2AGGVlkFsVDhOXHzsadS3LTK4VlEbbrDMJdoti9yM8vclA8IeRacAAAAEc3NoOg== nocomment"}, | ||||||
|  | -		{"ed25519-sk", true, "SHA256:RB4ku1OeWKN7fLMrjxz38DK0mp1BnOPBx4BItjTvJ0g", "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIE7kM1R02+4ertDKGKEDcKG0s+2vyDDcIvceJ0Gqv5f1AAAABHNzaDo= nocomment"}, | ||||||
|  | -	} | ||||||
|  | - | ||||||
|  | -	for _, tc := range testCases { | ||||||
|  | -		t.Run(tc.name, func(t *testing.T) { | ||||||
|  | -			t.Run("Native", func(t *testing.T) { | ||||||
|  | -				fpN, err := calcFingerprintNative(tc.content) | ||||||
|  | -				assert.NoError(t, err) | ||||||
|  | -				assert.Equal(t, tc.fp, fpN) | ||||||
|  | -			}) | ||||||
|  | -			if tc.skipSSHKeygen { | ||||||
|  | -				return | ||||||
|  | -			} | ||||||
|  | -			t.Run("SSHKeygen", func(t *testing.T) { | ||||||
|  | -				fpK, err := calcFingerprintSSHKeygen(tc.content) | ||||||
|  | -				assert.NoError(t, err) | ||||||
|  | -				assert.Equal(t, tc.fp, fpK) | ||||||
|  | -			}) | ||||||
|  | -		}) | ||||||
|  | -	} | ||||||
|  | -} | ||||||
|  | +//func Test_calcFingerprint(t *testing.T) { | ||||||
|  | +//	testCases := []struct { | ||||||
|  | +//		name          string | ||||||
|  | +//		skipSSHKeygen bool | ||||||
|  | +//		fp            string | ||||||
|  | +//		content       string | ||||||
|  | +//	}{ | ||||||
|  | +//		{"dsa-1024", false, "SHA256:fSIHQlpKMDsGPVAXI8BPYfRp+e2sfvSt1sMrPsFiXrc", "ssh-dss AAAAB3NzaC1kc3MAAACBAOChCC7lf6Uo9n7BmZ6M8St19PZf4Tn59NriyboW2x/DZuYAz3ibZ2OkQ3S0SqDIa0HXSEJ1zaExQdmbO+Ux/wsytWZmCczWOVsaszBZSl90q8UnWlSH6P+/YA+RWJm5SFtuV9PtGIhyZgoNuz5kBQ7K139wuQsecdKktISwTakzAAAAFQCzKsO2JhNKlL+wwwLGOcLffoAmkwAAAIBpK7/3xvduajLBD/9vASqBQIHrgK2J+wiQnIb/Wzy0UsVmvfn8A+udRbBo+csM8xrSnlnlJnjkJS3qiM5g+eTwsLIV1IdKPEwmwB+VcP53Cw6lSyWyJcvhFb0N6s08NZysLzvj0N+ZC/FnhKTLzIyMtkHf/IrPCwlM+pV/M/96YgAAAIEAqQcGn9CKgzgPaguIZooTAOQdvBLMI5y0bQjOW6734XOpqQGf/Kra90wpoasLKZjSYKNPjE+FRUOrStLrxcNs4BeVKhy2PYTRnybfYVk1/dmKgH6P1YSRONsGKvTsH6c5IyCRG0ncCgYeF8tXppyd642982daopE7zQ/NPAnJfag= nocomment"}, | ||||||
|  | +//		{"rsa-1024", false, "SHA256:vSnDkvRh/xM6kMxPidLgrUhq3mCN7CDaronCEm2joyQ", "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDAu7tvIvX6ZHrRXuZNfkR3XLHSsuCK9Zn3X58lxBcQzuo5xZgB6vRwwm/QtJuF+zZPtY5hsQILBLmF+BZ5WpKZp1jBeSjH2G7lxet9kbcH+kIVj0tPFEoyKI9wvWqIwC4prx/WVk2wLTJjzBAhyNxfEq7C9CeiX9pQEbEqJfkKCQ== nocomment\n"}, | ||||||
|  | +//		{"rsa-2048", false, "SHA256:ZHD//a1b9VuTq9XSunAeYjKeU1xDa2tBFZYrFr2Okkg", "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDMZXh+1OBUwSH9D45wTaxErQIN9IoC9xl7MKJkqvTvv6O5RR9YW/IK9FbfjXgXsppYGhsCZo1hFOOsXHMnfOORqu/xMDx4yPuyvKpw4LePEcg4TDipaDFuxbWOqc/BUZRZcXu41QAWfDLrInwsltWZHSeG7hjhpacl4FrVv9V1pS6Oc5Q1NxxEzTzuNLS/8diZrTm/YAQQ/+B+mzWI3zEtF4miZjjAljWd1LTBPvU23d29DcBmmFahcZ441XZsTeAwGxG/Q6j8NgNXj9WxMeWwxXV2jeAX/EBSpZrCVlCQ1yJswT6xCp8TuBnTiGWYMBNTbOZvPC4e0WI2/yZW/s5F nocomment"}, | ||||||
|  | +//		{"ecdsa-256", false, "SHA256:Bqx/xgWqRKLtkZ0Lr4iZpgb+5lYsFpSwXwVZbPwuTRw", "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFQacN3PrOll7PXmN5B/ZNVahiUIqI05nbBlZk1KXsO3d06ktAWqbNflv2vEmA38bTFTfJ2sbn2B5ksT52cDDbA= nocomment"}, | ||||||
|  | +//		{"ecdsa-384", false, "SHA256:4qfJOgJDtUd8BrEjyVNdI8IgjiZKouztVde43aDhe1E", "ecdsa-sha2-nistp384 AAAAE2VjZHNhLXNoYTItbmlzdHAzODQAAAAIbmlzdHAzODQAAABhBINmioV+XRX1Fm9Qk2ehHXJ2tfVxW30ypUWZw670Zyq5GQfBAH6xjygRsJ5wWsHXBsGYgFUXIHvMKVAG1tpw7s6ax9oA+dJOJ7tj+vhn8joFqT+sg3LYHgZkHrfqryRasQ== nocomment"}, | ||||||
|  | +//		{"ecdsa-sk", true, "SHA256:4wcIu4z+53gHc+db85OPfy8IydyNzPLCr6kHIs625LQ", "sk-ecdsa-sha2-nistp256@openssh.com AAAAInNrLWVjZHNhLXNoYTItbmlzdHAyNTZAb3BlbnNzaC5jb20AAAAIbmlzdHAyNTYAAABBBGXEEzWmm1dxb+57RoK5KVCL0w2eNv9cqJX2AGGVlkFsVDhOXHzsadS3LTK4VlEbbrDMJdoti9yM8vclA8IeRacAAAAEc3NoOg== nocomment"}, | ||||||
|  | +//		{"ed25519-sk", true, "SHA256:RB4ku1OeWKN7fLMrjxz38DK0mp1BnOPBx4BItjTvJ0g", "sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIE7kM1R02+4ertDKGKEDcKG0s+2vyDDcIvceJ0Gqv5f1AAAABHNzaDo= nocomment"}, | ||||||
|  | +//	} | ||||||
|  | +// | ||||||
|  | +//	for _, tc := range testCases { | ||||||
|  | +//		t.Run(tc.name, func(t *testing.T) { | ||||||
|  | +//			t.Run("Native", func(t *testing.T) { | ||||||
|  | +//				fpN, err := calcFingerprintNative(tc.content) | ||||||
|  | +//				assert.NoError(t, err) | ||||||
|  | +//				assert.Equal(t, tc.fp, fpN) | ||||||
|  | +//			}) | ||||||
|  | +//			if tc.skipSSHKeygen { | ||||||
|  | +//				return | ||||||
|  | +//			} | ||||||
|  | +//			t.Run("SSHKeygen", func(t *testing.T) { | ||||||
|  | +//				fpK, err := calcFingerprintSSHKeygen(tc.content) | ||||||
|  | +//				assert.NoError(t, err) | ||||||
|  | +//				assert.Equal(t, tc.fp, fpK) | ||||||
|  | +//			}) | ||||||
|  | +//		}) | ||||||
|  | +//	} | ||||||
|  | +//} | ||||||
|  |  | ||||||
|  |  var ( | ||||||
|  |  	// Generated with "ssh-keygen -C test@rekor.dev -f id_rsa" | ||||||
							
								
								
									
										50
									
								
								gitea/gitea.service
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								gitea/gitea.service
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,50 @@ | |||||||
|  | [Unit] | ||||||
|  | Description=Gitea (Git with a cup of tea) | ||||||
|  | After=network.target | ||||||
|  | After=mysqld.service | ||||||
|  | After=postgresql.service | ||||||
|  | After=memcached.service | ||||||
|  | After=redis.service | ||||||
|  |  | ||||||
|  | [Service] | ||||||
|  | User=gitea | ||||||
|  | Group=gitea | ||||||
|  | Type=simple | ||||||
|  | WorkingDirectory=~ | ||||||
|  | RuntimeDirectory=gitea | ||||||
|  | LogsDirectory=gitea | ||||||
|  | StateDirectory=gitea | ||||||
|  | Environment=USER=gitea HOME=/var/lib/gitea GITEA_WORK_DIR=/var/lib/gitea | ||||||
|  | ExecStart=/usr/bin/gitea web -c /etc/gitea/app.ini | ||||||
|  | Restart=always | ||||||
|  | RestartSec=2s | ||||||
|  | ReadWritePaths=/etc/gitea/app.ini | ||||||
|  | AmbientCapabilities= | ||||||
|  | CapabilityBoundingSet= | ||||||
|  | LockPersonality=true | ||||||
|  | #Required by commit search | ||||||
|  | #MemoryDenyWriteExecute=true | ||||||
|  | NoNewPrivileges=True | ||||||
|  | #SecureBits=noroot-locked | ||||||
|  | PrivateDevices=true | ||||||
|  | PrivateTmp=true | ||||||
|  | PrivateUsers=true | ||||||
|  | ProtectClock=true | ||||||
|  | ProtectControlGroups=true | ||||||
|  | ProtectHome=true | ||||||
|  | ProtectHostname=true | ||||||
|  | ProtectKernelLogs=true | ||||||
|  | ProtectKernelModules=true | ||||||
|  | ProtectKernelTunables=true | ||||||
|  | ProtectProc=invisible | ||||||
|  | ProtectSystem=strict | ||||||
|  | RestrictAddressFamilies=AF_INET AF_INET6 AF_NETLINK AF_UNIX | ||||||
|  | RestrictNamespaces=true | ||||||
|  | RestrictRealtime=true | ||||||
|  | RestrictSUIDSGID=true | ||||||
|  | SystemCallArchitectures=native | ||||||
|  | SystemCallFilter=@system-service | ||||||
|  | SystemCallErrorNumber=EPERM | ||||||
|  |  | ||||||
|  | [Install] | ||||||
|  | WantedBy=multi-user.target | ||||||
							
								
								
									
										1
									
								
								gitea/gitea.sysusers
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								gitea/gitea.sysusers
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | |||||||
|  | u gitea - "Gitea daemon user" /var/lib/gitea /bin/bash | ||||||
							
								
								
									
										10
									
								
								gitea/gitea.tmpfiles
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								gitea/gitea.tmpfiles
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,10 @@ | |||||||
|  | d /var/lib/gitea 0750 | ||||||
|  | d /var/lib/gitea/attachments 0750 | ||||||
|  | d /var/lib/gitea/data 0750 | ||||||
|  | d /var/lib/gitea/indexers 0750 | ||||||
|  | d /var/lib/gitea/repos 0750 | ||||||
|  | d /var/lib/gitea/tmp 0750 | ||||||
|  | Z /var/lib/gitea - gitea gitea | ||||||
|  | d /var/log/gitea 0750 gitea gitea | ||||||
|  | z /etc/gitea 0755 root gitea | ||||||
|  | z /etc/gitea/app.ini 0660 root gitea | ||||||
		Reference in New Issue
	
	Block a user