76 Commits

Author SHA1 Message Date
Rob White
576efcacd3 Generic Linux - install opennds.service
Move opennds.service to resources folder

Signed-off-by: Rob White <rob@blue-wave.net>
2020-06-23 12:24:43 +01:00
Rob White
68d3a5a17e Update config files
Signed-off-by: Rob White <rob@blue-wave.net>
2020-06-19 19:49:12 +01:00
Rob White
9b573a7f94 Splash page updates
Signed-off-by: Rob White <rob@blue-wave.net>
2020-06-19 19:49:12 +01:00
Rob White
893714f853 Implement Rate Quotas
Signed-off-by: Rob White <rob@blue-wave.net>
2020-06-12 23:13:53 +01:00
Rob White
733ee09172 Config file updates
Signed-off-by: Rob White <rob@blue-wave.net>
2020-06-12 23:13:53 +01:00
Rob White
83d0d474a3 Add upload/download quota and rate configuration values
Signed-off-by: Rob White <rob@blue-wave.net>
2020-06-12 23:13:52 +01:00
Rob White
5b27074ac5 Updates to Templated Splash pages.
Signed-off-by: Rob White <rob@blue-wave.net>
2020-06-12 23:13:52 +01:00
Rob White
3d1033d39e More renaming, new splash image.
Signed-off-by: Rob White <rob@blue-wave.net>
2020-04-05 16:53:33 +01:00
Rob White
b78536aea1 Intial clone from nodogsplash master
Signed-off-by: Rob White <rob@blue-wave.net>
2020-04-05 08:21:01 +01:00
Rob White
aa54541fca Fix comments in config files
Signed-off-by: Rob White <rob@blue-wave.net>
2020-02-17 00:12:38 +00:00
Rob White
2a2b3693cc Fix: Allow use of "#" and "'" (single quote/asterisk) in gatewayname
See issue #516

"#" is used as a comment indicator in nodogsplash.conf
This fix allows the character to be present as part of an option value.
If the character occurs at the beginning of the line,
the line will be considered as a comment.

"'" (single quote/asterisk) is used as a uci delimiter.
If this character is required in gatewayname then use the
htmlentity &#39; instead.
The default config files have been updated to reflect this.

The demo preauth scripts have been modified to ensure
gatewayname is properly escaped.


Signed-off-by: Rob White <rob@blue-wave.net>
2020-02-15 15:59:48 +00:00
Rob White
15ba5ea4c8 Add option use_outdated_mhd
See issue #515

MHD_get_version is used to determine the installed (runtime) version of
libmicrohttpd (MHD).
If the version is earlier than 0.9.69, then by default, NDS will terminate.

However, if option use_outdated_mhd is set to 1, NDS starts normally
but logs an error.

Signed-off-by: Rob White <rob@blue-wave.net>
2020-02-10 20:58:40 +00:00
Rob White
9fb70f3ce2 Add option: option unescape_callback_enabled
Disabled is 0 (default)
Enabled is 1

This allows custom unescape  in MHD.

MHD needs to unescape characters sent in query strings by browsers.
When this option is disabled, MHD uses its builtin unescape.
When enabled, MHD uses /usr/lib/nodogsplash/unescape.sh

The unescape.sh library is safe as all incoming queries are escaped
by the client browser and the argument containing string to be unescaped
is quoted by NDS.

Signed-off-by: Rob White <rob@blue-wave.net>
2020-02-05 19:41:50 +00:00
Rob White
494d6e4deb Update copyright dates
Signed-off-by: Rob White <rob@blue-wave.net>
2020-01-09 09:34:26 +00:00
Rob White
f52f70300e Update config file
Signed-off-by: Rob White <rob@blue-wave.net>
2020-01-05 21:31:17 +00:00
Rob White
15d551053e Preauth: update login and demo-preauth scripts to display client zone
Signed-off-by: Rob White <rob@blue-wave.net>
2020-01-02 21:39:40 +00:00
Rob White
36f94f4972 Implement unescape callback for MHD (libmicrohttpd)
This is a fix to allow "+" and "&" characters in user data passed to MHD in get requests.
Reported in issue #476, this effected PreAuth and Binauth.
"+" and "&" characters can now be used in form data, eg passwords etc.

Signed-off-by: Rob White <rob@blue-wave.net>
2020-01-01 15:57:45 +00:00
Rob White
389f845061 Create option login_option_enabled
Allows simple switch between templated splash page and preauth login script.
Disabled:
option login_option_enabled '0'
use config options for FAS if set, or Templated Splash

Enabled:
option login_option_enabled '1'
use preauth login script providing username/email login with access log

Signed-off-by: Rob White <rob@blue-wave.net>
2019-10-06 16:27:24 +01:00
Rob White
8fbeee7261 BinAuth: Send redir variable to the binauth script
This enhancement allows custom variables generated by FAS
to be sent to Binauth.

FAS can embed custom variables into redir, allowing
local post authentication processing to take place.

Two example scripts are provided.

The first provides sitewide username/password login for two user groups,
Staff and Guest in the example.
Staff has unlimited access, Guest is limited to 10 minutes per session.

The second provides local logging of NDS logins, even with a remote FAS.

The documentation is fully updated.

Signed-off-by: Rob White <rob@blue-wave.net>
2019-09-02 12:29:05 +01:00
Rob White
6af872bffd Deprecate RedirectURL
redirectURL is now redundant as most CPD implementations immediately close the "splash" page
as soon as NDS authenticates, thus redirectURL will not be shown.
This functionality, ie displaying a particular web page as a final "Landing Page"
can be achieved reliably using FAS, with NDS calling the previous "redirectURL" as the FAS page.

Signed-off-by: Rob White <rob@blue-wave.net>
2019-08-23 15:10:56 +01:00
Rob White
567fc92645 PreAuth Override FAS settings, update DOCS, configs and css
Signed-off-by: Rob White <rob@blue-wave.net>
2019-08-13 13:17:04 +01:00
Rob White
02cd44feba Bump to Version 4.0.1
Signed-off-by: Rob White <rob@blue-wave.net>
2019-07-29 20:57:39 +01:00
Moritz Warning
cdb941d024 config: udpate debuglevel in config files 2019-07-28 20:26:25 +02:00
Rob White
664f986ce2 Add fasremotefqdn, faskey.
Simple configuration of fas running on remote shared hosting server.
Encrypt the query string sent to remote FAS.
Documentation Updates.
Bumping to v4.0.0

Signed-off-by: Rob White <rob@blue-wave.net>
2019-07-07 14:26:27 +01:00
Moritz Warning
28541e787c remove unused pagesdir and imagesdir (#378) 2019-07-02 11:12:34 +02:00
Moritz Warning
4f53bf9b58 add documentation of webroot setting 2019-07-01 16:43:44 +02:00
Rob White
14ebbd1b3f Update Config Files.
Add examples for faspath and fasremoteip

Signed-off-by: Rob White <rob@blue-wave.net>
2019-04-21 23:59:53 +01:00
Rob White
87f12e7bf9 Improve splash.css and tidy up splash/status.html and Preauth demo script.
Signed-off-by: Rob White <rob@blue-wave.net>
2019-04-07 18:55:05 +01:00
Rob White
46fcec8d76 Include PreAuth Login script in package
Signed-off-by: Rob White <rob@blue-wave.net>
2019-04-04 12:01:08 +01:00
Rob White
8304b5a2ef Add functional demo-preauth.sh
Add css for input types
Various fixes for http_microhttpd.c

Signed-off-by: Rob White <rob@blue-wave.net>
2018-11-28 13:20:35 +00:00
Rob White
b81282d051 Add preauth config option
Signed-off-by: Rob White <rob@blue-wave.net>
2018-11-28 13:20:35 +00:00
Rob White
08eeaaa125 Custom tag names - html 5.2 compliance
Signed-off-by: Rob White <rob@blue-wave.net>
2018-09-05 21:25:05 +01:00
Rob White
1ba43aec07 Add .css file, update splash and status html
Update comments embedded in splash.html.

Signed-off-by: Rob White <rob@blue-wave.net>
2018-09-05 11:54:44 +01:00
Moritz Warning
ab884ebe57 rename uploadbytes/downloadbytes to clientupload/clientdownload
Indicate that the data is client specific.
2018-09-03 19:16:42 +02:00
Moritz Warning
48da0505bf fix template variable names 2018-09-03 17:06:34 +02:00
Moritz Warning
e9c75700dd move build_libmicrohttpd.sh 2018-08-26 12:57:57 +02:00
Rob White
37080db965 Update splash.html and status.html
Make status.html say something meaningful.
Tidy up splash.html a bit

Signed-off-by: Rob White <rob@blue-wave.net>
2018-08-25 20:17:11 +01:00
Rob White
8898ab7bd9 Remove superfluous / character from FAS splashpageurl.
Update comment in .conf file to clarify.

Signed-off-by: Rob White <rob@blue-wave.net>
2018-08-24 13:55:33 +01:00
Rob White
77fe80002a lowercase fw_mark variables and change default value format
Signed-off-by: Rob White <rob@blue-wave.net>
2018-08-20 16:17:22 +02:00
Rob White
b52e5cb91d integrate support for Forward Authentication Service (FAS)
This implements redirection to an external authentication
service in place of splash.html.

It introduces four new options:

1. fasport - if set, enables FAS redirection and the value is
the port used for access.

2. fasremoteip - if set is the ip address of the FAS, defaults
to the NDS gateway address for the case of FAS running locally to NDS.

3. faspath - the path on FAS to the login page. Default "/"

4. fas_secure_enabled - if set to "1", the client token is not
revealed and it is the responsibility of the FAS to request
this from NDS. If set to "0", the client token is passed in
clear text in the query string to the FAS.

Firewall settings are automatically configured for access to the FAS.

Binauth can also be configured at the same time to allow a local
script to be called on authentication.

Signed-off-by: Rob White <rob@blue-wave.net>
2018-08-20 16:16:41 +02:00
Moritz Warning
4ac21334b4 add/improve loglevel/binauth documentation 2018-08-11 11:04:06 +02:00
Moritz Warning
f4960fd89d PreAuthIdleTimeout default is 10 minutes 2018-08-08 18:10:33 +02:00
Moritz Warning
bff2c240e4 add CheckInterval to configuration file 2018-08-08 17:57:20 +02:00
Moritz Warning
43432c82aa authedidletimeout => authidletimeout 2018-08-08 17:52:03 +02:00
Moritz Warning
035fbf9f0c change session_timeout, preauth_idle_timeout, authed_idle_timeout to minutes 2018-08-08 17:35:14 +02:00
Moritz Warning
21110caf55 remove extra spaces 2018-08-07 13:44:33 +02:00
Moritz Warning
695044f480 fix title 2018-08-06 16:31:39 +02:00
Moritz Warning
5678d13af4 add status.html 2018-08-05 14:58:05 +02:00
Moritz Warning
9218d2df91 add statuspage as a better replacement for infoskel 2018-08-04 23:34:00 +02:00
Moritz Warning
646f02d1b3 add uploadedbytes/downloadedbytes to template variables 2018-08-04 23:16:15 +02:00