Commit Graph

5275 Commits (22717a1c064511cf37c46af5e650baf7184cf25b)

Author SHA1 Message Date
ᴜɴᴋɴᴡᴏɴ 22717a1c06
webhook: overhaul route handlers (#6002)
* Overual route handlers and fixes #5366

* Merge routes for repo and org

* Inject OrgRepoContext

* DRY validateWebhook

* DRY c.HasError

* Add tests

* Update CHANGELOG
2020-03-22 22:07:22 +08:00
ᴜɴᴋɴᴡᴏɴ 82e511ddb1
cmd: init logging before `SetEngine` (#6001) 2020-03-22 14:11:52 +08:00
ᴜɴᴋɴᴡᴏɴ 5843038a08
workflows: enable golangci-lint (#5998)
* Create golint.yml

* Update golint.yml

* Update golint.yml

* Fix errcheck

* Fix gosimple

* Fix staticcheck
2020-03-21 13:39:32 +08:00
ᴜɴᴋɴᴡᴏɴ 958d8b6bb4
admin: use POST to run operations (#5997)
* admin: use POST to run operations

Fixed CSRF reported by Wenxu Wu of Tencent's Xuanwu Lab.

* Update CHANGELOG
2020-03-21 11:47:42 +08:00
ᴜɴᴋɴᴡᴏɴ a43fc9ad17
ipynb: sanitize rendered HTML (#5996)
* ipynb: sanitize rendered HTML

Fixes #5170

* Remove hardcode URL

* Add tests
2020-03-21 00:12:38 +08:00
ᴜɴᴋɴᴡᴏɴ c69a38652d
locale: sync from Crowdin (#5991) 2020-03-16 13:57:46 +08:00
ᴜɴᴋɴᴡᴏɴ a4de85dc80
util: add tests (#5989) 2020-03-16 01:54:08 +08:00
ᴜɴᴋɴᴡᴏɴ 9e9ca66467
refactor: unify error handling in routing layer 2020-03-16 01:22:27 +08:00
ᴜɴᴋɴᴡᴏɴ 82ff0c5852
email: check the owner when set as primary (#5988)
* email: check the owner when set as primary

Fixes a security issue reported by muxishuihan.

* Update CHANGELOG
2020-03-15 18:58:56 +08:00
ᴜɴᴋɴᴡᴏɴ 07f71e2034
README: update link to local development
[CI SKIP]
2020-03-15 03:49:09 +08:00
ᴜɴᴋɴᴡᴏɴ 328c23c5d4
public: make lessc compile minimize CSS (#5987) 2020-03-15 03:47:07 +08:00
Bharat Nallan 268c692efd
api: group "/contents" with "" and "/*" #5985 (#5986)
This PR groups the contents api endpoint with both `""` and `/*` as
valid URL patterns.

When `""` is the URL pattern, this means that no repo path has'nt been
provided, in which case the path would be the default repo path.

When  `"/*"` is the URL pattern, then this would return the contents at
the specified path if it's valid.

Github API v3 is conformant to this behavior and have verified it
locally.
2020-03-13 22:37:42 +08:00
ᴜɴᴋɴᴡᴏɴ 434f1ec542
all: clean up dot files (#5983) 2020-03-11 03:02:18 +08:00
ᴜɴᴋɴᴡᴏɴ 927ffef864
api: minor changes to `/repo/owner/repo/git/trees` (#5982) 2020-03-11 01:28:26 +08:00
ᴜɴᴋɴᴡᴏɴ 047bf94908
ci: enable go vet check (#5981)
* ci: enable go vet check

* Improve .travis.yml
2020-03-11 00:30:51 +08:00
ᴜɴᴋɴᴡᴏɴ 880d0ec19f
api: overhaul `/repos/owner/repos/contents` (#5980)
* Fix import path renaming

* api: overhaul /repos/owner/repos/contents
2020-03-10 22:15:55 +08:00
ᴜɴᴋɴᴡᴏɴ 2430612ad4
templates: fix not able to upload issue attachments (#5978) 2020-03-10 01:33:16 +08:00
ᴜɴᴋɴᴡᴏɴ e87f1107ca
commit: fix unexpected truncation in title
The commit message should not be treated as locale at all.
2020-03-09 02:08:53 +08:00
ᴜɴᴋɴᴡᴏɴ bebaf4c112
diff: remove misaligned space 2020-03-09 02:06:45 +08:00
ᴜɴᴋɴᴡᴏɴ d32add9938
go.mod: update to Go 1.13 (#5976) 2020-03-09 01:59:44 +08:00
Kostya Esmukov 975a2b3f59
templates: fix copypaste of email verification in reset_passwd (#5975) 2020-03-09 01:16:50 +08:00
ᴜɴᴋɴᴡᴏɴ 6437d0180b
git: migrate to github.com/gogs/git-module@v1.0.0 (#5958)
* WIP

* Finish `internal/db/git_diff.go`

* FInish internal/db/mirror.go

* Finish internal/db/pull.go

* Finish internal/db/release.go

* Finish internal/db/repo.go

* Finish internal/db/repo_branch.go

* Finish internal/db/repo_editor.go

* Finish internal/db/update.go

* Save my work

* Add license header

* Compile!

* Merge master

* Finish internal/cmd/hook.go

* Finish internal/conf/static.go

* Finish internal/context/repo.go

* Finish internal/db/action.go

* Finish internal/db/git_diff.go

* Fix submodule URL inferring

* Finish internal/db/mirror.go

* Updat to beta.4

* css: update fonts

* Finish internal/db/pull.go

* Finish internal/db/release.go

* Finish internal/db/repo_branch.go

* Finish internal/db/wiki.go

* gitutil: enhance infer submodule UR

* Finish internal/route/api/v1/repo/commits.go

* mirror: only collect branch commits after sync

* mirror: fix tag support

* Finish internal/db/repo.go

* Finish internal/db/repo_editor.go

* Finish internal/db/update.go

* Finish internal/gitutil/pull_request.go

* Make it compile

* Finish internal/route/repo/setting.go

* Finish internal/route/repo/branch.go

* Finish internal/route/api/v1/repo/file.go

* Finish internal/route/repo/download.go

* Finish internal/route/repo/editor.go

* Use helper

* Finish internal/route/repo/issue.go

* Finish internal/route/repo/pull.go

* Finish internal/route/repo/release.go

* Finish internal/route/repo/repo.go

* Finish internal/route/repo/wiki.go

* Finish internal/route/repo/commit.go

* Finish internal/route/repo/view.go

* Finish internal/gitutil/tag.go

* go.sum
2020-03-08 19:09:31 +08:00
ᴜɴᴋɴᴡᴏɴ c65b5b9f84
lsif: enable upload 2020-03-08 00:08:05 +08:00
ᴜɴᴋɴᴡᴏɴ bf373f9da1
templates: show brand name in the footer (#5974) 2020-03-07 13:15:20 +08:00
ᴜɴᴋɴᴡᴏɴ 2064fc89c0
README: stop advertising using MSSQL (#5973) 2020-03-06 17:56:39 +08:00
ᴜɴᴋɴᴡᴏɴ 5a4c7c75c0
go.mod: update to unknwon.dev/clog/v2@v2.1.2 (#5970)
Fixed a critical bug
2020-03-06 01:16:49 +08:00
ᴜɴᴋɴᴡᴏɴ 5ad2fdcf0b
api: `GET /repos/:owner/:repo/contents/:path` (#5963)
* support API `GET /repos/:owner/:repo/contents/:path`

This PR adds support to #5949:
`GET /repos/:owner/:repo/contents/:path`

Curl:

```bash
curl -H "Authorization: token REDACTED"
http://localhost:3000/api/v1/repos/root/testrepo/contents//master/README.md
-X GET  | jq .
```

Curl  Response:

```bash
{
  "type": "blob",
  "size": 12,
  "name": "README.md",
  "path": "README.md",
  "sha": "70fcb456d436f08462602f26df6fb7e167e7a916",
  "url": "http://localhost:3000/api/v1/repos/root/testrepo/contents/README.md",
  "git_url": "70fcb456d4",
  "html_url": "70fcb456d4",
  "download_url": "http://localhost:3000/api/v1/root/testrepo/raw/README.md",
  "_links": {
    "git": "70fcb456d4",
    "self": "http://localhost:3000/api/v1/repos/root/testrepo/contents/README.md",
    "html": "70fcb456d4"
  },
  "content": "IyB0ZXN0cmVwbwoK"
}

```

* rename - path.go to contents.go

* reorder imports

Co-Authored-By: ᴜɴᴋɴᴡᴏɴ <u@gogs.io>

* rename struct to repoContents and fix field order

Co-Authored-By: ᴜɴᴋɴᴡᴏɴ <u@gogs.io>

* rename variable

Co-Authored-By: ᴜɴᴋɴᴡᴏɴ <u@gogs.io>

* rename GetPathContents to GetContents

Co-Authored-By: ᴜɴᴋɴᴡᴏɴ <u@gogs.io>

* return on server error

Co-Authored-By: ᴜɴᴋɴᴡᴏɴ <u@gogs.io>

* resolve conflicts introduced via git web ui

* make constants as method variables

* handle dir type case last

* fix func and var names

* implement suggested changes in review

* refactor smaller funcs to be part of GetContent

* fix content type check for blob after refactoring

* changes based on suggestions

* read full file, return empty json array

* don't set submoduleURL

* set server err msg to method name

* set target to be blob data for symlinks

* Update contents.go

Co-authored-by: ᴜɴᴋɴᴡᴏɴ <u@gogs.io>
2020-03-05 16:15:38 +08:00
ᴜɴᴋɴᴡᴏɴ 8d37d418e7
locale: sync from Crowdin (#5965) 2020-03-04 02:28:13 +08:00
ᴜɴᴋɴᴡᴏɴ 8df3350252
auth: redirect landing URL with subpath prepended (#5964) 2020-03-04 02:02:12 +08:00
ᴜɴᴋɴᴡᴏɴ 931da04dc2
cmd/serv: improve hookMode handling (#5960)
- Allow remove primary logger at better location
- Use more appropriate log.Error to replace log.Fatal
2020-03-02 22:25:28 +08:00
ᴜɴᴋɴᴡᴏɴ 7efa946b02
git: explicitly disable debug in prod mode (#5959)
After first time running the application and went through the installation, the flag was always true until restarted.
2020-03-02 22:09:09 +08:00
ᴜɴᴋɴᴡᴏɴ fe7b094b9e
log: fix tests 2020-03-02 01:14:26 +08:00
ᴜɴᴋɴᴡᴏɴ 7382c23a17
cmd: init minimal logging config in hook mode 2020-03-02 01:01:52 +08:00
ᴜɴᴋɴᴡᴏɴ 0b86aa5d29
pkgr: update heroku-buildpack to latest (#5957) 2020-03-01 22:46:39 +08:00
ᴜɴᴋɴᴡᴏɴ f04b2d4350
lint: fix some Golang CI lint issues (#5955) 2020-03-01 14:55:03 +08:00
ᴜɴᴋɴᴡᴏɴ 9c65798902
conf: enhance app.ini comments 2020-03-01 13:23:59 +08:00
ᴜɴᴋɴᴡᴏɴ d8f56de258
Delete unused file
[CI SKIP]
2020-03-01 03:31:25 +08:00
ᴜɴᴋɴᴡᴏɴ 18e45aab98
template: improve admin config page 2020-03-01 03:21:13 +08:00
ᴜɴᴋɴᴡᴏɴ 344b784d69
js: fix jQuery error 2020-02-29 23:52:35 +08:00
ᴜɴᴋɴᴡᴏɴ 333998509f
css: fix /admin/config pre overflow 2020-02-29 23:34:03 +08:00
ᴜɴᴋɴᴡᴏɴ 8796df8218
conf: add unit tests (#5954)
* conf: add tests for utils.go

* conf: add tests for static.go

* mock os/exec

* Run tests on Windows

* appveyor: fix gcc not found

* computed: add unit tests

* log: add unit tests

* log: fix tests on Windows

* conf: add some tests

* Finish adding tests

* Cover more cases

* Add tests for testutil

* Add more tests
2020-02-29 22:24:20 +08:00
ᴜɴᴋɴᴡᴏɴ 17ae0ed3ee
conf: overhaul settings (#5953)
* Overhaul cache settings

* Overhaul HTTP settings

* conf: overhaul more settings

* log: make LGTM happy

* travis: upload report to Codecov

* Add codecov.yml
2020-02-29 16:29:17 +08:00
ᴜɴᴋɴᴡᴏɴ d59b0f6ff7
conf: overhaul sessions settings (#5952) 2020-02-29 00:26:03 +08:00
ᴜɴᴋɴᴡᴏɴ 1898201b8b
build: requires Go 1.13 2020-02-28 23:43:19 +08:00
guan 40214ef109
public: fix jquery3.x syntax error (#5951)
$.post().success -> $.post().done
2020-02-28 22:52:26 +08:00
imgbot[bot] 4f70ab8e27
[ImgBot] Optimize images (#5943)
*Total -- 115.45kb -> 73.67kb (36.19%)

/public/img/gogs-hero.png -- 58.29kb -> 34.18kb (41.37%)
/public/img/favicon.png -- 57.15kb -> 39.48kb (30.91%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>

Co-authored-by: Imgbot <help@imgbot.net>

[CI SKIP]
2020-02-27 21:56:03 +08:00
ᴜɴᴋɴᴡᴏɴ 416f245e6c
README: update acknowledgments
[CI SKIP]
2020-02-27 20:24:40 +08:00
ᴜɴᴋɴᴡᴏɴ 177806068d
public: update to new logo 2020-02-27 20:21:41 +08:00
ᴜɴᴋɴᴡᴏɴ 7950f2d17d
conf: overhaul auth and user settings (#5942)
* conf: overhaul auth and user settings

* ci: update travis Go versions
2020-02-27 18:06:38 +08:00
Bharat Nallan cf3d55fa10
api: support getting repository Git tree (#5934) (#5937)
* add basic git repository tree api (#5934)

This PR adds the tree  api endpoint to gogs api:
`GET/repos/:owner/:repo/git/trees/:tree_sha`

This new api endpoint that is being added is in conformance to
the GitHub REST API v3 specification. Documentation can be found
here: developer.github.com/v3/git/trees/#get-a-tree

For a given user, repo and sha value, this api (currently) returns
a single tree using the SHA1 value for that tree.

- Recursive implementation is yet to be implemented.
- Creating a Tree using POST is yet to be implemented.

Example curl:

```

l curl -H "Authorization: token REDACTED" c59441ded1 -X GET  | jq .
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   940  100   940    0     0  12034      0 --:--:-- --:--:-- --:--:-- 12051

[
  {
    "sha": "c59441ded1549b149def0d4c54594d31a7f3718f",
    "tree": [
      {
        "mode": "120000",
        "path": "/home/bharatnc/gogs-repositories/root/testrepo.git",
        "sha": "472ac2361b65136b393d652de25341e2ea44f299",
        "size": 1077,
        "type": "blob",
        "url": "472ac2361b"
      },
      {
        "mode": "120000",
        "path": "/home/bharatnc/gogs-repositories/root/testrepo.git",
        "sha": "70fcb456d436f08462602f26df6fb7e167e7a916",
        "size": 12,
        "type": "blob",
        "url": "70fcb456d4"
      },
      {
        "mode": "120000",
        "path": "/home/bharatnc/gogs-repositories/root/testrepo.git",
        "sha": "092c58d4b63df5779a4d020b1fdbb762421bbb4f",
        "size": 380,
        "type": "blob",
        "url": "092c58d4b6"
      }
    ],
    "url": "c59441ded1"
  }
]

```

* remove vertical space

* make go.mod to be same as in master

* rename structs to sound better

* simplify expressions and fix error msg

* Update tree.go

* Update tree.go

* display file name instead of repo path

* Update tree.go

Co-authored-by: ᴜɴᴋɴᴡᴏɴ <u@gogs.io>
2020-02-25 22:19:42 +08:00