Before:
dn: ou=vpn,ou=users,dc=glauth,dc=com
cn: vpn
After:
dn: ou=vpn,ou=users,dc=glauth,dc=com
ou: vpn <<< THIS HAS CHANGED
NOTE: whereas previously a search filter (cn=vpn) would have found the
group, now you need (ou=vpn)
* Reverse pull request from master to dev.
Reverse pull request.
* Fix/docker latest tag (#260)
* Dev (#254)
* use functional options pattern to inject logr (#124)
* use functional options pattern to inject logr
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
* cleanup log formatting
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
* allow clean shutdown (#126)
* fix owncloud posix query, log message and provisioning api results (#128)
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
* don't hardcode graphapi endpoint
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
* add support for write handlers (#135)
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
* config: match shadowaccount objectlcass (#136)
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
* Makefile compatiblility (#134)
Co-authored-by: Jörn Friedrich Dreyer <jfd@butonic.de>
* update travis.yml (#154)
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
* check owncloud status code is ok (#153)
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
* Bulid and push multiarch docker images (#142)
Fix#141.
With this change, a github action is added that builds a multiarch docker image on every commit, supporting x86_64, aarch64 and arm/v7.
When the action is triggered on a release or tag, it also uploads the versioned image to github container image registry.
Co-authored-by: Jörn Friedrich Dreyer <jfd@butonic.de>
* don't mix graph and provisioning api (#157)
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
* Reuse http client as much as possible and allow insecure transport (#160)
* Allow using configmaps when deploying in kubernetes (#161)
* Ensure config watcher also works in kubernetes
When using configmaps in kubernetes, the file is a symlink, and then
file-watcher is not opdated with a write event. Instead it receives a
CHMOD and a REMOVE event.
This change adds two things
1) Removal of the current wacther and adding of a new watcher for the
same path
2) The do-reload conditional is updated to also include the remove
event.
* Align write and removed conditionals
* Fix API server json formating (#163) (#164)
* Update README.md (#167)
Fixing bad port in quickstart
* Use port 3893 with ldapsearch in example (#150)
* feat: add flags for ldap listen addresses (#169)
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
* Assets build fix. (#171)
* Docker build fix.
* Makefile fix.
* update readme, config and deps (#170)
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
* Remove byanke's donation fields
* Database plugins (#133)
This commit actually covers a few items. In future commits, I will keep features distinct. This is only happening this time around due to how long it took to merge this branch.
Covered:
- Database plugins (at this time: SQLite, MySQL, Postgres)
- Backends acting as middleware: added the [[Backends]] configuration directive while retaining backward compatibility with [Backend]
- Schema introspection (root DSE query with base scope)
- When proxying, insert queried attribute back in upstream response, if absent, so that the LDAP library does not filter out all entries
- When chaining backends, any backend can be used to inject OTP value in password, before reaching a non-OTP-aware backend (currently guarded by a True statement in case we find an issue (I did thoroughly test but you never know))
- Handling of special "1.1" attributes filter meaning "I do not want attributes" (RFC 4511, 4.5.1.8)
- Support for "want types only" queries, even when proxying
* Mac M1 Support and LDAP Req Attributes (#192)
* Mac M1 Support
* Augmented root DSS and schema discovery based on content of schema directory
* LDAP workaround where req. attribute gets injected in response now works with combined filters
* SubSchema query can return a minimal set, freeipa or openldap's schemas
* Feature/upgrade ldap library version (#194)
* Stronger, salted paswords using bcrypt. (#195)
* Fixed badges in README file and added a couple improvements (#196)
* fix lock for ownCloud / graph backend (#198)
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
* the config struct is only needed by the config backend (#199)
* Variable "unixid" is now respectively "UIDNumber" and "GIDNumber" for… (#201)
* fix: keep watch config file when changed,renamed,removed (#189)
I will need to run `glauth.go` through `gofmt` myself but that is fine.
* Returning when unable to start config watcher (#203)
* Introducing goconvey testing and refactoring of config and ... (#204)
* Introducing goconvey testing and refactoring of config and plugin backends.
* gofmt, oops
* Refactored re-insertion of requested attributes
* Allow bind operations with no group provided (#205)
* Support for userPrincipalName binding and browsing. (#206)
* Support for userPrincipalName binding and browsing.
* Fixed travis CI test for userprincipalname
* fixing travis tests for more users
* Rate limit after failed binds (#207)
* Capabilities -- part 2 (#214) + do not dump config at startup
* Attempting migration from Travis to Github Actions
* Migration Step#2
* Migration Step#3
* Migration Step#4
* Migration Step#5
* Migration Step#6
* Migration Step#7
* Migration Step#8
* Migration Step#9
* Migration Step#9
* Migration dev...
* Migration dev...
* Migration dev...
* Migration dev...
* Docker with plugins, first step (#215)
* Docker with plugins, first step
* Build better docker images, including plugins
* Merge back from dev to feature branch step #2
* Added capabilities to CI
* - Now creating two docker images, including one with plugins
- Moving from Travis CI to GitHub Actions
* Plugins now run on distroless (#217)
* Getting rid of Travis CI now that it doesn't support FOSS anymore.
* Internal Stats -- performance view (#221)
* Local merge
* Update CI to forget about bindata
* Forgot to cleanup the cleanup...
* assets: use stdlib "embed" package (#200)
This should make it easier to include GLAuth in other projects using `go get`
* 'Airgapping' web assets for security and preventing breakage (#227)
* v2 -- V2 hierarchy (#228)
* Search refactoring, tree traversal and scope correctness (#229)
Search refactoring, tree traversal and scope correctness.
* Feature/multi cfg (#233)
* Feature/custom attributes (#240)
* Makefiles: platform releases (#241)
* Feature/release script (#242)
* Bug/fix docker build in v2 (#244)
* Fix#246 and #252
Co-authored-by: Jörn Friedrich Dreyer <jfd@butonic.de>
Co-authored-by: Zhou Wenzong <wenzong@users.noreply.github.com>
Co-authored-by: Jairo Llopis <Yajo@users.noreply.github.com>
Co-authored-by: Benedikt Kulmann <benedikt@kulmann.biz>
Co-authored-by: Nicolai Willems <172633+nwillems@users.noreply.github.com>
Co-authored-by: Thibault Soubiran <soubi.thibault@gmail.com>
Co-authored-by: Clement JACOB <clems71@gmail.com>
Co-authored-by: Lutz Horn <code@lhorn.de>
Co-authored-by: Márk Sági-Kazár <sagikazarmark@users.noreply.github.com>
Co-authored-by: Peter Heise <pheise@koprolalie.com>
Co-authored-by: Ben Yanke <ben@benyanke.com>
Co-authored-by: fanlix <fanlix@gmail.com>
Co-authored-by: Hank Donnay <hdonnay@gmail.com>
* Cleanup
Co-authored-by: Jörn Friedrich Dreyer <jfd@butonic.de>
Co-authored-by: Zhou Wenzong <wenzong@users.noreply.github.com>
Co-authored-by: Jairo Llopis <Yajo@users.noreply.github.com>
Co-authored-by: Benedikt Kulmann <benedikt@kulmann.biz>
Co-authored-by: Nicolai Willems <172633+nwillems@users.noreply.github.com>
Co-authored-by: Thibault Soubiran <soubi.thibault@gmail.com>
Co-authored-by: Clement JACOB <clems71@gmail.com>
Co-authored-by: Lutz Horn <code@lhorn.de>
Co-authored-by: Márk Sági-Kazár <sagikazarmark@users.noreply.github.com>
Co-authored-by: Peter Heise <pheise@koprolalie.com>
Co-authored-by: Ben Yanke <ben@benyanke.com>
Co-authored-by: fanlix <fanlix@gmail.com>
Co-authored-by: Hank Donnay <hdonnay@gmail.com>
Co-authored-by: Jörn Friedrich Dreyer <jfd@butonic.de>
Co-authored-by: Zhou Wenzong <wenzong@users.noreply.github.com>
Co-authored-by: Jairo Llopis <Yajo@users.noreply.github.com>
Co-authored-by: Benedikt Kulmann <benedikt@kulmann.biz>
Co-authored-by: Nicolai Willems <172633+nwillems@users.noreply.github.com>
Co-authored-by: Thibault Soubiran <soubi.thibault@gmail.com>
Co-authored-by: Clement JACOB <clems71@gmail.com>
Co-authored-by: Lutz Horn <code@lhorn.de>
Co-authored-by: Márk Sági-Kazár <sagikazarmark@users.noreply.github.com>
Co-authored-by: Peter Heise <pheise@koprolalie.com>
Co-authored-by: Ben Yanke <ben@benyanke.com>
Co-authored-by: fanlix <fanlix@gmail.com>
Co-authored-by: Hank Donnay <hdonnay@gmail.com>
* Dev (#254)
* use functional options pattern to inject logr (#124)
* use functional options pattern to inject logr
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
* cleanup log formatting
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
* allow clean shutdown (#126)
* fix owncloud posix query, log message and provisioning api results (#128)
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
* don't hardcode graphapi endpoint
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
* add support for write handlers (#135)
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
* config: match shadowaccount objectlcass (#136)
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
* Makefile compatiblility (#134)
Co-authored-by: Jörn Friedrich Dreyer <jfd@butonic.de>
* update travis.yml (#154)
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
* check owncloud status code is ok (#153)
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
* Bulid and push multiarch docker images (#142)
Fix#141.
With this change, a github action is added that builds a multiarch docker image on every commit, supporting x86_64, aarch64 and arm/v7.
When the action is triggered on a release or tag, it also uploads the versioned image to github container image registry.
Co-authored-by: Jörn Friedrich Dreyer <jfd@butonic.de>
* don't mix graph and provisioning api (#157)
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
* Reuse http client as much as possible and allow insecure transport (#160)
* Allow using configmaps when deploying in kubernetes (#161)
* Ensure config watcher also works in kubernetes
When using configmaps in kubernetes, the file is a symlink, and then
file-watcher is not opdated with a write event. Instead it receives a
CHMOD and a REMOVE event.
This change adds two things
1) Removal of the current wacther and adding of a new watcher for the
same path
2) The do-reload conditional is updated to also include the remove
event.
* Align write and removed conditionals
* Fix API server json formating (#163) (#164)
* Update README.md (#167)
Fixing bad port in quickstart
* Use port 3893 with ldapsearch in example (#150)
* feat: add flags for ldap listen addresses (#169)
Signed-off-by: Mark Sagi-Kazar <mark.sagikazar@gmail.com>
* Assets build fix. (#171)
* Docker build fix.
* Makefile fix.
* update readme, config and deps (#170)
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
* Remove byanke's donation fields
* Database plugins (#133)
This commit actually covers a few items. In future commits, I will keep features distinct. This is only happening this time around due to how long it took to merge this branch.
Covered:
- Database plugins (at this time: SQLite, MySQL, Postgres)
- Backends acting as middleware: added the [[Backends]] configuration directive while retaining backward compatibility with [Backend]
- Schema introspection (root DSE query with base scope)
- When proxying, insert queried attribute back in upstream response, if absent, so that the LDAP library does not filter out all entries
- When chaining backends, any backend can be used to inject OTP value in password, before reaching a non-OTP-aware backend (currently guarded by a True statement in case we find an issue (I did thoroughly test but you never know))
- Handling of special "1.1" attributes filter meaning "I do not want attributes" (RFC 4511, 4.5.1.8)
- Support for "want types only" queries, even when proxying
* Mac M1 Support and LDAP Req Attributes (#192)
* Mac M1 Support
* Augmented root DSS and schema discovery based on content of schema directory
* LDAP workaround where req. attribute gets injected in response now works with combined filters
* SubSchema query can return a minimal set, freeipa or openldap's schemas
* Feature/upgrade ldap library version (#194)
* Stronger, salted paswords using bcrypt. (#195)
* Fixed badges in README file and added a couple improvements (#196)
* fix lock for ownCloud / graph backend (#198)
Signed-off-by: Jörn Friedrich Dreyer <jfd@butonic.de>
* the config struct is only needed by the config backend (#199)
* Variable "unixid" is now respectively "UIDNumber" and "GIDNumber" for… (#201)
* fix: keep watch config file when changed,renamed,removed (#189)
I will need to run `glauth.go` through `gofmt` myself but that is fine.
* Returning when unable to start config watcher (#203)
* Introducing goconvey testing and refactoring of config and ... (#204)
* Introducing goconvey testing and refactoring of config and plugin backends.
* gofmt, oops
* Refactored re-insertion of requested attributes
* Allow bind operations with no group provided (#205)
* Support for userPrincipalName binding and browsing. (#206)
* Support for userPrincipalName binding and browsing.
* Fixed travis CI test for userprincipalname
* fixing travis tests for more users
* Rate limit after failed binds (#207)
* Capabilities -- part 2 (#214) + do not dump config at startup
* Attempting migration from Travis to Github Actions
* Migration Step#2
* Migration Step#3
* Migration Step#4
* Migration Step#5
* Migration Step#6
* Migration Step#7
* Migration Step#8
* Migration Step#9
* Migration Step#9
* Migration dev...
* Migration dev...
* Migration dev...
* Migration dev...
* Docker with plugins, first step (#215)
* Docker with plugins, first step
* Build better docker images, including plugins
* Merge back from dev to feature branch step #2
* Added capabilities to CI
* - Now creating two docker images, including one with plugins
- Moving from Travis CI to GitHub Actions
* Plugins now run on distroless (#217)
* Getting rid of Travis CI now that it doesn't support FOSS anymore.
* Internal Stats -- performance view (#221)
* Local merge
* Update CI to forget about bindata
* Forgot to cleanup the cleanup...
* assets: use stdlib "embed" package (#200)
This should make it easier to include GLAuth in other projects using `go get`
* 'Airgapping' web assets for security and preventing breakage (#227)
* v2 -- V2 hierarchy (#228)
* Search refactoring, tree traversal and scope correctness (#229)
Search refactoring, tree traversal and scope correctness.
* Feature/multi cfg (#233)
* Feature/custom attributes (#240)
* Makefiles: platform releases (#241)
* Feature/release script (#242)
* Bug/fix docker build in v2 (#244)
* Fix#246 and #252
Co-authored-by: Jörn Friedrich Dreyer <jfd@butonic.de>
Co-authored-by: Zhou Wenzong <wenzong@users.noreply.github.com>
Co-authored-by: Jairo Llopis <Yajo@users.noreply.github.com>
Co-authored-by: Benedikt Kulmann <benedikt@kulmann.biz>
Co-authored-by: Nicolai Willems <172633+nwillems@users.noreply.github.com>
Co-authored-by: Thibault Soubiran <soubi.thibault@gmail.com>
Co-authored-by: Clement JACOB <clems71@gmail.com>
Co-authored-by: Lutz Horn <code@lhorn.de>
Co-authored-by: Márk Sági-Kazár <sagikazarmark@users.noreply.github.com>
Co-authored-by: Peter Heise <pheise@koprolalie.com>
Co-authored-by: Ben Yanke <ben@benyanke.com>
Co-authored-by: fanlix <fanlix@gmail.com>
Co-authored-by: Hank Donnay <hdonnay@gmail.com>
* Cleanup
Co-authored-by: Jörn Friedrich Dreyer <jfd@butonic.de>
Co-authored-by: Zhou Wenzong <wenzong@users.noreply.github.com>
Co-authored-by: Jairo Llopis <Yajo@users.noreply.github.com>
Co-authored-by: Benedikt Kulmann <benedikt@kulmann.biz>
Co-authored-by: Nicolai Willems <172633+nwillems@users.noreply.github.com>
Co-authored-by: Thibault Soubiran <soubi.thibault@gmail.com>
Co-authored-by: Clement JACOB <clems71@gmail.com>
Co-authored-by: Lutz Horn <code@lhorn.de>
Co-authored-by: Márk Sági-Kazár <sagikazarmark@users.noreply.github.com>
Co-authored-by: Peter Heise <pheise@koprolalie.com>
Co-authored-by: Ben Yanke <ben@benyanke.com>
Co-authored-by: fanlix <fanlix@gmail.com>
Co-authored-by: Hank Donnay <hdonnay@gmail.com>