Julius Pfrommer
5e7f04b71b
Merge remote-tracking branch 'origin/1.4' into merge_14_master_25
2024-12-07 22:55:41 +01:00
Sebastian Goll
0cc73feb09
fix(plugin): fix clearing previous plugin in UA_AccessControl_default()
2024-11-26 20:54:02 +01:00
Julius Pfrommer
2babcfc85e
fix(plugins): Correct String/ByteString mixups
2024-10-09 06:52:02 +02:00
Noel Graf
579d51f75b
feat(server): Define the CertificateGroup interface and enable gds push management capabilities in the server information model.
2024-02-23 11:37:52 +01:00
Julius Pfrommer
0271f50579
refactor(server): Only use logging-pointer instead of inline structure
...
We could not adjust all pointers when moving the config "into" the
server.
2023-11-10 08:38:53 +01:00
Noel Graf
6e7a851c68
feat(server): Automatic creation of all user token policies for all defined policies in the SecureChannel in AccessControl.
2023-10-30 21:58:38 +01:00
Noel Graf
c1b6936b6b
fix(server): Bug fixes in the subscription transfer service.
2023-10-26 12:50:39 +02:00
Julius Pfrommer
0b33021dce
feat(server): Only allow subscription transfer if the same user was used
2023-10-25 12:31:03 +02:00
Julius Pfrommer
629fefdd28
refactor(plugins): Cosmetic cleanup in AccessControl plugin
2023-10-07 23:07:54 +02:00
Julius Pfrommer
e4e865d999
Merge remote-tracking branch 'origin/1.3' into merge_13_14_5
2023-10-07 21:45:52 +02:00
Alexander Bluhm
f4b481276a
feat(plugin): allow custom password validation
...
Username password validation in access control plugin allows only
passwords stored in plaintext. Add a callback to implement custom
validation. This allows salted password hashes and timing safe
comparison in the server. Furthermore remote validation could be
implemented. The new function UA_AccessControl_defaultWithLoginCallback()
calls existing UA_AccessControl_default() and after that installs
the given UA_UsernamePasswordLoginCallback with context.
2023-09-28 12:50:19 +02:00
Julius Pfrommer
b1198f814d
fix(core): Make PolicyIds unique by appending the security mode
2023-07-19 12:44:46 +02:00
Julius Pfrommer
2d9bf66e15
feat(server): Use dedicate PKI for SecureChannel and Session certificates
2023-06-27 07:17:46 +02:00
Julius Pfrommer
36b3012358
fix(plugins): Return UA_STATUSCODE_BADIDENTITYTOKENREJECTED if Session certificate is invalid
2023-06-27 07:17:46 +02:00
Julius Pfrommer
525aa31279
fix(plugin): Sessions can be (re)activated with different credentials
...
The CTT require this behavior.
2023-06-26 13:27:18 +02:00
Julius Pfrommer
6d56ab5a8f
feat(plugin): An existing Session can only be re-activated with the same UserIdentityToken
2023-06-01 23:20:31 +02:00
Andreas Eckerstorfer
27141b0351
fix(plugin): Use pointer to logging pointer in certificate verification
...
The logger must be up to date in the certificate verification plugin, even it
is changed in the server/client config.
By using the pointer to the logging pointer it can still be used after an update
in the certificat verification pluglin.
2023-02-01 07:54:49 +01:00
Andreas Eckerstorfer
b51b9bd228
feat(plugin): Use server and client logger for crypto plugins
2023-01-17 15:09:44 +01:00
Andreas Eckerstorfer
13af9b8688
refactor(core): Remove trailing spaces in code ( #5221 )
2022-06-24 11:03:25 +02:00
Julius Pfrommer
4bec119605
fix(plugin): Define the SecurityPolicyUri for the x509 UserTokenPolicies
2021-12-09 15:37:39 +01:00
Julius Pfrommer
9ee1ffe96d
fix(plugin): Define the SecurityPolicyUri for the x509 UserTokenPolicies
2021-12-04 01:01:30 +01:00
Julius Pfrommer
2c87f1ed06
feat(server): Enable x509 certificate authentication in the server config
2021-09-24 03:16:20 +02:00
Nils
afb74a26f9
fix(server): Fix memory leaks detected by AddressSanitizer. ( #4308 )
...
* Fix memory leak detected by AddressSanatizer
When calling UA_AccessControl_default, new memory is
allocated, but before that it is not checked if memory has
already been allocated elsewhere for the UA_AccessControl struct.
Therefore, it must be ensured that the UA_AccessControl is clean
at the beginning.
* Fix memory leak detected by AddressSanatizer
It occurs when string IDs are used when creating
child nodes. If this is the case, the NodeId must be cleaned up
2021-04-09 09:24:52 +02:00
Julius Pfrommer
c203430d16
refactor(plugins): Use _clear instead of _deleteMembers
2020-10-18 15:21:40 +02:00
Julius Pfrommer
3b88100d3d
feat(server): Implement TransferSubscriptions service
2020-08-24 18:24:52 +02:00
Julius Pfrommer
5ac30c5c1d
feat(plugin): Warn if the default AccessControl plugin is used
2020-07-10 00:32:19 +02:00
Julius Pfrommer
8033f1596d
refactor(server): Fold server_config.h into server.h
2020-07-03 23:26:23 +02:00
Jonas Green
632d490d6d
Added copyright notices for HMS Industrial Networks contributions ( #3458 )
2020-02-25 14:40:07 +01:00
Jonas Green
63d65e0ebf
feat(server): Extended the access control plugin with check for browsing nodes
...
The PermissionType (Part 3) defines 17 permissions. Currently the
access control plugin can control all but 2 of them. Those are browse
and ReceiveEvents. This change adds check for browse permission of
nodes.
2020-02-21 18:27:21 +01:00
Stefan Profanter
f05bafc25d
fix: Accesscontrol clear check for valid memory
2019-10-14 15:59:05 +02:00
Julius Pfrommer
afe1f3d98e
refactor(core): Rename deleteMembers to clear in UA_AccessControl
2019-10-03 15:14:24 +02:00
Julius Pfrommer
85c4d53b1c
Config: Configure the UserTokenPolicy; Warn if password is unencrypted
2019-06-23 19:39:57 +02:00
Jonas Green
5d375771aa
Security: Added support for server to decrypt passwords
...
The password is decrypted by the server implementation before calling
the access control plugin.
2019-06-23 19:39:57 +02:00
Stefan Profanter
6fe8453249
Untabify
...
Used command:
`find . \( -name '*.c' -o -name '*.h' \) -not \( -path "./deps/*" -prune \) ! -type d -exec bash -c 'expand -t 4 "$0" > /tmp/e && mv /tmp/e "$0"' {} \;`
2019-05-25 09:09:46 +02:00
Stefan Profanter
d31ae132ad
Stack: Avoid double free/heap use after free
...
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=14567
Credit to oss-fuzz
2019-05-07 07:05:31 +02:00
Julius Pfrommer
c9c818868f
Move header files to a more unix-like structure
...
This commit drops the 'ua_' prefix and changes the public includes
to the form `#include <open62541/server.h>` instead of the old
`#include <ua_server.h>`
2019-03-21 20:16:31 +01:00
Julius Pfrommer
6c0442ee6d
Server: Make Historizing method conditional on build flags (fix amalgamation)
2019-02-01 09:02:13 +01:00
Peter Rustler
a4c968f4c6
server_history_update: Add access control to alter historical data.
2019-01-30 17:36:23 +01:00
Stefan Profanter
4b7c5c251c
Stack: Fix OOM check for access control
...
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=11506
Credit to oss-fuzz
2018-11-30 08:49:51 +01:00
Julius Pfrommer
0afd439a21
AccessControl: Forward endpoint information and the remote certificate
...
for the SecureChannel to the AccessControl plugin for session
authentication
2018-07-03 00:12:53 +02:00
Alexander Schrode
e447dc5b6e
Fixed Typos
2018-04-04 16:21:00 +02:00
Alexander Schrode
560f685ff9
AccessControlContext not initialized
...
When calling UA_AccessControl_default with no username password (usernamePasswordLoginSize = 0) context->usernamePasswordLoginSize is not initialized. This causes a crash when deleteMembers_default is called.
2018-04-04 16:21:00 +02:00
Julius Pfrommer
67cbd86018
Set the correct copyright for @jpfr
2018-03-23 12:40:43 +01:00
Julius Pfrommer
23ced3c832
Interpret empty UserIdentityToken as anonymous login
2018-03-10 17:37:33 +01:00
Julius Pfrommer
32bf04e672
Don't encrypt username/password over an already encrypted SecureChannel
2018-03-10 15:52:00 +01:00
Julius Pfrommer
34cff1d606
Add a context for the AccessControl plugin
2018-03-06 12:49:17 +01:00
Stefan Profanter
c2305461a3
Copyright holders at beginning of file ( #1514 )
...
* New script to add copyright names (see #1456 )
* Use file history instead of git blame
* Order authors by first commit and modify displayed names
* fixup
* Add generated copyright holders
2018-01-26 14:14:25 +01:00
StalderT
7332a100ee
remove unneeded whitespaces ( #1552 )
...
* remove unneeded whitespaces
* fix generate_datatypes.py
2018-01-26 14:12:36 +01:00
Mark
8753f464a1
improve code docs in ua_accesscontrol_default.c
2018-01-17 15:05:00 +01:00
Julius Pfrommer
394df3be8d
finish nodeContext pointer for every node
2017-08-18 15:00:00 +02:00