Index: openacs-4/packages/acs-admin/www/apm/packages-install-2.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-admin/www/apm/packages-install-2.tcl,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/acs-admin/www/apm/packages-install-2.tcl 13 Mar 2001 22:59:26 -0000 1.1 +++ openacs-4/packages/acs-admin/www/apm/packages-install-2.tcl 29 Dec 2001 01:48:32 -0000 1.2 @@ -15,8 +15,8 @@ set spec_files [ad_get_client_property apm spec_files] # Clear out previous client properties. -ad_set_client_property apm pkg_install_list "" -ad_set_client_property apm pkg_enable_list "" +ad_set_client_property -clob t apm pkg_install_list "" +ad_set_client_property -clob t apm pkg_enable_list "" foreach install_key $install { foreach spec_file $spec_files { @@ -50,8 +50,8 @@ ### Check passed! Initiate install. # We use client properties to pass along this information as it is fairly large. - ad_set_client_property apm pkg_install_list [lindex $dependency_results 1] - ad_set_client_property apm pkg_enable_list $enable + ad_set_client_property -clob t apm pkg_install_list [lindex $dependency_results 1] + ad_set_client_property -clob t apm pkg_enable_list $enable ad_returnredirect packages-install-3.tcl return Index: openacs-4/packages/acs-admin/www/apm/packages-install.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-admin/www/apm/packages-install.tcl,v diff -u -N -r1.8 -r1.9 --- openacs-4/packages/acs-admin/www/apm/packages-install.tcl 19 Nov 2001 19:34:23 -0000 1.8 +++ openacs-4/packages/acs-admin/www/apm/packages-install.tcl 29 Dec 2001 01:48:32 -0000 1.9 @@ -95,7 +95,9 @@ ns_write "
" # Client properties do not deplete the limited URL variable space. - ad_set_client_property apm spec_files $spec_files + # But they are limited to the maximum length of a varchar ... + + ad_set_client_property -clob t apm spec_files $spec_files ad_set_client_property apm install_path $actual_install_path set errors [list] Index: openacs-4/packages/acs-kernel/sql/oracle/security-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-kernel/sql/oracle/security-create.sql,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/acs-kernel/sql/oracle/security-create.sql 19 Dec 2001 18:33:22 -0000 1.2 +++ openacs-4/packages/acs-kernel/sql/oracle/security-create.sql 29 Dec 2001 01:48:32 -0000 1.3 @@ -21,6 +21,7 @@ constraint sec_session_prop_prop_name_nn not null, property_value varchar2(4000), + property_clob clob default null, -- transmitted only across secure connections? secure_p char(1) constraint sec_session_prop_secure_p_ck Index: openacs-4/packages/acs-tcl/tcl/security-procs-oracle.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/security-procs-oracle.xql,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/acs-tcl/tcl/security-procs-oracle.xql 19 Dec 2001 18:33:22 -0000 1.2 +++ openacs-4/packages/acs-tcl/tcl/security-procs-oracle.xql 29 Dec 2001 01:48:32 -0000 1.3 @@ -51,5 +51,16 @@ + + + + + insert into sec_session_properties + (session_id, module, property_name, property_value, property_clob, secure_p, last_hit) + values ( :session_id, :module, :name, null, empty_clob(), :secure, :last_hit ) + returning property_clob into :1 + + + Index: openacs-4/packages/acs-tcl/tcl/security-procs-postgresql.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/security-procs-postgresql.xql,v diff -u -N -r1.7 -r1.8 --- openacs-4/packages/acs-tcl/tcl/security-procs-postgresql.xql 19 Dec 2001 18:33:22 -0000 1.7 +++ openacs-4/packages/acs-tcl/tcl/security-procs-postgresql.xql 29 Dec 2001 01:48:32 -0000 1.8 @@ -51,5 +51,4 @@ - Index: openacs-4/packages/acs-tcl/tcl/security-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/security-procs.tcl,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/acs-tcl/tcl/security-procs.tcl 19 Dec 2001 18:33:22 -0000 1.3 +++ openacs-4/packages/acs-tcl/tcl/security-procs.tcl 29 Dec 2001 01:48:32 -0000 1.4 @@ -351,15 +351,15 @@ } ad_proc -public ad_set_client_property { - { - -secure f - -persistent t - -session_id "" - } + {-clob f} + {-secure f} + {-persistent t} + {-session_id ""} module name value } { @param session_id controls which session is used + @param clob tells us to use a large object to store the value Sets a client (session-level) property. If $persistent is true, the new value will be written through to the database. If @@ -370,6 +370,7 @@ secure (HTTPS) connection. } { + if { $secure != "f" && ![ad_secure_conn_p] } { error "Unable to set secure property in insecure or invalid session" } @@ -392,10 +393,12 @@ and property_name = :name } - db_dml prop_insert_dml { - insert into sec_session_properties - (session_id, module, property_name, property_value, secure_p, last_hit) - values ( :session_id, :module, :name, :value, :secure, :last_hit ) + set clob_dml [db_map prop_insert_dml_clob] + + if { $clob == "t" && ![empty_string_p $clob_dml] } { + db_dml dummy $clob_dml -clobs [list $value] + } else { + db_dml prop_insert_dml "" } } } @@ -1252,7 +1255,7 @@ set random_token [sec_random_token] db_dml insert_random_token { - insert /*+ APPEND */ into secret_tokens(token_id, token, token_timestamp) + insert /*+ APPEND */ into secret_tokens(token_id, token, timestamp) values(sec_security_token_id_seq.nextval, :random_token, sysdate) } incr counter Index: openacs-4/packages/acs-tcl/tcl/security-procs.xql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/security-procs.xql,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/acs-tcl/tcl/security-procs.xql 19 Dec 2001 18:33:22 -0000 1.2 +++ openacs-4/packages/acs-tcl/tcl/security-procs.xql 29 Dec 2001 01:48:32 -0000 1.3 @@ -64,7 +64,7 @@ select token from secret_tokens - where token_id = :token_id + where token_id = :token_id