Commit Graph
370 Commits
Author SHA1 Message Date
Jeppe Ryskov Larsen c69168c3d1 Allow for configuring DN format (#57)
* Add config options for customizing group and nate attribute prefixes and name of ssh-key output

* Rename nameattr and groupattr to respectively nameformat and groupformat

* Messed up setting up default values on merge for ldap and ldaps section

* Fix good-results after 'via LDAP' suffix was removed from gecos and description

* Added uid for good-results aswell

* Revert "Added uid for good-results aswell"

This reverts commit 21b86d257063d6fc00b9152a8b8ff87488e5c37a.

* Adjust tests

* order of cn and uid should be same for both posixaccount and posixgroup to pass tests
2019-03-22 10:45:02 +01:00
Benjamin Schweizer 98ea83c9e0 fixed quoting in docker startup script (#77)
Thanks @cxcv cxcv
2019-03-12 12:25:53 -05:00
Jeppe Ryskov Larsen 2243d3d049 Add config option 'watchconfig' to enable hot-reloading of config on change (#58) 2019-02-15 11:34:50 +01:00
Ben Yanke f793f3a08c Shell script typo fix - thanks @sleleko 2018-12-28 08:16:26 -06:00
Sergey Leleko ba364f12c9 Update host (#70)
For correct work port forwarding in docker
2018-12-28 08:14:44 -06:00
Ben Yanke 28802ff87d Pulling in latest changes and fixes for 1.1.1 (#56)
* Adding a few test dockerfiles

* Continued work on docker builds

* Basic example of docker build and run works - see build.sh for now

* Continuing to work on docker build

* Removing testing from build script, since it belongs later in process

* Implementing dumb init

* Docker build fully switched to alpine

* Setting up alpine build

* Cleaning up dockerfile

* Cleaning up repo in prep for merge

* Updating permissions for clean merge

* Removing old ansible cruft, as per #12

* Removing binaries (since we now build)

* Updating sample config to use new fields now available

* Testing travis

* another travis test

* Still working on travis builds

* Fix missing amazon packages

* Merge in Travis config feature branch (#26)

* Adding version string

* Fixing and cleaning up docker build

* Adding image hashing and verification to 'make all'

* Testing build

* Running gofmt to fix build

* Testing switching travis to make

* Testing build again

* Merging in Fixes from travis-build feature branch (#33)

This includes an integration test which runs glauth and compares ldapsearch snapshot output stored in the repo compared to the snapshot output of the glauth.

Additionally, removing old versions of go, and adding windows and linuxar builds (but not tests) to the makefile, and consequently, the travis build.

While the mac, linux-arm, and windows binaries are not able to be run in travis, they are able to be at least compiled.

* Remove needless comment from integration test

* Adding 'is-process-running' check before integration tests run, to clearly note if the program crashes on run

* Switching from 1 sec to 2 sec timeout for integration test

* Adding back config file to fix build. Previous commit intended to see if build failed (and it did)

* Add support for including groups in groups (#23)

* Add support for including groups in groups
* Pulling in Makefile structure to allow easier testing and builds

* Forgot to remove spare test

* Add Version Info at Buildtime  (#39)

Adds the build info to the binary at buildtime via buildtime variables. This is shown by `./glauth --version`.

Example output for a non-release:
```
GLauth
Non-release build from branch feature/buildversion

Build time: 20180531_181011Z
Commit: 07ba631c2fd0050f375655ad7c44f862e0e6640c
```

And example of a built release:
```
GLauth v2.3.4

Build time: 20180601_041330Z
Commit: 931d666262b96bab8a5c760be42d7facec7a2d74

```

* Fixing Broken Docker Build (#41)

Forgot to include go-bindata run in Dockerfile.

* Removing leftover TODO from merge

* Testing releases

* Testing releases

* Testing releases

* Adjusting logging

* Add new group tests to integration tests

* add cleanup to test process

* Add documentation about otherGroups, which was a previously undocumented field.

* Auto fetching bindata during build so it's not needed to be done manually

* Syntax fix

* starting framework for unit tests

* Merging in ongoing progress from Feature/travis build (#44)

Fixes a few minor issues:

#42 - now uses the makefile in the docker build, which means version info is correctly embedded at runtime - also now outputs version data at the top of the log when the container starts

Fixing a simple issue found by go vet. Need to do more work on fixing issues found in go vet.

* Forgot to run 'go fmt'

* Adding codecov for go now that a single test is written

* Testing not quite ready yet, removing from build

* Add Support For 2 Factor Authentication

Merging in feature from @ryskov (PR #24) adding 2FA support during LDAP binds. This is accomplished by concatenating the code to the end of the password. 

Also added integration tests for the TOTP method to run in CI. Could not, however, add automated tests for the yubikey, due the physical nature.

* Expose LDAPS ports in Docker container (#49)

Currently, the LDAPS ports are not exposed in the docker container.

* Adding better logging to docker start script

* Add more logging info to docker startup script

* Fix Arm32 Build (#52)

As discussed in issue #51, Arm32 builds were using 368 (intel/amd) arch accidentally, generating linux 32 bit binaries instead of arm 32 bit binaries. This commit fixes this in the Makefile, which will fix both the local builds, as well as the travis CI and release builds.

fixes #52

* Update docker hub image badge to a working one

previous one simply returned 0.

* Removing 3893 - fixes #50

* Fixing readme MD formatting

* Adding travis_retry to fix against intermittent network outages

* Add TLS options for running both with TLS and without on the same time (#27)

* Add TLS options for running both with TLS and without on the same time.

This commit expands on the settings available for using TLS. It puts TLS settings under the [frontend.tls] section and adds a new setting to [frontend] called TLSExclusive (bool).
TLSExclusive specifies whether or not to only run TLS when it is enabled, and is 'true' by default. Setting it to 'false' and having TLS enabled, causes the server to start both a LDAP and LDAPS server,
and therefore requires to seperate 'listen' options (to run on different ports) - the Frontend.Listen and the Frontend.TLS.Listen. If TLSExclusive is set to 'true' and no Frontend.TLS.Listen is specified, it will use the Frontend.Listen.

* Adding PR template and improving integration test tooling

* Updating formatting

* Add get dependencies step to makefile setup

* Add go 1.11

* Add App Password Support (#60)

App passwords can now be used to allow easier OTP use alongside applications which need to bind with a static password. Use the key `passappsha256` and specify an array of password hashes. See the readme and sample configuration file for more information.

Fixes #54

* Adding NCoC as official project code of conduct

We happily accept contributions based on the merit of the contributions.

* Properly handling paramaters in logs - fixes #64

* Adding ldapsearch for healthchecks
2018-12-25 11:25:42 -06:00
Ben Yanke 75fa168e9a Merge branch 'master' into dev 2018-12-25 11:24:55 -06:00
Ben Yanke 7a573aad93 Adding ldapsearch for healthchecks 2018-12-25 11:18:53 -06:00
Ben Yanke 9f349d10c8 Properly handling paramaters in logs - fixes #64 2018-11-15 06:56:00 -06:00
kost a02544ac8b Fix Legacy URL (#63) 2018-10-22 11:51:41 -05:00
kost 3acd492e61 uidnumber typo fix (#62) 2018-10-19 22:03:46 -05:00
Ben Yanke bd9a5e47ee Adding NCoC as official project code of conduct
We happily accept contributions based on the merit of the contributions.
2018-09-20 12:38:20 -05:00
Ben Yanke 2e70a47dd6 Adding NCoC as official project code of conduct
We happily accept contributions based on the merit of the contributions.
2018-09-20 12:38:03 -05:00
Ben Yanke e546a1a289 Add App Password Support (#60)
App passwords can now be used to allow easier OTP use alongside applications which need to bind with a static password. Use the key `passappsha256` and specify an array of password hashes. See the readme and sample configuration file for more information.

Fixes #54
2018-09-09 22:41:29 -05:00
Ben Yanke c550eb60e9 Add go 1.11 2018-09-09 20:18:32 -05:00
Ben Yanke 2b4aa3b78d Update README.md 2018-08-30 11:51:52 -05:00
Ben Yanke 6fbd8105cd Add get dependencies step to makefile setup 2018-08-23 00:24:10 -05:00
Ben Yanke a03a26960d Updating formatting 2018-08-22 09:09:53 -05:00
Ben Yanke 45a2671f46 Changing formatting 2018-08-22 09:09:17 -05:00
Ben Yanke 5e1ed70865 Add github PR template 2018-08-22 09:07:47 -05:00
Ben Yanke 3a13387be2 Adding PR template and improving integration test tooling 2018-08-22 08:55:54 -05:00
Ben Yanke e606ecbb56 Merge branch 'master' into dev 2018-08-21 22:58:21 -05:00
Jeppe Ryskov Larsen d9183b8f74 Add TLS options for running both with TLS and without on the same time (#27)
* Add TLS options for running both with TLS and without on the same time.

This commit expands on the settings available for using TLS. It puts TLS settings under the [frontend.tls] section and adds a new setting to [frontend] called TLSExclusive (bool).
TLSExclusive specifies whether or not to only run TLS when it is enabled, and is 'true' by default. Setting it to 'false' and having TLS enabled, causes the server to start both a LDAP and LDAPS server,
and therefore requires to seperate 'listen' options (to run on different ports) - the Frontend.Listen and the Frontend.TLS.Listen. If TLSExclusive is set to 'true' and no Frontend.TLS.Listen is specified, it will use the Frontend.Listen.
2018-08-21 22:18:42 -05:00
Ben Yanke 72c8e84a0d Adding travis_retry to fix against intermittent network outages 2018-08-09 23:18:41 -05:00
Ben Yanke c162ed8366 Fixing readme MD formatting 2018-08-04 22:56:30 -05:00
Ben Yanke 986a9187ee Removing 3893 - fixes #50 2018-08-04 22:14:05 -05:00
Ben Yanke a835e569cd Update docker hub image badge to a working one
previous one simply returned 0.
2018-07-31 16:03:21 -05:00
Ben Yanke d410b01955 Switching docker hub size badge to a working one 2018-07-31 16:02:52 -05:00
Felix Bartels ff6cb9a9d5 Fix Arm32 Build (#52)
As discussed in issue #51, Arm32 builds were using 368 (intel/amd) arch accidentally, generating linux 32 bit binaries instead of arm 32 bit binaries. This commit fixes this in the Makefile, which will fix both the local builds, as well as the travis CI and release builds.

fixes #52
2018-07-22 12:16:20 -05:00
Ben Yanke 6516741b3c Add more logging info to docker startup script 2018-07-21 20:17:40 -05:00
Ben Yanke 5c1a39bd47 Adding better logging to docker start script 2018-07-21 16:18:13 -05:00
Andreas Krüger a21d93bbd7 Expose LDAPS ports in Docker container (#49)
Currently, the LDAPS ports are not exposed in the docker container.
2018-07-21 07:31:07 -05:00
Ben Yanke 3a513c4ee6 Removing bindata - should have been previously gitignored 2018-07-20 23:38:14 -05:00
Ben Yanke 6a3f96c04d Pulling from Dev for v1.1 (#48)
Includes a number of fixes and improvements:

 - Add 2 factor auth (thanks @ryskov)
 - Dockerfile imporvements
 - Removing repo cruft
 - Improving travis builds and integration tests
 - Fixing broken amazon s3 packages (thanks @ryskov)
 - Vastly improved version string - now autogenerates based on git status in the repo at the time of build
 - Starting on travis builds for releases (currently built on my workstation)
 - Starting framework for unit tests
 - Add codecov to CI
2018-07-20 23:31:55 -05:00
Ben Yanke 2020579614 Merging branches 2018-07-20 23:24:59 -05:00
Jeppe Ryskov Larsen 47401aac5f Add Support For 2 Factor Authentication
Merging in feature from @ryskov (PR #24) adding 2FA support during LDAP binds. This is accomplished by concatenating the code to the end of the password. 

Also added integration tests for the TOTP method to run in CI. Could not, however, add automated tests for the yubikey, due the physical nature.
2018-07-20 23:08:12 -05:00
Ben Yanke 6cd27aa790 Testing not quite ready yet, removing from build 2018-06-15 23:43:40 -05:00
Ben Yanke 9495943701 Adding codecov for go now that a single test is written 2018-06-15 23:38:42 -05:00
Ben Yanke 8de56c87a9 Forgot to run 'go fmt' 2018-06-15 23:35:18 -05:00
Ben Yanke 208fb1e33d Merge branch 'dev' of github.com:glauth/glauth into dev 2018-06-15 23:29:49 -05:00
Ben Yanke 32a13ec85a Merging in ongoing progress from Feature/travis build (#44)
Fixes a few minor issues:

#42 - now uses the makefile in the docker build, which means version info is correctly embedded at runtime - also now outputs version data at the top of the log when the container starts

Fixing a simple issue found by go vet. Need to do more work on fixing issues found in go vet.
2018-06-15 23:29:45 -05:00
Ben Yanke a75743ef7d starting framework for unit tests 2018-06-15 23:29:15 -05:00
Ben Yanke fef26916e9 Adding donate info 2018-06-15 22:15:52 -05:00
Ben Yanke 8e48638f05 Adding donate info 2018-06-15 22:14:59 -05:00
Ben Yanke 93a6a5542f Syntax fix 2018-06-07 11:18:30 -05:00
Ben Yanke c431a6e426 Auto fetching bindata during build so it's not needed to be done manually 2018-06-07 11:14:27 -05:00
Ben Yanke a9837f3112 Add documentation about otherGroups, which was a previously undocumented field. 2018-06-06 12:49:56 -05:00
Ben Yanke 2d7a2ab8ce add cleanup to test process 2018-06-05 21:10:30 -05:00
Ben Yanke bc94f47c9e Add new group tests to integration tests 2018-06-05 20:21:42 -05:00
Ben Yanke 39b50ec92a Adjusting logging 2018-06-05 12:22:49 -05:00