FUDForum authentication provider for INN2 (InterNet News 2) NNTP server.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Stanislav Nikitin fd6c105976
Switch go mod and remove vendor, linting.
4 weeks ago
configuration Switch go mod and remove vendor, linting. 4 weeks ago
database Switch go mod and remove vendor, linting. 4 weeks ago
.gitignore Switch go mod and remove vendor, linting. 4 weeks ago
.golangci.yaml Switch go mod and remove vendor, linting. 4 weeks ago
.markdownlint.json Switch go mod and remove vendor, linting. 4 weeks ago
.yamllint.yml Switch go mod and remove vendor, linting. 4 weeks ago
README.md Configuration example and README update. 3 years ago
go.mod Switch go mod and remove vendor, linting. 4 weeks ago
go.sum Switch go mod and remove vendor, linting. 4 weeks ago
inn2-fudforum-auth.dist.yaml Configuration example and README update. 3 years ago
inn2-fudforum-auth.go Switch go mod and remove vendor, linting. 4 weeks ago

README.md

FUDForum authentication provider for INN2

This repository contains FUDForum authentication provider for INN2.

Reason this project exists is a big need in federated (well, okay, kind of, INN2 isn't federated but peering software) forum for Medium ISP which works on Yggdrasil. After googling I decided that write one from scratch will be a very big deal and tried to re-use existing technologies. I've choosed NNTP (aka Usenet) server INN2 and FUDForum, which able to sync messages from and to NNTP server. After that came "the problem of authorization" - I was using htpasswd-formatted file first, but users will definetely want easy-to-use GUI (WUI, web UI, okay) to register or reset their passwords. And inn2-fudforum-auth appeared.

Dependencies

Nothing except Go compiler. Version 1.9+ is recommended. All dependencies are vendored, so inn2-fudforum-auth will compile event in constraint environments.

Right now authentication provider is able to connect only to PostgreSQL database. MRs are welcome for other providers.

Installation

Right now you can build it yourself by using go get:

go get -u -v develop.pztrn.name/pztrn/inn2-fudforum-auth

Binary will be placed in $GOPATH/bin. Use this configuration example as example and tune it.

Configuration

Provider

See this configuration example, it has comments for each section.

Don't forget to define default group and other groups your INN2 is using in readers.conf!

INN2

INN2 authentication uses auth and access blocks, first for authentication and second for authorization. We should define them both for each users group. Example for admin group from configuration example:

auth admin {
    hosts: *
    auth: /usr/local/bin/inn2-fudforum-auth -config /etc/news/inn2-fudforum-auth.yaml
}

access admin {
    users: "*@admin"
    newsgroups: *
}