Forum OpenACS Development: ad_page_contract error with empty string on notnull,verify

In OpenACS 5.3.2, if I pass a variable set to the empty string to a page contract of
"foo:notnull,verify"
I get:
can't read "var": no such variable
while executing
"ad_verify_signature $var $apc_signatures($formal_name)"
(procedure "ad_page_contract" line 474)
invoked from within
"ad_page_contract {

I notice that in 4.6.3, in acs-tcl/tcl/tcl-documentation-procs.tcl, it checks for the existence of the variable:

if { ![info exists apc_signatures($formal_name)] || \
![info exists var] || \
[string index $var 0] == "-" || \
[string index $apc_signatures($formal_name) 0] == "-" || \
![ad_verify_signature $var $apc_signatures($formal_name)] } {

but in 5.3.2 it doesn't:

if { ![info exists apc_signatures($formal_name)] || \
![ad_verify_signature $var $apc_signatures($formal_name)] } {
ad_complain -key $formal_name:verify "[_ acs-tcl.lt_The_signature_for_the]"

Should I be doing something different with the page contract or export_vars -sign on the page I'm posting from?

Hi Steve,

are you using export_form_vars -sign or export_url_vars -sign to export your form variables?

Brian

Brian --
within the .adp page, I'm doing:


set exp_vars [export_vars -form -sign {{job_code "@client_job_code@"} {survey_year "2008"}}]

@exp_vars@

Steve

Hi Steve,

it's probably ok to be doing that in the adp but it might be better in the .tcl file. When you do a view source in your browser how does the resulting html look?

Brian