233 Commits (332dbe73935ba960d8769bfc20b8d275922e4137)

Author SHA1 Message Date
Lanre Adelowo 126ba796dc Force user to change password (#4489)
* 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>
6 years ago
Magnus Lindvall cdb9478774 LDAP Public SSH Keys synchronization (#1844)
* 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)
6 years ago
Lauris BH 501fb228e6
Add option to use paged LDAP search when synchronizing users (#3895) 6 years ago
Allen Wild 8606d9f5bc Add admin dashboard option to run health checks (#3606)
There's one for git gc, why not git fsck too?

Also add a couple more trace logs to GitFsck to see progress
6 years ago
Kim "BKC" Carlbäcker e5b8b4b5ec Cleanup models.User.HashPassword (#3334) 7 years ago
Morgan Bazalgette 65861900cd Handle refactor (#3339)
* Replace all ctx.Handle with ctx.ServerError or ctx.NotFound

* Change Handle(403) to NotFound, avoid using macaron's NotFound
7 years ago
Morgan Bazalgette 674cfb7cac Change EncodePasswd to HashPassword (#3329)
* Change EncodePasswd to HashPassword

* Create test+benchmark for HashPassword
7 years ago
Ethan Koenig 716ac1214f Enable admin to search by email (#2888) 7 years ago
Lauris BH eca05b09aa Add commit count caching (#2774)
* Add commit count caching

* Small refactoring

* Add different key prefix for refs and commits

* Add configuratuion option to allow to change caching time or disable it
7 years ago
Lunny Xiao 6eeadb2082 Hide unactive on explore users and some refactors (#2741)
* 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
7 years ago
Morlinest dff26e25ca Remove redudant functions and code (#2652)
* Remove redudant functions and code
7 years ago
Ethan Koenig b689bb6180 Webhooks for repo creation/deletion (#1663)
* Webhooks for repo creation/deletion

* add createHookTask

* Add handles for GetSlackPayload and GetDiscordPayload
7 years ago
Lauris BH 32fc44aa83 Make time diff translatable (#2057) 7 years ago
Lunny Xiao 75b5be236a Display config file path on admin panel (#2030) 7 years ago
Lauris BH 524885dd65 LDAP user synchronization (#1478) 7 years ago
Willem van Dreumel 950f2e2074 Additional OAuth2 providers (#1010)
* add google+

* sort signin oauth2 providers based on the name so order is always the same

* update auth tip for google+

* add gitlab provider

* add bitbucket provider (and some go fmt)

* add twitter provider

* add facebook provider

* add dropbox provider

* add openid connect provider incl. new format of tips section in "Add New Source"

* lower the amount of disk storage for each session to prevent issues while building cross platform (and disk overflow)

* imports according to goimport and code style

* make it possible to set custom urls to gitlab and github provider (only these could have a different host)

* split up oauth2 into multiple files

* small typo in comment

* fix indention

* fix indentation

* fix new line before external import

* fix layout of signin part

* update "broken" dependency
7 years ago
Bo-Yi Wu 95574a3640 fix: Admin can see all private repositories on Explore page. (#1026)
* fix: Admin can see all private repositories on Explore page.

* refactor: fix session
7 years ago
Lunny Xiao 0e6b9ea786 Take back control of hooks (#1006)
* git: delegate all server-side Git hooks (#1623)

* create hooks directories

* take control hooks back

* fix lint

* bug fixed and minor changes

* fix imports style

* fix migration scripts
7 years ago
Willem van Dreumel 01d957677f Oauth2 consumer (#679)
* 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)
7 years ago
Bo-Yi Wu d67b278a0d feat: Able to disable non-admin to create new organization (#927) 7 years ago
Bo-Yi Wu 5cc275b1de feat: add git version on admin panel. (#921) 7 years ago
Matthias Loibl d1006150fb Refactor process package and introduce ProcessManager{} with tests (#75)
* Add a process.Manager singleton with process.GetManager()

* Use process.GetManager everywhere

* Fix godoc comments for process module

* Increment process counter id after locking the mutex
8 years ago
Schwobaland c0904f1942 Restrict creating organisations by user (#193)
* 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
8 years ago
Bwko fa3abc22c0 Added sorting to organizations, repos & users page (#222) 8 years ago
Alexander Lunegov d5d21b67d2 Fix string format verbs (#3637) 8 years ago
Denis Denisov 380e32e129 Fix random string generator (#384)
* 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
8 years ago
Lunny Xiao ec87a75c00 golint fixed for modules/auth 8 years ago
Lunny Xiao 94da472717 Golint fixed for modules/setting (#262)
* golint fixed for modules/setting

* typo fixed and renamed UNIXSOCKET to UnixSocket
8 years ago
Lunny Xiao 659bc2814c go lint fixed for routers/admin 8 years ago
Sandro Santilli 4247304f5a Update import paths from github.com/go-gitea to code.gitea.io (#135)
- Update import paths from github.com/go-gitea to code.gitea.io
- Fix import path for travis

See https://docs.travis-ci.com/user/languages/go#Go-Import-Path
8 years ago
Thibault Meyer 3a10a0c1ca
Ordering organizations and users by name 8 years ago
Sandro Santilli 864d1b1f9f Fix type in unused constant name (#111)
* Write LDAP, SMTP, PAM, DLDAP back to all uppercase

* Fix type in unused constant name

* Other MixCased fixes

* Complete MixerCasing of template constants

* Re uppercase LTS and LDAPS suffixes

* Uppercase JSON suffix in constant names

* Proper case LoginNoType

* Prefix unexported template path constants with "tpl"
8 years ago
Sandro Santilli aadd7dcdc3 And others 8 years ago
Sandro Santilli 05fd9d3f09 Security protocols 8 years ago
Sandro Santilli 7612b5ec40 More mixage 8 years ago
Sandro Santilli 60c82a8780 More... 8 years ago
Rémy Boulanouar 2d68bd1ef9 Change import reference to match gitea instead of gogs (#37) 8 years ago
Unknwon 152e715999 models/login_source: code improvement 8 years ago
Unknwon 99c2ae7b35 #3515 use alert instead 500 for duplicated login source name 8 years ago
Thibault Meyer 6a81632e36 Fix typo CacheInternal -> CacheInterval (#3432) 8 years ago
Unknwon b85927e488 #3091 show Git configs on admin panel 8 years ago
Sandro Santilli 90dd0657b5 Add support for federated avatars (#3320)
* Add support for federated avatars

Fixes #3105

Removes avatar fetching duplication code
Adds an "Enable Federated Avatar" checkbox in user settings
(defaults to unchecked)

Moves avatar settings all in the same form, making
local and remote avatars mutually exclusive

Renames UploadAvatarForm to AvatarForm
as it's not anymore only for uploading

* Run gofmt on all modified files

* Move Avatar form in its own page

* Add go-libravatar dependency to vendor/ dir

Hopefully helps with accepting the contribution.
See also #3214

* Revert "Add go-libravatar dependency to vendor/ dir"

This reverts commit a8cb93ae640bbb90f7d25012fc257bda9fae9b82.

* Make federated avatar setting a global configuration

Removes the per-user setting

* Move avatar handling back to base tool, disable federated avatar in offline mode

* Format, handle error

* Properly set fallback host

* Use unsupported github.com mirror for importing go-libravatar

* Remove comment showing life exists outside of github.com

... pity, but contribution would not be accepted otherwise

* Use Combo for Get and Post methods over /avatar

* FEDERATED_AVATAR -> ENABLE_FEDERATED_AVATAR

* Fix persistance of federated avatar lookup checkbox at install time

* Federated Avatars -> Enable Federated Avatars

* Use len(string) == 0 instead of string == ""

* Move import line where it belong

See
https://github.com/Unknwon/go-code-convention/blob/master/en-US/import_packages.md

Pity the import url is still the unofficial one, but oh well...

* Save a line (and waste much more expensive time)

* Remove redundant parens

* Remove an empty line

* Remove empty lines

* Reorder lines to make diff smaller

* Remove another newline

Unknwon review got me start a fight against newlines

* Move DISABLE_GRAVATAR and ENABLE_FEDERATED_AVATAR after OFFLINE_MODE

On re-reading the diff I figured what Unknwon meant here:
https://github.com/gogits/gogs/pull/3320/files#r73741106

* Remove newlines that weren't there before my intervention
8 years ago
Unknwon 1f2e173a74 Refactor User.Id to User.ID 8 years ago
Unknwon 46e96c008c Use struct for UI settings 8 years ago
Unknwon c083d76567 #2937 able to prohibit user login 8 years ago
Unknwon f1b8d52eb3 #2854 fix no mail notification when issue is closed/reopened 8 years ago
Unknwon 401bf944ef Use SecurityProtocol to replace UseSSL in LDAP config
Initially proposed by #2376 and fixes #3068 as well.
8 years ago
Unknwon 149d62a648 #13 fix admin can't search private repos
- update glide info
8 years ago
Unknwon 2bf8494332 #13 finish user and repository search
Both are possible on explore and admin panel
8 years ago
Unknwon 514382e2eb Rename module: middleware -> context 8 years ago
Unknwon 045f14fbd0 #1146 finsih UI work for access mode of collaborators
Collaborators have write access as default, and can be changed via repository
collaboration settings page to change between read, write and admin.
8 years ago
Unknwon f946040fa9 #1891 attempt to fix expected invalid CSRF token
- Remove unused config settings `[picture] service`
8 years ago
Unknwon 8055a0bdac Post work for #2637
Improve test cases, config settings, also show SSH config settings on admin config panel.
8 years ago
Unknwon baaf6046a1 Minor fix for #2660 8 years ago
Josh Frye c27038e392 Test mailer button. Addresses #1531 8 years ago
Unknwon d8a994ef24 Move cron module to independent package
Make it easier to keep track of upstream changes and bug fixes
8 years ago
Adam Strzelecki 834d92a47b LDAP: Fetch attributes in Bind DN context option
This is feature is workaround for #2628 (JumpCloud) and some other services
that allow LDAP search only under BindDN user account, but not allow any LDAP
search query in logged user DN context.

Such approach is an alternative to minimal permissions security pattern for
BindDN user.
8 years ago
Unknwon 04be8c0de5 #2554 reinitialize all repos from the db
- Update locales
9 years ago
Unknwon 3d5d61778a #1938 #1374 disable password change for non-local users 9 years ago
Unknwon 2a0bb1fa90 #1575 Limit repo creation 9 years ago
Unknwon 89244b74c6 remember page number when delete repo 9 years ago
Unknwon ca8ce793d1 #2063 Ability to delete repo from admin panel 9 years ago
Unknwon 978dc00305 APIs: admin users 9 years ago
Unknwon f41360d864 #2052 advanced select ops for system notices 9 years ago
Unknwon 0be8b1b1a1 #2052 Ability to batch delete system notices 9 years ago
Adam Strzelecki 573305f3d3 LDAP: Optional user name attribute specification
Consider following LDAP search query example:

    (&(objectClass=Person)(|(uid=%s)(mail=%s)))

Right now on first login attempt Gogs will use the text supplied on login form
as the newly created user name. In example query above the text matches against
both e-mail or user name. So if user puts the e-mail then the new Gogs user
name will be e-mail which may be undesired.

Using optional user name attribute setting we can explicitly say we want Gogs
user name to be certain LDAP attribute eg. `uid`, so even user will use e-mail
to login 1st time, the new account will receive correct user name.
9 years ago
Unknwon efea642d6c add admin op: delete missing repos 9 years ago
Unknwon 10427b2178 fix #1930 9 years ago
Unknwon 6f0a41b8b2 #1511 Allow local import only for admin users 9 years ago
Unknwon 932dbccb67 fix import path, fix #1782 9 years ago
Unknwon 21e13cb51e #1525 Triggere mailer for admin created accounts 9 years ago
Unknwon 986447335d #1693 minor fix 9 years ago
无闻 84c727ae66 Merge pull request #1693 from sapk/fix-admin-repo-new-ui
Fix admin repos new ui
9 years ago
无闻 ee1256cf74 Merge pull request #1691 from sapk/fix-admin-organization-new-ui
Fix admin organization new ui
9 years ago
Antoine GIRARD dfc16d0879 Fix admin repos new ui 9 years ago
Antoine GIRARD a8fd615adc Fix indent in notice router 9 years ago
Antoine GIRARD c98dad1cf3 New admin organization UI 9 years ago
Unknwon 0d5e57e4ae #1689 minor fixes and update locale 9 years ago
Antoine GIRARD 3544dafb64 Fix indent 9 years ago
Antoine GIRARD 14a1101139 New admin notice UI based on user list example 9 years ago
Unknwon 3fb1b6a608 drop oauth2 feature support 9 years ago
Unknwon f5c7f22cc8 #1637 able to skip verify for LDAP 9 years ago
Unknwon 2d1bb0cf49 #1633 admin delete user 9 years ago
Unknwon b0bf4cc1cb fix #1632 and #1606 9 years ago
Unknwon 83e747bfda #697 and #1606 and new admin edit user UI 9 years ago
Unknwon e5ed5904c6 #1606 GUI bug while adding ldap user 9 years ago
Unknwon 8e0a69f86a #697 disable captcha and new admin create user UI 9 years ago
Unknwon cd37fccdfb #1625 remove auto_register and makes it default 9 years ago
Unknwon 10de16beb0 typo and README 9 years ago
Unknwon be89802bd8 new admin user list UI 9 years ago
Unknwon 362d64df04 #1620 add allowed domains for SMTP auth 9 years ago
Unknwon 121a81a2c5 finish new edit auth UI 9 years ago
Unknwon 0617448282 finish new add auth UI 9 years ago
Unknwon fa728d8dff more minor fix on 1581 9 years ago
Sergio Benitez 2d1db4bf05 Added LDAP simple auth support. 9 years ago
Unknwon ea454c21f7 #1542 A way to skip TLS verify for SMTP authentication 9 years ago
Girish Ramakrishnan 24d7a86a8d Set IsAdmin using LDAP
The IsAdmin flag is set based on whether the admin filter
returned any result. The admin filter is applied with the user dn
as the search root.

In the future, we should update IsAdmin as well on each login.
Alternately, we can have a periodic sync operation.
9 years ago
Unknwon b1696665bd make cron task configurable 9 years ago
Sergio Benitez 7d84d4a8f0 Significantly enhanced LDAP support in Gogs. 9 years ago
Unknwon dea3a8c6a4 WIP: create PR - choose branch 9 years ago