Index: openacs-4/packages/xotcl-core/xotcl-core.info
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xotcl-core/xotcl-core.info,v
diff -u -N -r1.106.2.48 -r1.106.2.49
--- openacs-4/packages/xotcl-core/xotcl-core.info 26 Nov 2022 17:00:30 -0000 1.106.2.48
+++ openacs-4/packages/xotcl-core/xotcl-core.info 27 Feb 2023 18:33:07 -0000 1.106.2.49
@@ -10,7 +10,7 @@
t
xotcl
-
+
Gustaf Neumann
XOTcl library functionality (e.g. thread handling, online documentation, Generic Form and List Classes)
2021-09-16
@@ -42,13 +42,13 @@
BSD-Style
2
-
+
-
+
Index: openacs-4/packages/xotcl-core/tcl/01-debug-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/xotcl-core/tcl/01-debug-procs.tcl,v
diff -u -N -r1.93.2.55 -r1.93.2.56
--- openacs-4/packages/xotcl-core/tcl/01-debug-procs.tcl 8 Feb 2023 19:04:28 -0000 1.93.2.55
+++ openacs-4/packages/xotcl-core/tcl/01-debug-procs.tcl 27 Feb 2023 18:33:07 -0000 1.93.2.56
@@ -129,6 +129,24 @@
}
return $value
}
+ :method type=signed {name input} {
+ #
+ # Check, if a value is a signed value, signed by
+ # ::security::parameter::signed. Note, that this is a converting
+ # checker. Therefore, call it always with "signed,convert" to
+ # obtain the value which was signed.
+ #
+ set pair [ns_base64urldecode $input]
+ if {[string is list -strict $pair] && [llength $pair] == 2} {
+ lassign $pair value signature
+ set secret [ns_config "ns/server/[ns_info server]/acs" parametersecret ""]
+ #ns_log notice "[list ad_verify_signature -secret $secret $value $signature]"
+ if {[ad_verify_signature -secret $secret $value $signature]} {
+ return $value
+ }
+ }
+ return -code error "Value '$input' of parameter $name is not properly signed"
+ }
:method type=cr_item_of_package {name value:int32 package_id:int32} {
if {![::xo::db::CrClass id_belongs_to_package -item_id $value -package_id $package_id]} {
error "value '$value' of is not a valid content repository item of the required package"
@@ -153,6 +171,7 @@
::nx::Slot method type=html
::nx::Slot method type=nohtml
::nx::Slot method type=range
+ ::nx::Slot method type=signed
::nx::Slot method type=cr_item_of_package
::nx::Object nsfproc ::nsf::debug::call
::nx::Object nsfproc ::nsf::debug::exit