Commit Graph

415 Commits

Author SHA1 Message Date
Lanre Adelowo 8d2c24f7f9 Allow for user specific themes ()
* add migration and basic UI for changing a user's theme

* update user themem

* use right text on button

* load theme based on users' selection

* load theme based on users' selection in pwa too

* update sample config

* delete older theme loading

* implement AfterLoad to set users' theme properly

* set up default theme when creating a user. This uses the installation wide theme

* use flash messages for error

* set default theme when creating a user from the cli

* fix @lunny review
2019-01-09 12:22:57 -05:00
zeripath 8bb0a6f425 Synchronize SSH keys on login with LDAP + Fix SQLite deadlock on ldap ssh key deletion ()
* Synchronize SSH keys on login with LDAP

* BUG: Fix hang on sqlite during LDAP key deletion
2018-12-27 12:28:48 -05:00
Lunny Xiao fe55ab2a68 fix forgot removed records when deleting user ()
* fix forgot removed records when deleting user

* fix migration

* fix rewritekey lock on sqlite

* remove unused codes
2018-12-18 11:26:26 -05:00
Lunny Xiao eabbddcd98
Restrict permission check on repositories and fix some problems ()
* fix units permission problems

* fix some bugs and merge LoadUnits to repoAssignment

* refactor permission struct and add some copyright heads

* remove unused codes

* fix routes units check

* improve permission check

* add unit tests for permission

* fix typo

* fix tests

* fix some routes

* fix api permission check

* improve permission check

* fix some permission check

* fix tests

* fix tests

* improve some permission check

* fix some permission check

* refactor AccessLevel

* fix bug

* fix tests

* fix tests

* fix tests

* fix AccessLevel

* rename CanAccess

* fix tests

* fix comment

* fix bug

* add missing unit for test repos

* fix bug

* rename some functions

* fix routes check
2018-11-28 19:26:14 +08:00
Stanislav 078c404c3b Prometheus endpoint ()
* Add prometheus collector and route

* dep ensure -add github.com/prometheus/client_golang/prometheus

* dep ensure -update github.com/golang/protobuf

* add metrics to reserved usernames

* add comment head in metrics package

* fix style imports

* add metrics settings

* add bearer token check

* mapping metrics configs

* fix lint

* update config cheat sheet

* update conf sample, typo fix
2018-11-04 22:20:00 -05:00
Jerry Jacobs 22ad514297 Fix issue where ecdsa and other key types are not synced from LDAP () ()
* Fix issue where ecdsa and other key types are not synced from LDAP authentication provider fixes 

* integrations/auth_ldap_test.go: Add Hermes Conrad new ecdsa-sha2-nistp256 publickey fingerprint

* integrations/auth_ldap_test.go: Use ssh-keygen -lf <filename> -E sha256
2018-10-30 20:08:30 -04:00
Oleg Kovalov cabdf84f1f Use named const instead of a raw string () 2018-10-20 10:25:38 +08:00
Oleg Kovalov a908b29a74 Remove duplicated if bodies () 2018-10-19 12:49:36 -04:00
zeripath dd62ca7ba9 Add support for search by uid ()
Signed-off-by: Andrew Thornton <art27@cantab.net>
2018-10-18 16:44:51 +08:00
Lanre Adelowo 126ba796dc Force user to change password ()
* redirect to login page after successfully activating account

* force users to change password if account was created by an admin

* force users to change password if account was created by an admin

* fixed build

* fixed build

* fix pending issues with translation and wrong routes

* make sure path check is safe

* remove unneccessary newline

* make sure users that don't have to view the form get redirected

* move route to use /settings prefix so as to make sure unauthenticated users can't view the page

* update as per @lafriks review

* add necessary comment

* remove unrelated changes

* support redirecting to location the user actually want to go to before being forced to change his/her password

* run make fmt

* added tests

* improve assertions

* add assertion

* fix copyright year

Signed-off-by: Lanre Adelowo <yo@lanre.wtf>
2018-09-13 15:04:25 +03:00
SagePtr 303d7f7e9c Do not autocreate directory for new user/orgs () () 2018-09-06 20:40:58 -04:00
Lunny Xiao 52c2cb15db add vendor to user reserved words and format words list according alphabet () 2018-08-13 08:02:18 +03:00
Lauris BH 0c59edaafa Update xorm to latest version and fix correct `user` table referencing in sql () 2018-07-20 10:10:17 +08:00
Lunny Xiao b46066f17c fix repository last updated time update when delete a user who watched the repo () 2018-07-05 00:47:05 +03:00
Kim "BKC" Carlbäcker cbee921c28 Limit uploaded avatar image-size to 4096x3072 by default () 2018-07-03 06:56:32 +03:00
David Schneiderbauer 0b3ea42847 hide issues from org private repos w/o team assignment () 2018-06-21 12:00:13 -04:00
Magnus Lindvall cdb9478774 LDAP Public SSH Keys synchronization ()
* Add LDAP Key Synchronization feature

Signed-off-by: Magnus Lindvall <magnus@dnmgns.com>

* Add migration: add login source id column for public_key table

* Only update keys if needed

* Add function to only list pubkey synchronized from ldap

* Only list pub ssh keys synchronized from ldap. Do not sort strings as ExistsInSlice does it.

* Only get keys belonging to current login source id

* Set default login source id to 0

* Some minor cleanup. Add integration tests (updete dep testify)
2018-05-24 07:59:02 +03:00
Alexey Terentyev b908ac9fab Added repository search ordered by stars or forks. Forks column in admin repo list. ()
* Added repository search order by stars or forks.
Added Forks column to admin repository list.

Signed-off-by: Alexey Terentyev <axifnx@gmail.com>

* Renamed search repo template

Signed-off-by: Alexey Terentyev <axifnx@gmail.com>
2018-05-24 09:03:42 +08:00
kolaente 95f2e2b57b Multiple assignees () 2018-05-09 19:29:04 +03:00
kolaente 1fdf560678 Added user language setting ()
* Added user language setting

* Added translation string for setting

* Fixed import order + typo

* improved checking if the user has a language saved in the db

* The current saved language is now set a default inside the dropdown

* fmt

* When a user signs in and doesn't have a language saved, the current browser language is saved

* updated gitea-sdk

* Merge branch 'master' of https://github.com/go-gitea/gitea into save-user-language

# Conflicts:
#	models/migrations/migrations.go
#	models/migrations/v62.go

* Made tests work again

* trigger CI

* trigger CI

* fmt

* re-trigger that FUCKING CI SO IT REALLY PICKS UP THE LATEST COMMIT ISTEAD OF PREDENDING TO DO SO

* re-trigger that FUCKING CI SO IT REALLY PICKS UP THE LATEST COMMIT ISTEAD OF PREDENDING TO DO SO

* When loggin in, only the language col gets updated instead of everything
2018-05-05 08:28:30 +08:00
Lauris BH 9495429982
Add "error" as reserved username () 2018-05-02 11:06:31 +03:00
Michael Kuhn f321980a32 Fix typo in deleteUser ()
num_watches was used where num_stars should have been used.
2018-04-10 20:39:01 +08:00
Codruț Constantin Gușoi 96c268c0fc Implements generator cli for secrets ()
Signed-off-by: Codruț Constantin Gușoi <codrut.gusoi@gmail.com>
2018-02-18 20:14:37 +02:00
Codruț Constantin Gușoi 011f128c89 Fixes missing avatars in offline mode ()
Signed-off-by: Codruț Constantin Gușoi <codrut.gusoi@gmail.com>
2018-02-08 16:43:08 +01:00
Morgan Bazalgette 17655cdf1b Enable caching on assets and avatars ()
* Enable caching on assets and avatars

Fixes 

* Only set avatar in user BeforeUpdate when there is no avatar set

* add error checking after stat

* gofmt

* Change cache time for avatars to an hour
2018-02-04 00:37:05 +02:00
Lauris BH a68bf746a4
Change reserved avatar name to correct - avatars () 2018-01-16 00:45:13 +02:00
Bo-Yi Wu 7a2a3fbafc refactor(model): update user method. () 2018-01-13 11:45:16 +02:00
Kim "BKC" Carlbäcker e5b8b4b5ec Cleanup models.User.HashPassword () 2018-01-12 00:19:38 +02:00
Morgan Bazalgette 674cfb7cac Change EncodePasswd to HashPassword ()
* Change EncodePasswd to HashPassword

* Create test+benchmark for HashPassword
2018-01-08 23:28:18 +01:00
Ethan Koenig 515cdaa85d Fix ignored errors when checking if organization, team member () 2017-12-21 09:43:26 +02:00
Lunny Xiao f94c1b3943
Improvements for supporting UI Location ()
* improvements for supporting UI Location

* improved the comment
2017-12-14 07:45:31 +08:00
Lunny Xiao f2e20c81b6 Refactor struct's time to remove unnecessary memory usage ()
* refactor struct's time to remove unnecessary memory usage

* use AsTimePtr simple code

* fix tests

* fix time compare

* fix template on gpg

* use AddDuration instead of Add
2017-12-11 06:37:04 +02:00
Lauris BH 5dc37b187c
Add reactions to issues/PR and comments () 2017-12-04 01:14:26 +02:00
Ethan Koenig ab62da283a Fix avatar URLs ()
* Fix avatar URLs

* import order
2017-12-03 19:55:13 +08:00
Ethan Koenig 716ac1214f Enable admin to search by email () 2017-11-26 16:40:38 +08:00
Lauris BH 6a107e57f6 Add checks for commits with missing author and time ()
* Add checks for commits with missing author and time

* Fix validate commits with emails if it has no Author
2017-10-26 15:45:14 +08:00
Lunny Xiao 6eeadb2082 Hide unactive on explore users and some refactors ()
* hide unactive on explore users and some refactors

* fix test for removed Organizations

* fix test for removed Organizations

* fix imports

* fix logic bug

* refactor the toConds

* Rename TestOrganizations to TestSearchUsers and add tests for users

* fix other tests

* fix other tests

* fix watchers tests

* fix comments and remove unused code
2017-10-24 20:36:19 +03:00
Lunny Xiao 985a39590b Use buffersize to reduce database connection when iterate ()
* use buffersize to reduce database connection when iterate

* fix typo

* add default value on app.ini comment
2017-10-21 14:26:23 +08:00
Ethan Koenig aa962deec0 Replace deprecated Id method with ID () 2017-10-05 07:43:04 +03:00
Ethan Koenig 4b2c8ca533 Use session when creating user () 2017-10-03 09:29:26 +03:00
Lunny Xiao a8717e5e3a Use AfterLoad instead of AfterSet on Structs ()
* use AfterLoad instead of AfterSet on Structs

* fix the comments on AfterLoad

* fix the comments on action AfterLoad
2017-10-01 19:52:35 +03:00
Lunny Xiao dd55534b82 Reduce usage of allcols on update ()
* reduce usage of allcols on update

* fix bug and tests
2017-09-25 12:59:27 +08:00
David Schneiderbauer d766d0c4e0 Prevent sending emails and notifications to inactive users ()
* Filter inactive users before sending emails or creating browser notifications

Signed-off-by: David Schneiderbauer <dschneiderbauer@gmail.com>

* fix formatting issues

Signed-off-by: David Schneiderbauer <dschneiderbauer@gmail.com>

* included requested changes

Signed-off-by: David Schneiderbauer <dschneiderbauer@gmail.com>

* optimized database queries

* rebasing new master and add tablenames for clarification in xorm queries

* remove escaped quotationmarks using backticks

Signed-off-by: David Schneiderbauer <dschneiderbauer@gmail.com>
2017-09-16 08:18:25 +08:00
Lunny Xiao 005900baea Use created & updated instead BeforeInsert & BeforeUpdate ()
* use created & updated instead BeforeInsert & BeforeUpdate

* fix vendor checksum

* only show generated SQL when development mode

* remove extra update column updated_unix

* remove trace config
2017-09-13 08:18:22 +03:00
techknowlogick 9bdbfbf6f3 Disable custom Git Hooks globally via configuration file ()
* Create option to disable githooks globally via configuration file

* Update comment in app.ini to align with @ethantkoenig's suggestion

Signed-off-by: Matti Ranta <matti@mdranta.net>
2017-09-12 12:25:42 +03:00
Lunny Xiao 5de94a67cf some refactors for issue and comments () 2017-08-30 07:31:33 +03:00
Lunny Xiao f960e19c59 Only update needed columns when update user ()
* only update needed columns when update user

* fix missing update_unix column
2017-08-12 22:18:44 +08:00
Ethan Koenig 858324c21a Fix username rendering bug ()
* Fix username rendering bug

* XSS integration test

* Migration to unescape user full names
2017-07-12 17:58:52 +03:00
Ethan Koenig 05e3726415 Use default avatar on error 2017-06-29 12:10:33 -04:00
Lauris BH 6db387a21e Refactor session close as xorm already does everything needed internally () 2017-06-21 08:57:05 +08:00
Ethan Koenig bfb44f8854 Fix status table race condition () 2017-05-31 16:57:17 +08:00
Jonas Östanbäck 7b907ed348 Rename RepoCreationNum -> MaxCreationLimit () 2017-05-24 08:27:08 +08:00
Ethan Koenig cf02cd7ba0 Fix and test for delete user ()
* Fix and test for delete user

* Run updates in batches

* Unit test
2017-05-20 16:48:22 +08:00
Jonas Östanbäck 80cea8747f Admin should always be allowed to create repos even if hit limit () 2017-05-20 11:51:19 +08:00
Lauris BH 524885dd65 LDAP user synchronization () 2017-05-10 15:10:18 +02:00
Lauris BH 51d0becb42 Add configuration option for default permission to create Organizations () 2017-05-08 21:51:53 +02:00
Kim "BKC" Carlbäcker d409d3ab57 Sanitation fix from Gogs ()
* Santiation fix from Gogs

* Linting

* Fix build-errors

* still not working

* Fix all the things!

* gofmt

* Add code-injection checks
2017-04-13 10:52:24 +08:00
Lunny Xiao 888dee3b5f fix delete user failed on sqlite () 2017-03-20 22:13:52 +08:00
Sandro Santilli 71d16f69ff Login via OpenID-2.0 () 2017-03-17 15:16:08 +01:00
Ethan Koenig 021904e4e6 Fix typos in models/ and modules/ () 2017-03-15 08:52:01 +08:00
Ethan Koenig ec0ae5d50c Refactor and fix incorrect comment () 2017-03-15 08:51:46 +08:00
Sandro Santilli 0475e7351f Reserve the "explore" user/org name () 2017-03-12 09:39:38 +08:00
Ethan Koenig 3803f257fb Move user_follow to separate file ()
Also add unit tests
2017-03-11 16:46:53 +08:00
Lunny Xiao 5d40db629c fix random avatars () 2017-03-08 23:05:15 +08:00
Lunny Xiao 2215840363 fix avatar bug ()
This PR fix the avatar bug described in . This will fix random avatar is blank problem and potential delete avatars dir problem.
2017-03-06 16:15:40 +08:00
Lunny Xiao 522f194983 Bug fixed for org avatar caused by ()
* bug fixed for org avatar caused by 

* use isfile only
2017-02-27 08:42:22 +08:00
Lunny Xiao 80f900ebae Fix avatar enumable ()
* fix avatar enumable

* fix import style
2017-02-25 22:58:57 +08:00
Lunny Xiao e8e56da9ac fix () 2017-02-25 22:53:57 +08:00
Lunny Xiao fc4f7e82f9 refactor for searching user ()
* refactor for searching user

* fix like bug

* better format for builder cond
2017-02-25 21:42:20 +08:00
Willem van Dreumel 01d957677f Oauth2 consumer ()
* initial stuff for oauth2 login, fails on:
* login button on the signIn page to start the OAuth2 flow and a callback for each provider
Only GitHub is implemented for now
* show login button only when the OAuth2 consumer is configured (and activated)
* create macaron group for oauth2 urls
* prevent net/http in modules (other then oauth2)
* use a new data sessions oauth2 folder for storing the oauth2 session data
* add missing 2FA when this is enabled on the user
* add password option for OAuth2 user , for use with git over http and login to the GUI
* add tip for registering a GitHub OAuth application
* at startup of Gitea register all configured providers and also on adding/deleting of new providers
* custom handling of errors in oauth2 request init + show better tip
* add ExternalLoginUser model and migration script to add it to database
* link a external account to an existing account (still need to handle wrong login and signup) and remove if user is removed
* remove the linked external account from the user his settings
* if user is unknown we allow him to register a new account or link it to some existing account
* sign up with button on signin page (als change OAuth2Provider structure so we can store basic stuff about providers)

* from gorilla/sessions docs:
"Important Note: If you aren't using gorilla/mux, you need to wrap your handlers with context.ClearHandler as or else you will leak memory!"
(we're using gorilla/sessions for storing oauth2 sessions)

* use updated goth lib that now supports getting the OAuth2 user if the AccessToken is still valid instead of re-authenticating (prevent flooding the OAuth2 provider)
2017-02-22 08:14:37 +01:00
Lunny Xiao 847527fd6d Fix all the bugs in issues and pulls on dashboard ()
* fix all the bugs in issues and pulls on dashboard

* small fix and refactor

* add method getRepoIDs for IssueList
2017-02-17 08:58:19 +08:00
Bo-Yi Wu d67b278a0d feat: Able to disable non-admin to create new organization () 2017-02-14 20:16:00 +08:00
Andrew 3f67676059 Implement basic Open Graph support. () 2017-02-11 20:57:33 +08:00
Bo-Yi Wu a90a215662 feat: Add search bar on user profile page. () 2017-02-04 20:20:20 +08:00
Gabriel Jackson bf6f61cc69 Cleanup log messaging
This change corrects a few logging issues:

 * Standardized formatting errors with '%v'.
 * Standardized failure warning word usage.
 * Corrected an instance of using the standard log library when
   the gitea log library should be used instead.
2017-02-02 15:24:18 +01:00
Bo-Yi Wu d7d094bd8a fix: ignore email notifications if user is not active. () 2017-02-02 20:33:36 +08:00
Bwko 74ed6dc3ad Add option to app.ini to enable local import paths () 2017-01-23 09:19:50 +08:00
Ethan Koenig 74bbec3bf9 Fix permission bugs in team API () 2017-01-20 13:16:10 +08:00
Ethan Koenig fcf02e4961 API Endpoints for organization members () 2017-01-20 10:31:46 +08:00
derSuessmann 51d578ff33 Add Keep email private (see issue ). ()
- Add site-wide option DEFAULT_KEEP_EMAIL_PRIVATE.
- Add the new option to the install and admin/config pages.
- Add the new option to app.ini in the service section.
- Add the new option to the settings struct.
- Add English text strings to i18n.
- Add field KeepEmailPrivate to user struct.
- Add field KeepEmailPrivate to user form.
- Add option to UI.
- Add using noreply email address if user has "Keep Email Private".
An email address <LowerName>@<NO_REPLY_ADDRESS> is now used in commit
messages (and hopefully all other git log relevant places). The
change relies on the fact that git commands should use
user.NetGitSig().
- Add hiding of email address in UI, if user has set "Keep Email Private".
- Add condition to show email address only on explore/users and user
pages, if user has not set "Keep Email Private".
- Add noreply email in API if set "Keep Email Private".
- Add a new service setting NO_REPLY_ADDRESS. The value of this
setting is used as the domain part for the user's email address in
git log, iff he decides to keep his email address private.
If the user decides to keep his email address private and this
option is not set 'noreply.example.org' is used, which no MTA
should send email to.

Add NO_REPLY_ADDRESS to conf/app.ini.
2017-01-08 11:12:03 +08:00
Andrey Nering 84b7d29d34 Create missing database indexes () 2017-01-06 23:14:33 +08:00
Berk Demirkır bdad3b259a Check primary email address fields on CreateUser ()
* Check primary email address fields on CreateUser

As this check wasn't available, uid=1 (and possibly guests too, if registration is open) is able to register new users with existing email addresses. This leads to numerous 500 errors.

* Update user.go

* Lower the email first. Then check
2017-01-05 08:52:20 +08:00
Ethan Koenig 1207bda94b Fix typos in models/ () 2017-01-05 08:50:34 +08:00
Schwobaland c0904f1942 Restrict creating organisations by user ()
* restrict creating organizations based on right on user

* revert bindata.go

* reverse vendor lib

* revert goimports change

* set AllowCreateOrganization default value to true

* revert locale

* added default value for AllowCreateOrganization

* fix typo in migration-comment

* fix comment

* add coments in migration
2016-12-31 10:33:30 +08:00
Lunny Xiao ba134bd27a fix 500 when delete orgnization and resolved 2016-12-27 12:00:12 +01:00
Bwko fa3abc22c0 Added sorting to organizations, repos & users page () 2016-12-24 22:42:26 +08:00
Ethan Koenig 8a4161c723 API Endpoint for watching () 2016-12-24 09:53:11 +08:00
Denis Denisov 380e32e129 Fix random string generator ()
* Remove unused custom-alphabet feature of random string generator

Fix random string generator

Random string generator should return error if it fails to read random data via crypto/rand

* Fixes variable (un)initialization mixed assign
Update test GetRandomString
2016-12-20 13:32:02 +01:00
Lunny Xiao d771e978a1 Don't use custom PBKDF2 function () 2016-12-15 09:24:27 +08:00
Denis Denisov c8f300b2cd Safe compare password (timing attack) () 2016-12-03 13:49:17 +08:00
Bwko 4ff0db0246 Catch os... errors 2016-12-02 07:41:19 +01:00
Kim "BKC" Carlbäcker 42ec5ce740 Fix breakage from vendor-update 2016-11-29 11:50:22 +01:00
Bwko 9963d61233 Lint models/user.go 2016-11-28 17:47:46 +01:00
Bwko a4ece1f223 Fixes typos 2016-11-27 12:59:12 +01:00
Lunny Xiao 94da472717 Golint fixed for modules/setting ()
* golint fixed for modules/setting

* typo fixed and renamed UNIXSOCKET to UnixSocket
2016-11-27 18:14:25 +08:00
Lunny Xiao 3c87c57d96 golint fixed for modules/avatar 2016-11-25 16:37:04 +08:00
Ethan Koenig 0834e492c0 API endpoints for stars 2016-11-16 22:51:54 -05:00
Andrey Nering 739f07c98e Remember diff view style () 2016-11-13 10:54:04 +08:00
LefsFlare 3ef022b071 Fixes possible vulnerabilities with keyword hijacking ()
- Added public entries to reserved keywords list
- Rename variables
- Derped comment
2016-11-12 13:26:45 +01:00
Lunny Xiao 0baaa7728a bug fixed caused by () 2016-11-12 09:30:46 +01:00