[Date Prev][Date Next] [Chronological] [Thread] [Top]

RE: EBCDIC



I ported OpenLDAP, OpenSSL, Berkeley DB 4.1, and part of Cyrus SASL to
OS/390. Aside from Cyrus, all of these packages were fully functional but
OpenLDAP and OpenSSL operate with ASCII internally. In addition to using
IBM's libascii, I wrote stdio stubs to handle ASCII/EBCDIC translation for
parsing commandline args, reading config files, and writing log files. These
are the only interfaces between the software and the host OS that needed
work, given the presence of libascii.

A lot of what I went thru is in the FAQ-o-Matic now
http://www.openldap.org/faq/data/cache/719.html

The slapd that I built with this approach interoperates correctly with any
other LDAP server or client, does not need to do character-set translation in
the protocol transactions, and thus has no performance degradation compared
to a native server.

If you need to build a slapd that uses EBCDIC strings in the protocol layer,
you're not talking LDAP. That is not worth any further discussion here.

If you need to use libldap from other applications, and they're passing in
EBCDIC strings, you have a lot of hard work ahead of you. Since the client
library doesn't have ready access to the schema, you don't have an easy way
of identifying binary values that must be left unmodified, vs string values
that should be translated.

By the way, I am putting together a small presentation on the OS/390 port for
the OpenLDAP Developer Day conference on March 21. Perhaps we can discuss
more of the issues there.

  -- Howard Chu
  Chief Architect, Symas Corp.       Director, Highland Sun
  http://www.symas.com               http://highlandsun.com/hyc
  Symas: Premier OpenSource Development and Support

> -----Original Message-----
> From: owner-openldap-devel@OpenLDAP.org
> [mailto:owner-openldap-devel@OpenLDAP.org]On Behalf Of jean-frederic
> clere
> Sent: Friday, February 28, 2003 7:41 AM
> To: openldap-devel@OpenLDAP.org
> Subject: EBCDIC
>
>
> Hi,
>
> After a long time doing other things I am returning to port
> OpenLDAP to an
> EBCDIC machine.
> I have done the following:
>   - check out the tag OPENLDAP_REL_ENG_2.
>   - patch build/ltmain.sh (attached).
>   - use libregex from Apache-1.3 and snprintf/sockaddr_ip_get
> from APR (Apache
> Portable Runtime).
>   - use getgrnam and  initgr specific to the machine.
> And now I have a slapd that starts but does nothing else has
> he speaks EBCDIC.
>
> I have to integrate OpenLDAP in an EBCDIC environment
> (strings _have_ to be
> EBCDIC strings). So I will convert the data in input/output
> as I have to link
> OpenLDAP with other API that are prepared to work that way.
>
> The EBCDIC topic appaired last year in the dev list but I do
> not know what is
> the actual status of the porting.
>
> Any comments or hints?
>
> Cheers
>
> Jean-frederic
>