1
0
Fork 0

Adding upstream version 1.9.16p2.

Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
This commit is contained in:
Daniel Baumann 2025-06-22 09:52:37 +02:00
parent ebbaee52bc
commit 182f151a13
Signed by: daniel.baumann
GPG key ID: BCC918A2ABD66424
1342 changed files with 621215 additions and 0 deletions

View file

@ -0,0 +1,7 @@
(AUDIT) -- Started by user testuser1 (123) --
(AUDIT) Requested command: id --help
(AUDIT) Accepted command: /sbin/id --help
(AUDIT) By the plugin: accepter plugin name (type=POLICY)
(AUDIT) Environment: KEY1=VALUE1 KEY2=VALUE2
(AUDIT) Command returned with exit code 2
(AUDIT) -- Finished --

View file

@ -0,0 +1,5 @@
(AUDIT) -- Started by user ??? (???) --
(AUDIT) Requested command: id
(AUDIT) Plugin errorer plugin name (type=AUDIT) got an error: Some error has happened
(AUDIT) Sudo has run into an error: 222
(AUDIT) -- Finished --

View file

@ -0,0 +1,5 @@
(AUDIT) -- Started by user root (0) --
(AUDIT) Requested command: passwd
(AUDIT) Rejected by plugin rejecter plugin name (type=IO): Rejected just because!
(AUDIT) The command was not executed
(AUDIT) -- Finished --

View file

@ -0,0 +1,6 @@
(AUDIT) -- Started by user root (0) --
Python Example Audit Plugin
Python audit plugin (API 1.0): SudoAuditPlugin (loaded from 'SRC_DIR/example_audit_plugin.py')
Python Example Audit Plugin (version=1.0)
(AUDIT) Sudo has run into an error: 222
(AUDIT) -- Finished --

View file

@ -0,0 +1 @@
sudo: loading more than 8 sudo python audit plugins is not supported

View file

@ -0,0 +1,14 @@
(AUDIT1) -- Started by user default (1000) --
(AUDIT1) Requested command: id --help
(AUDIT2) -- Started by user default (1000) --
(AUDIT2) Requested command: id --help
(AUDIT1) Accepted command: /sbin/id --help
(AUDIT1) By the plugin: accepter plugin name (type=POLICY)
(AUDIT1) Environment: KEY1=VALUE1 KEY2=VALUE2
(AUDIT2) Accepted command: /sbin/id --help
(AUDIT2) By the plugin: accepter plugin name (type=POLICY)
(AUDIT2) Environment: KEY1=VALUE1 KEY2=VALUE2
(AUDIT1) Command exited due to signal 11
(AUDIT1) -- Finished --
(AUDIT2) Command exited due to signal 11
(AUDIT2) -- Finished --

View file

@ -0,0 +1,3 @@
Question count: 2
Question 0: <<Reason: >> (timeout: 120, msg_type=2)
Question 1: <<Secret reason: >> (timeout: 120, msg_type=5)

View file

@ -0,0 +1,3 @@
Please provide your reason for executing ('/bin/whoami',)
conversation suspend: signal SIGTSTP
conversation resume: signal was SIGCONT

View file

@ -0,0 +1,3 @@
Executed /bin/whoami
Reason: my fake reason
Hidden reason: my real secret reason

View file

@ -0,0 +1,3 @@
Question count: 2
Question 0: <<Reason: >> (timeout: 120, msg_type=2)
Question 1: <<Secret reason: >> (timeout: 120, msg_type=5)

View file

@ -0,0 +1 @@
Please provide your reason for executing ('/bin/whoami',)

View file

@ -0,0 +1,3 @@
Executed /bin/whoami
Reason: my fake reason
Hidden reason: my real secret reason

View file

@ -0,0 +1,2 @@
Question count: 2
Question 0: <<Reason: >> (timeout: 120, msg_type=2)

View file

@ -0,0 +1,2 @@
Question count: 2
Question 0: <<Reason: >> (timeout: 120, msg_type=2)

View file

@ -0,0 +1 @@
You did not answer in time

View file

@ -0,0 +1 @@
Please provide your reason for executing ('/bin/whoami',)

View file

@ -0,0 +1,6 @@
sudo.debug was called with arguments: (DEBUG.ERROR, 'My demo purpose plugin shows this ERROR level debug message')
sudo.debug was called with arguments: (DEBUG.INFO, 'My demo purpose plugin shows this INFO level debug message')
LogHandler.emit was called
LogHandler.emit was called
sudo.options_as_dict was called with arguments: (('ModulePath=SRC_DIR/example_debugging.py', 'ClassName=DebugDemoPlugin'),)
sudo.options_as_dict returned result: [('ClassName', 'DebugDemoPlugin'), ('ModulePath', 'SRC_DIR/example_debugging.py')]

View file

@ -0,0 +1,11 @@
__init__ @ SRC_DIR/example_debugging.py:58 calls C function:
sudo.debug was called with arguments: (DEBUG.ERROR, 'My demo purpose plugin shows this ERROR level debug message')
__init__ @ SRC_DIR/example_debugging.py:63 calls C function:
sudo.debug was called with arguments: (DEBUG.INFO, 'My demo purpose plugin shows this INFO level debug message')
handle @ logging/__init__.py calls C function:
LogHandler.emit was called
handle @ logging/__init__.py calls C function:
LogHandler.emit was called
__init__ @ SRC_DIR/example_debugging.py:85 calls C function:
sudo.options_as_dict was called with arguments: (('ModulePath=SRC_DIR/example_debugging.py', 'ClassName=DebugDemoPlugin'),)
sudo.options_as_dict returned result: [('ClassName', 'DebugDemoPlugin'), ('ModulePath', 'SRC_DIR/example_debugging.py')]

View file

@ -0,0 +1,3 @@
importing module: SRC_DIR/example_debugging.py
Extending python 'path' with 'SRC_DIR'
Deinit was called for a python plugin

View file

@ -0,0 +1,2 @@
My demo purpose plugin shows this ERROR level debug message
Python log system shows this ERROR level debug message

View file

@ -0,0 +1,8 @@
__init__ @ SRC_DIR/example_debugging.py:58 debugs:
My demo purpose plugin shows this ERROR level debug message
__init__ @ SRC_DIR/example_debugging.py:63 debugs:
My demo purpose plugin shows this INFO level debug message
handle @ logging/__init__.py debugs:
Python log system shows this ERROR level debug message
handle @ logging/__init__.py debugs:
Python log system shows this INFO level debug message

View file

@ -0,0 +1,2 @@
DebugDemoPlugin.__init__ was called with arguments: () [('plugin_options', ('ModulePath=SRC_DIR/example_debugging.py', 'ClassName=DebugDemoPlugin')), ('settings', ('debug_flags=/tmp/sudo_check_python_exampleXXXXXX/debug.log py_calls@diag', 'plugin_path=python_plugin.so')), ('user_env', ()), ('user_info', ()), ('version', '1.0')]
DebugDemoPlugin.__init__ returned result: <example_debugging.DebugDemoPlugin object>

View file

@ -0,0 +1,9 @@
DebugDemoPlugin.__init__ was called with arguments: () [('plugin_options', ('ModulePath=SRC_DIR/example_debugging.py', 'ClassName=DebugDemoPlugin')), ('settings', ('debug_flags=/tmp/sudo_check_python_exampleXXXXXX/debug.log py_calls@info', 'plugin_path=python_plugin.so')), ('user_env', ()), ('user_info', ()), ('version', '1.0')]
DebugDemoPlugin.__init__ returned result: <example_debugging.DebugDemoPlugin object>
DebugDemoPlugin function 'log_ttyin' is not implemented
DebugDemoPlugin function 'log_ttyout' is not implemented
DebugDemoPlugin function 'log_stdin' is not implemented
DebugDemoPlugin function 'log_stdout' is not implemented
DebugDemoPlugin function 'log_stderr' is not implemented
DebugDemoPlugin function 'change_winsize' is not implemented
DebugDemoPlugin function 'log_suspend' is not implemented

View file

@ -0,0 +1 @@
Skipping close call, because there was no command run

View file

@ -0,0 +1,4 @@
SudoGroupPlugin.__init__ was called with arguments: () [('args', ('ModulePath=SRC_DIR/example_group_plugin.py', 'ClassName=SudoGroupPlugin')), ('version', '1.0')]
SudoGroupPlugin.__init__ returned result: <example_group_plugin.SudoGroupPlugin object>
SudoGroupPlugin.query was called with arguments: ('user', 'group', ('pw_name', 'pw_passwd', 1001, 101, 'pw_gecos', 'pw_dir', 'pw_shell'))
SudoGroupPlugin.query returned result: 0

View file

@ -0,0 +1 @@
Example sudo python plugin will log to /tmp/sudo_check_python_exampleXXXXXX/sudo.log

View file

@ -0,0 +1,16 @@
-- Plugin STARTED --
EXEC id --help
EXEC info [
"command=/bin/id",
"runas_uid=0"
]
STD IN some standard input
STD OUT some standard output
STD ERR some standard error
SUSPEND SIGTSTP
SUSPEND SIGCONT
WINSIZE 200x100
TTY IN some tty input
TTY OUT some tty output
CLOSE Command returned 1
-- Plugin DESTROYED --

View file

@ -0,0 +1 @@
sudo: loading more than 8 sudo python IO plugins is not supported

View file

@ -0,0 +1,2 @@
Example sudo python plugin will log to /tmp/sudo_check_python_exampleXXXXXX/sudo.log
Example sudo python plugin will log to /tmp/sudo_check_python_exampleXXXXXX2/sudo.log

View file

@ -0,0 +1,16 @@
-- Plugin STARTED --
EXEC id --help
EXEC info [
"command=/bin/id",
"runas_uid=0"
]
STD IN stdin for plugin 1
STD OUT stdout for plugin 1
STD ERR stderr for plugin 1
SUSPEND SIGTSTP
SUSPEND SIGCONT
WINSIZE 20x10
TTY IN tty input for plugin 1
TTY OUT tty output for plugin 1
CLOSE Command returned 1
-- Plugin DESTROYED --

View file

@ -0,0 +1,16 @@
-- Plugin STARTED --
EXEC whoami
EXEC info [
"command=/bin/whoami",
"runas_uid=1"
]
STD IN stdin for plugin 2
STD OUT stdout for plugin 2
STD ERR stderr for plugin 2
SUSPEND SIGSTOP
SUSPEND SIGCONT
WINSIZE 30x40
TTY IN tty input for plugin 2
TTY OUT tty output for plugin 2
CLOSE Command returned 2
-- Plugin DESTROYED --

View file

@ -0,0 +1 @@
Example sudo python plugin will log to /tmp/sudo_check_python_exampleXXXXXX/sudo.log

View file

@ -0,0 +1,8 @@
-- Plugin STARTED --
EXEC cmd
EXEC info [
"command=/usr/share/cmd",
"runas_uid=0"
]
CLOSE Failed to execute, execve returned 1 (EPERM)
-- Plugin DESTROYED --

View file

@ -0,0 +1 @@
Failed to construct plugin instance: [Errno 2] No such file or directory: '/some/not/writable/directory/sudo.log'

View file

@ -0,0 +1,7 @@
Example sudo python plugin will log to /some/not/writable/directory/sudo.log
Traceback:
File "SRC_DIR/example_io_plugin.py", line 64, in __init__
self._open_log_file(path.join(log_path, "sudo.log"))
File "SRC_DIR/example_io_plugin.py", line 134, in _open_log_file
self._log_file = open(log_path, "a")

View file

@ -0,0 +1,2 @@
Example sudo python plugin will log to /tmp/sudo_check_python_exampleXXXXXX/sudo.log
Python Example IO Plugin version: 1.0

View file

@ -0,0 +1,2 @@
-- Plugin STARTED --
-- Plugin DESTROYED --

View file

@ -0,0 +1,3 @@
Example sudo python plugin will log to /tmp/sudo_check_python_exampleXXXXXX/sudo.log
Python io plugin (API 1.0): SudoIOPlugin (loaded from 'SRC_DIR/example_io_plugin.py')
Python Example IO Plugin version: 1.0

View file

@ -0,0 +1 @@
The command returned with exit_status 3

View file

@ -0,0 +1 @@
You are not allowed to run this command!

View file

@ -0,0 +1 @@
Failed to execute command, execve syscall returned 2 (ENOENT)

View file

@ -0,0 +1,25 @@
-- minimal --
Only the following commands are allowed: id, whoami
-- minimal (verbose) --
Only the following commands are allowed: id, whoami
-- with user --
Only the following commands are allowed: id, whoami as user 'testuser'
-- with user (verbose) --
Only the following commands are allowed: id, whoami as user 'testuser'
-- with allowed program --
You are allowed to execute command '/bin/id'
-- with allowed program (verbose) --
You are allowed to execute command '/bin/id'
Only the following commands are allowed: id, whoami
-- with denied program --
You are NOT allowed to execute command '/bin/passwd'
-- with denied program (verbose) --
You are NOT allowed to execute command '/bin/passwd'
Only the following commands are allowed: id, whoami

View file

@ -0,0 +1,8 @@
SudoPolicyPlugin.__init__ was called with arguments: () [('plugin_options', ('ModulePath=SRC_DIR/example_policy_plugin.py', 'ClassName=SudoPolicyPlugin')), ('settings', ()), ('user_env', ()), ('user_info', ()), ('version', '1.0')]
SudoPolicyPlugin.__init__ returned result: <example_policy_plugin.SudoPolicyPlugin object>
SudoPolicyPlugin.validate was called with arguments: ()
SudoPolicyPlugin.validate returned result: None
SudoPolicyPlugin.invalidate was called with arguments: (1,)
SudoPolicyPlugin.invalidate returned result: None
SudoPolicyPlugin.invalidate was called with arguments: (0,)
SudoPolicyPlugin.invalidate returned result: None

View file

@ -0,0 +1 @@
Python Example Policy Plugin version: 1.0

View file

@ -0,0 +1,2 @@
Python policy plugin (API 1.0): SudoPolicyPlugin (loaded from 'SRC_DIR/example_policy_plugin.py')
Python Example Policy Plugin version: 1.0

View file

@ -0,0 +1,3 @@
No plugin class is specified for python module 'SRC_DIR/regress/plugin_errorstr.py'. Use 'ClassName' configuration option in 'sudo.conf'
Possible plugins: ConstructErrorPlugin, ErrorMsgPlugin
Failed during loading plugin class

View file

@ -0,0 +1,2 @@
No python module path is specified. Use 'ModulePath' plugin config option in 'sudo.conf'
Failed during loading plugin class

View file

@ -0,0 +1 @@
Failed during loading plugin class: File 'SRC_DIR/example_debugging.py' must be owned by uid 0

View file

@ -0,0 +1,2 @@
Failed to find plugin class 'MispelledPluginName'
Failed during loading plugin class

View file

@ -0,0 +1 @@
Failed during loading plugin class: No module named 'wrong_path'

View file

@ -0,0 +1 @@
Python io plugin (API 1.0): DebugDemoPlugin (loaded from 'SRC_DIR/example_debugging.py')

View file

@ -0,0 +1 @@
sudo: loading more than 8 sudo python approval plugins is not supported

View file

@ -0,0 +1,67 @@
(APPROVAL 1) Constructed:
{
"_id": "(APPROVAL 1)",
"plugin_options": [
"ModulePath=SRC_DIR/regress/plugin_approval_test.py",
"ClassName=ApprovalTestPlugin",
"Id=1"
],
"settings": [
"SETTING1=VALUE1",
"setting2=value2"
],
"submit_argv": [
"sudo",
"-u",
"user",
"whoami",
"--help"
],
"submit_optind": 3,
"user_env": [
"USER_ENV1=VALUE1",
"USER_ENV2=value2"
],
"user_info": [
"INFO1=VALUE1",
"info2=value2"
],
"version": "1.22"
}
(APPROVAL 2) Constructed:
{
"_id": "(APPROVAL 2)",
"plugin_options": [
"ModulePath=SRC_DIR/regress/plugin_approval_test.py",
"ClassName=ApprovalTestPlugin",
"Id=2"
],
"settings": [
"SETTING1=VALUE1",
"setting2=value2"
],
"submit_argv": [
"sudo",
"-u",
"user",
"whoami",
"--help"
],
"submit_optind": 3,
"user_env": [
"USER_ENV1=VALUE1",
"USER_ENV2=value2"
],
"user_info": [
"INFO1=VALUE1",
"info2=value2"
],
"version": "1.22"
}
(APPROVAL 1) Show version was called with arguments: (0,)
Python approval plugin (API 1.0): ApprovalTestPlugin (loaded from 'SRC_DIR/regress/plugin_approval_test.py')
(APPROVAL 2) Show version was called with arguments: (1,)
(APPROVAL 1) Check was called with arguments: (('CMDINFO1=value1', 'CMDINFO2=VALUE2'), ('whoami', '--help'), ('USER_ENV1=VALUE1', 'USER_ENV2=value2'))
(APPROVAL 2) Check was called with arguments: (('CMDINFO1=value1', 'CMDINFO2=VALUE2'), ('whoami', '--help'), ('USER_ENV1=VALUE1', 'USER_ENV2=value2'))
(APPROVAL 1) Destructed successfully
(APPROVAL 2) Destructed successfully

View file

@ -0,0 +1,4 @@
PATH before: [] (should be empty)
PATH set: ['path_for_first_plugin']
PATH before: [] (should be empty)
PATH set: ['path_for_second_plugin']