Commit graph

337 commits

Author SHA1 Message Date
Eric Chiang
60b843e78b Merge pull request #339 from ericchiang/case_insensitive_emails
db: email comparison should be case insensitive
2016-03-02 16:51:47 -08:00
Eric Chiang
09069a51a7 Merge pull request #356 from ericchiang/fix_cross_compilation
Fix cross compilation
2016-03-02 14:47:39 -08:00
Eric Chiang
875d5d09bf db: regenerate migrations 2016-03-02 14:47:17 -08:00
Eric Chiang
4feaae98b0 db: add better comment about migration 2016-03-02 14:47:00 -08:00
Eric Chiang
91ef40b124 *: fix release script 2016-03-02 12:41:24 -08:00
Eric Chiang
93b89ad0e9 db: protect the sqlite3 import with a cgo tag 2016-03-02 12:02:55 -08:00
Eric Chiang
01a24542e9 *: fix tests that care about email case sensitivity 2016-03-01 14:09:10 -08:00
Eric Chiang
2a0cc47419 db: generate in-memory migration assets 2016-03-01 10:59:25 -08:00
Eric Chiang
f738188c13 db: switch migration source to use in-memory migration
When reading migrations from files, sql-migrate attempts to split
SQL statements. The parsing logic does not handle $BODY$ statements
and broke when the migration included one.

Replace go-bindata with a small migration generation script and use
in memory migrations instead.
2016-03-01 10:55:05 -08:00
Eric Chiang
208afd3b01 *: add functional tests for case insensitive emails 2016-03-01 10:54:12 -08:00
Eric Chiang
9bc68edae7 *: add migration to convert all emails to lowercase
Fixes #338
2016-03-01 10:51:50 -08:00
Eric Chiang
a35b4257cd Merge pull request #349 from ericchiang/remove_unused_code
*: remove unused code
2016-02-29 12:29:07 -08:00
Eric Chiang
3f4a42eefd *: remove unused code
This change has no functional changes, it only removes dead code.
2016-02-29 11:29:36 -08:00
Eric Chiang
4855805983 Merge pull request #330 from ericchiang/mem_db_concurrent_conns
db: only allow one open connection for in memory databases
2016-02-25 13:23:08 -08:00
Eric Chiang
ee3d6c25d6 Merge pull request #333 from ericchiang/example_app
examples: set example app flag defaults to work with --no-db mode
2016-02-25 13:22:33 -08:00
Eric Chiang
350571acf6 Merge pull request #323 from ericchiang/cleanup_functional
functional: don't fail if postgres or ldap isn't available
2016-02-25 13:03:06 -08:00
Eric Chiang
bf88fe48a6 functional: don't fail if postgres or ldap isn't availabl 2016-02-25 11:57:26 -08:00
Eric Chiang
118bbb6d18 Merge pull request #335 from ericchiang/fix_passwords
user: fix password info JSON encoding to survive round trips
2016-02-24 13:55:43 -08:00
Eric Chiang
221a1ad7a0 user: fix password info JSON encoding to survive round trips
PasswordInfos are marshaled when storing them in the database as
part of the local connector. However, the custom unmarsheler
defined could not unmarshal the standard marshling of this struct.

Add a struct tag to the Password field to correct this.

Closes #332
2016-02-23 16:25:56 -08:00
Eric Chiang
33e3c04b38 examples: set example app flag defaults to work with --no-db mode 2016-02-23 15:36:01 -08:00
Eric Chiang
22180c697f db: only allow one open connection for in memory databases
sqlite3 in memory databases do not support concurrent writes. Limit
number of open connections to prevent race conditions.
2016-02-22 16:30:48 -08:00
bobbyrullo
f51125f555 Merge pull request #304 from ericchiang/sqlite3
move to sqlite3 for --no-db mode and tests
2016-02-19 16:03:15 -08:00
Eric Chiang
9ca27a2035 Merge pull request #322 from ericchiang/update_roadmap
Documentation: update roadmap with issue and PR numbers
2016-02-19 10:04:55 -08:00
Eric Chiang
a7bd437c25 Documentation: update roadmap with issue and PR numbers
Closes #299
2016-02-18 11:08:03 -08:00
Eric Chiang
a58b9c268b Merge pull request #321 from ericchiang/add_go_1_6
*: add go 1.6 to CI
2016-02-17 16:52:04 -08:00
Eric Chiang
abc91564ba *: add go 1.6 to CI 2016-02-17 16:32:46 -08:00
Eric Chiang
f1d0e307ec session: remove unused function argument 2016-02-16 18:20:48 -08:00
Eric Chiang
ed5dee9960 db: clean up quote and executor function calls, improve translate docs 2016-02-16 18:19:23 -08:00
Eric Chiang
aff47d2cb2 Merge pull request #317 from fnordahl/connector_ldap_make_const_defaults
connector_ldap: Make constants for default values, simplify logic
2016-02-16 16:06:35 -08:00
Eric Chiang
2cc0ae6fac functional: remove in memory connector configs from ldap tests 2016-02-16 15:21:38 -08:00
Frode Nordahl
bedd4716b9 Make constants for default values, simplify logic 2016-02-16 23:58:41 +01:00
Eric Chiang
dc9e596542 Merge pull request #315 from fnordahl/issue/314-entryDN-does-not-exist
Get DN from entry, not entryDN attribute
2016-02-16 09:44:32 -08:00
Frode Nordahl
508c24b10e Get DN from entry, not entryDN attribute
Not all LDAP servers have entryDN available as an attribute. Reading up on
https://tools.ietf.org/html/rfc5020 tells me that entryDN is intended for
making the DN available for attribute value assertions. Thus it is not
mandatory for a LDAP server to make it available as an retrievable
attribute.

The DN is always a part of the entry returned in a search result, just use
it.

Fixes #314
2016-02-14 09:33:38 +01:00
Eric Chiang
1658e86b2a *: fix govet warnings 2016-02-12 13:19:05 -08:00
Eric Chiang
07236da1e7 *: use go install instead of go build in build script
go-sqlite3 takes a long time to compile, so it's very important
to cache a build rather than re-compile every time.

Use go install instead of go build in the build script to cache
all packages. Print a warning in the test script if cached packages
are not found.
2016-02-12 13:19:05 -08:00
Eric Chiang
07af73f367 *: don't allow sqlite3 if --no-db flag not specified 2016-02-12 13:19:05 -08:00
Eric Chiang
3b125d6073 *: fix --no-db client decoding 2016-02-12 13:19:05 -08:00
Eric Chiang
dcf5835189 *: remove in memory connector config repo 2016-02-12 13:19:05 -08:00
Eric Chiang
b572b8dd6c *: remove in memory client repo
The DB implementation expects secrets to be base64 encoded blobs.
Because of this a bunch of tests broke moving to sqlite.

A lot of this commit is fixing those tests.
2016-02-12 13:19:05 -08:00
Eric Chiang
72d1ecab64 *: remove in memory password info repo 2016-02-12 13:19:05 -08:00
Eric Chiang
2726f4dcdf *: remove in memory user repo 2016-02-12 13:19:05 -08:00
Eric Chiang
95560404a3 *: remove in memory refresh repo 2016-02-12 13:19:05 -08:00
Eric Chiang
7bac93aa20 *: remove in memory session repos
Move manager to it's own package so it can import db. Move all
references to the in memory session repos to use sqlite3.
2016-02-12 13:19:05 -08:00
Eric Chiang
5052d8007f functional: clean up functional tests
Adjust logic and remove panics from functional tests.
2016-02-12 13:19:05 -08:00
Eric Chiang
bfd63b7514 db: add sqlite3 support 2016-02-12 13:19:05 -08:00
Eric Chiang
8f16279f49 Godeps: add sqlite3 2016-02-12 13:19:05 -08:00
Eric Chiang
cd72a1f69f Merge pull request #178 from fnordahl/ldap_connector
connector: add LDAP connector
2016-02-12 11:30:21 -08:00
Frode Nordahl
4d970d5fc4 connector: add LDAP connector
Authentication is performed by binding to the configured LDAP server using
the user supplied credentials. Successfull bind equals authenticated user.

Optionally the connector can be configured to search before authentication.
The entryDN found will be used to bind to the LDAP server.

This feature must be enabled to get supplementary information from the
directory (ID, Name, Email). This feature can also be used to limit access
to the service.

Example use case: Allow your users to log in with e-mail address instead of
the identification string in your DNs (typically username).

To make re-use of HTTP form handling code from the Local connector possible:
- Implemented IdentityProvider interface
- Moved the re-used functions to login_local.go

Fixes #119
2016-02-11 18:30:16 +01:00
Frode Nordahl
bb53e5bb81 Godeps: add ldap and asn1-ber library 2016-02-11 18:30:15 +01:00
Eric Chiang
8bfe5d92fc Merge pull request #307 from ericchiang/google_group
README: add note about roadmap and google group
2016-02-10 14:21:53 -08:00