General UI Undefined Catalog - was [ic] Error while editing subset of variable entries

Mike Heins interchange-users@interchange.redhat.com
Wed May 22 16:25:00 2002


Quoting Barry Treahy, Jr. (Treahy@mmaz.com):
> Jon Jensen wrote:
> 
> >On Wed, 22 May 2002, Barry Treahy, Jr. wrote:
> >
> >>Ok, this is what I found and I cannot see how this could not be an IC 
> >>bug nor how it would not impact others.
> >>
> >>If you look at the end of the GET stream, the
> >>
> >>&mv_click=Edit+checked+records+in+sequence
> >>
> >>is delimited with '+' plus symbols which are being parted into 
> >>individual entity arguments on my server.  If I replace the + with the 
> >>encoded space %20, the GET works and the page displayes properly.  It 
> >>appears after creating a modified tlink to dump entity information that 
> >>the plus symbols are parsing into individual entity items...
> >>
> >
> >In a GET request, '+' is equivalent to '%20' and valid. Do I understand
> >correctly that your tlink is non-standard? It may be broken. You could
> >post the relevant parts to the list for others to review.
> >
> The standard tlink and vlink both produce the failed results.  I modified the tlink script to dump out the details of what was being parsed in the stream.  This is a truncated example of the attempted GET with the debugging output from tlink with the plus symbols:
> 
> IC link debugging enabled
> sockets
> get_entity-send_arguments-$val: arg 5
> 344 mv_data_table=area&ui_meta_specific=&ui_page_title=&ui_page_title=&ui_meta_specific=&ui_limit_fields=&ui_show_fields=code%0D%0Aname%0D%0Awhich_page%0D%0Aurl%0D%0Asearch%0D%0Apage%0D%0Aselector&ui_return_to=admin%2Fflex_select&ui_return_to=mv_data_table%3Darea&ui_return_to=ui_sequence_edit%3D1&mv_action=back&item_id=10&item_id=20&mv_click=Edit
> 7 checked
> 7 records
> 2 in
> 8 sequence
> 
> send_environment-$val: env 105
> 20 VAR_ui_limit_fields=
> 72 VAR_ui_return_to=admin/flex_select#mv_data_table=area#ui_sequence_edit=1
> 47 QUERY_mv_click=Edit checked records in sequence
> 385 QUERY_STRING=mv_data_table=area&ui_meta_specific=&ui_page_title=&ui_page_title=&ui_meta_specific=&ui_limit_fields=&ui_show_fields=code%0D%0Aname%0D%0Awhich_page%0D%0Aurl%0D%0Asearch%0D%0Apage%0D%0Aselector&ui_return_to=admin%2Fflex_select&ui_return_to=mv_data_table%3Darea&ui_return_to=ui_sequence_edit%3D1&mv_action=back&item_id=10&item_id=20&mv_click=Edit+checked+records+in+sequence
> {snipped}
> 
> 
> Strange, eh? Visiting the same page with the plus symbols replaced
> with spaces returns this:
> 
> IC link debugging enabled
> socketsget_entity-send_arguments-$val: arg 1
> 380 mv_data_table=area&ui_meta_specific=&ui_page_title=&ui_page_title=&ui_meta_specific=&ui_limit_fields=&ui_show_fields=code%0D%0Aname%0D%0Awhich_page%0D%0Aurl%0D%0Asearch%0D%0Apage%0D%0Aselector&ui_return_to=admin%2Fflex_select&ui_return_to=mv_data_table%3Darea&ui_return_to=ui_sequence_edit%3D1&mv_action=back&item_id=10&item_id=20&mv_click=Edit%20checked%20records%20in%20sequence
> 
> send_environment-$val: env 105
> 72 VAR_ui_return_to=admin/flex_select#mv_data_table=area#ui_sequence_edit=1
> 20 VAR_ui_limit_fields=
> 393 QUERY_STRING=mv_data_table=area&ui_meta_specific=&ui_page_title=&ui_page_title=&ui_meta_specific=&ui_limit_fields=&ui_show_fields=code%0D%0Aname%0D%0Awhich_page%0D%0Aurl%0D%0Asearch%0D%0Apage%0D%0Aselector&ui_return_to=admin%2Fflex_select&ui_return_to=mv_data_table%3Darea&ui_return_to=ui_sequence_edit%3D1&mv_action=back&item_id=10&item_id=20&mv_click=Edit%20checked%20records%20in%20sequence
> 47 QUERY_mv_click=Edit checked records in sequence
> {snipped>
> 
> This occurs with both Netscape 6.2.2 and IE 5.0. My HTTP server is
> Roxen, release 1.3.122.

Aha, Roxen.

Apparently it does the + --> space conversion itself, which Apache (and
other web servers to my knowledge) do not do. I believe that could be
characterized as a bug in Roxen; it is not following common CGI practice
of setting QUERY_STRING to exactly what was passed in the URL.

It would be pretty easy to set up a capability in Vend::Server that
looks for MV_ROXEN and re-translates, or better yet use tlink.pl
and do the translation there.

-- 
Mike Heins
Perusion -- Expert Interchange Consulting
phone +1.513.523.7621      <mike@perusion.com>

I am a great believer in luck, and I find that the harder I work
the more luck I have. -- Thomas Jefferson