[Info-vax] To MIME or not to MIME
Stephen Hoffman
seaohveh at hoffmanlabs.invalid
Wed Aug 1 11:34:58 EDT 2018
On 2018-07-31 09:13:55 +0000, Jan-Erik Sderholm said:
> Den 2018-07-31 kl. 00:37, skrev Stephen Hoffman:
>> On 2018-07-30 22:19:03 +0000, Jan-Erik Sderholm said:
>>
>>> I'm not usure that the miced case filename was the reason that the
>>> sending end switch to UTF-8 encoding of the filename.
>>>
>>> Probaby something else in the mail, could be in the plain text part.
>>>
>>> I think that, if there is something in the body of the mail that forces
>>> it into UTF-8 encoding, that also applies to the subject, even if it is
>>> not strictly needed for the subject...
>>
>>
>> Doesn't really matter what triggered it.
>
> It sure does. *If* you are interested in understading the cause and to
> find a cure for this in the future. If not, then yes, just don't bother.
You're approaching this as a developer with control over their
end-users. That case is becoming less common. Enjoy it while you have
that environment too, if that case applies to your normal development
environment.
Though with great power... Some developers have used that same control
over end-users to inflict some very bad user interfaces and very bad
designs on their end-user folks. Reporting to folks other than those
using your tools has led to a number of abominations in designs, but
when you're paying the end users they're usually more willing to cope
with the problems. Or work around the problems, sometimes with
unexpected consequences. That also adds costs onto the trainers and
the support folks, though some end-users have turned these messes to
their own advantage and have used flaws to work around limitations in
the user interfaces. Compatibility too inevitably and inevitably leads
to bad and complex user interface designs. But I digress.
With details such as mail messages and TLS connections and expected
patches and other sorts of network inter-operations and distributed
security details, OpenVMS either plays well with others or it gets
demerits toward potential or eventual replacement. If you're not
working in these sorts of environments, then you can avoid some of
these sorts of cases. And can sometimes shift the onus of working
around the OpenVMS limitations. But even internal networks in
enterprises are moving forward.
Sure, knowing the specific trigger might provide an
onus-on-the-end-user workaround, too.
>> It's valid and correct syntax.
>
> And that helped Brian, how?
These messes are things we're all going to have to deal with, at least
until the tools are updated or local replacements are installed, or —
in those few cases where it's possible — worked around through added
end-user requirements.
With MIME-encoded messages, messages arriving with valid syntax are
something that we're going to have to deal with, as mail clients and
many other aspects of distributed computing are out of our individual
or organizational control.
We can try workarounds and similar approach and that'll work in
isolated cases. In the general case, not so much. Users make
mistakes, remote servers not under our control get upgraded and switch
to always using the unsupported-but-valid syntax, etc.
>> "=?UTF-8?Q?Jan-Erik_S=c3=b6derholm?="
>
> "c3 b6" is the UTF8 code for the letter "ö" in my name.
> Correctly encoded and probably handled OK by some tools.
Ponder whether you're telling me something I don't already know about,
given I've specifically pointed it out, and in the same context as a
similar error in OpenVMS. The specific case I'm dealing with involves
issues with quoted printable, which means I'm either going to be
writing a new client, convincing the vendor to open-source the client,
migrating to a different client, or dealing with the error. Which
parallels what Brian is dealing with. Hence my comment.
>
>> Be that as it may, the OpenVMS character support work is not a small
>> project, and definitely not at the top of the VSI schedule by any
>> stretch.
>>
>
> That have never stopped my from finding solutions and work-arounds when
> these issues pops up.
Yes, the first-principles approach.
It's quite possible to work around this with any of various approaches.
It's also how we get enterprise software installations and a whole pile
of unmaintainable and baroque code. This because the actual problems
aren't or can't be fixed, so they're worked around. That's an expected
strategy used at existing OpenVMS sites. That doesn't work so well for
attracting new OpenVMS installations and new OpenVMS customers.
Because MIME-encoded messages and web services are expected to be a
part of the foundation of the platform, and not something where an
intrepid developer needs to deal with it. But I digress.
All of which adds expense of using of the platform, and increased costs
tend to discourage new installations and new users, and takes the
developer away from working on application-specific processing.
Because first-principles is not free.
We all could be doing something better than having to deal with
MIME-encoded messages and particularly messages that are using correct
syntax that cause the in-built tools to tip over with
"enterprise-worthy" error messages.
ps: Some of the more obvious "enterprise-friendly" ways to fix this mess:
-pre-process and reformat the MIME input prior to using the MIME
tool, though that can clean up the export header cruft too...
-patch the image directly and correct the problem...
-shim in a shareable image that intercepts either the system I/O
calls or the language-specific I/O calls and that detects and corrects
the error on subsequent reads...
-intercept on the network via MITM, as the OpenVMS connections are
insecure...
-use some custom processing rules on a Postfix or other intermediate
mail server...
-use alternate MIME-processing tools either locally written, or that
have been sourced elsewhere...
-require users to send specific messages from specific servers
running specific versions and push the mess onto the end-users and the
support team...
-write a stub pseudo storage driver using ALTSTART that detects and
corrects the error on the pseudo disk...
-write a correcting device driver, an old OpenVMS strategy and one
which used to be fairly common for some device-level tasks...
-re-roll storage device firmware or controller firmware to correct
the error...
-acquire a commercial replacement mail client and/or replacement IP
stack, such as Multinet and PMDF...
-migrate to another platform
There are undoubtedly others. There are folks around that can
intercept the I/O activity in flight within the OpenVMS kernel and
patch the I/O there, too. And no, a platform migration is not
something that would be expected here. But there's always a trigger or
a series of triggers that cause an app or a platform migration.
--
Pure Personal Opinion | HoffmanLabs LLC
More information about the Info-vax
mailing list