Patches item #474259, was opened at 2001-10-23 18:01
You can respond by visiting:
http://sourceforge.net/tracker/?func=detail&atid=303152&aid=474259&group_id=3152

Category: other
Group: None
Status: Open
Resolution: None
>Priority: 6
Submitted By: Vinod Kurup (vkurup)
Assigned to: Kriston Rehberg (kriston)
Summary: ns_uuencode patch

Initial Comment:
Hello all,

ns_uuencode is broken in AOLServer 3.4.2. It works fine
for text content,
but it is broken for binary content. This is important
to me because
OpenACS needs a way to encode binary content when it
sends outgoing mail.

Rob Mayoff has explained to me that this is because
NsTclHTUUEncodeCmd is
currently implemented as a Tcl_CmdProc and it should be
implemented as a
Tcl_ObjCmdProc. He also notified me that this would
only work for Tcl8, so
I would have to keep the old Tcl_CmdProc for Tcl7.6

So, I've fixed this (according to his helpful guidance).

In order to do this, I've made the following changes:

* I created 2 header files (nsd76.h and nsd8x.h) which
contain the arrays
  of commands for the 2 versions of Tcl. These arrays
used to be defined in
  tclcmds.c.

* I've implemented the function NsTclCreateObjCmds
which previously was
  declared, but never implemented.

* I've adjusted tclinit.c to call NsTclCreateObjCmds.

* Finally, I've removed NsTclHTUUEncodeCmd from
tclmisc.c and instead moved
  it to a new file uuencode7.c. I've then implemented
the new
  Tcl_ObjCmdProc version into uuencode8.c. These will
be included
  conditionally from tclstub76.c and tcstub8x.c,
respectively.

I also included test cases and linked the from the main
test cases
index.adp page, so that they will get installed with a
'make install-tests'

These changes will also pave the way to upgrading other
procs to use
Tcl_ObjCmdProcs (such as ns_return, ns_write, etc).

I would love to see this applied to 3.4.2 so that we
could use AOLServer
3.4.x as the official distro for OpenACS 4. Let me know
if I can clarify
anything.

The patch is against CVS tagged nsd_v3_r4_p2

Additional files are attached:
nsd76.h, nsd8x.h, uuencode7.c and uuencode8.c go in
directory nsd/
binary-file, test1.adp and test2.adp go in a new folder
'uuencode' inside /tests



----------------------------------------------------------------------

>Comment By: Kriston Rehberg (kriston)
Date: 2002-03-20 11:06

Message:
Logged In: YES
user_id=16427

This is more appropriate as a separate command since
ns_uuencode is intended for "htuu" encoding for URLs and
basic auth (bug #446886).  This patch would be great if it
were a different command entirely.  Incidentally email
should use the more acceptable base-64 encoding.  That way
you can take advantage of MIME email which is the more
compatible way to send binary data via email.

It's unfortunate that the command is still called
ns_uuencode but that's the way it is, I guess.

Let me know what you'd like to do.  Is it really compatible
enough with htuu and basic-authentication to use this new
code for those things as well as data?  Let me know.



----------------------------------------------------------------------

You can respond by visiting:
http://sourceforge.net/tracker/?func=detail&atid=303152&aid=474259&group_id=3152

Reply via email to