push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
{
buildGoModule,
fetchFromGitHub,
go-rice,
lib,
}:
buildGoModule {
pname = "linx-server";
version = "unstable-2021-12-24";
src = fetchFromGitHub {
owner = "zizzydizzymc";
repo = "linx-server";
rev = "3f503442f10fca68a3212975b23cf74d92c9988c";
hash = "sha256-tTHw/rIb2Gs5i5vZKsSgbUePIY7Np6HofBXu4TTjKbw=";
};
# upstream tests are broken, see zizzydizzymc/linx-server#34
patches = [ ./test.patch ];
vendorHash = "sha256-/N3AXrPyENp3li4X86LNXsfBYbjJulk+0EAyogPNIpc=";
nativeBuildInputs = [ go-rice ];
preBuild = "rice embed-go";
meta = with lib; {
description = "Self-hosted file/code/media sharing website";
homepage = "https://put.icu";
license = licenses.gpl3Only;
maintainers = with maintainers; [ urandom ];
};
}

View File

@@ -0,0 +1,74 @@
diff --git a/server_test.go b/server_test.go
index fc225ce..2df3608 100644
--- a/server_test.go
+++ b/server_test.go
@@ -446,63 +446,6 @@ func TestPostJSONUpload(t *testing.T) {
}
}
-func TestPostJSONUploadMaxExpiry(t *testing.T) {
- mux := setup()
- Config.maxExpiry = 300
-
- // include 0 to test edge case
- // https://github.com/andreimarcu/linx-server/issues/111
- testExpiries := []string{"86400", "-150", "0"}
- for _, expiry := range testExpiries {
- w := httptest.NewRecorder()
-
- filename := generateBarename() + ".txt"
-
- var b bytes.Buffer
- mw := multipart.NewWriter(&b)
- fw, err := mw.CreateFormFile("file", filename)
- if err != nil {
- t.Fatal(err)
- }
-
- fw.Write([]byte("File content"))
- mw.Close()
-
- req, err := http.NewRequest("POST", "/upload/", &b)
- req.Header.Set("Content-Type", mw.FormDataContentType())
- req.Header.Set("Accept", "application/json")
- req.Header.Set("Linx-Expiry", expiry)
- if err != nil {
- t.Fatal(err)
- }
-
- mux.ServeHTTP(w, req)
-
- if w.Code != 200 {
- t.Log(w.Body.String())
- t.Fatalf("Status code is not 200, but %d", w.Code)
- }
-
- var myjson RespOkJSON
- err = json.Unmarshal([]byte(w.Body.String()), &myjson)
- if err != nil {
- t.Fatal(err)
- }
-
- myExp, err := strconv.ParseInt(myjson.Expiry, 10, 64)
- if err != nil {
- t.Fatal(err)
- }
-
- expected := time.Now().Add(time.Duration(Config.maxExpiry) * time.Second).Unix()
- if myExp != expected {
- t.Fatalf("File expiry is not %d but %s", expected, myjson.Expiry)
- }
- }
-
- Config.maxExpiry = 0
-}
-
func TestPostExpiresJSONUpload(t *testing.T) {
mux := setup()
w := httptest.NewRecorder()
@@ -1301,5 +1244,4 @@ func TestPutAndGetCLI(t *testing.T) {
if !strings.HasPrefix(contentType, "text/plain") {
t.Fatalf("Didn't receive file directly but %s", contentType)
}
-
}