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

RE: EBCDIC



Without a radical change to the library architecture, what you suggest is
impossible to do correctly. The old UMich code did T.61/ISO8859 translation
at the socket level too. It was also broken, because at that level you have
no knowledge of schema, so you have no way to detect that a binary value
should be passed through unmodified. That approach is not viable for
reliable, correct behavior. The approach you describe suffers the same
shortcoming. Not to mention the overhead of actually performing the
translation on all the data. No matter what model your mainframe, CPU cycles
are still expensive, and even if you could correctly translate 100% of the
time, it would be a waste.

Granted, there's no way to avoid the translation problem on the client side,
but my approach guarantees that the server works correctly and efficiently.
Your approach guarantees the opposite.

  -- 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: Rozonkiewiecz, Mitchell [mailto:Mitchell.Rozonkiewiecz@ca.com]

> It is possible to have LDAP run 100% EBCDIC in USS on z/OS and OS/390
>
> You need to perform EtoA and AtoE as the data is read/written to the
> TCP/IP socket.
>
> This allows all config files, schema files, etc to stay in EBCDIC and
> not have to play games to work in ASCII in an EBCDIC world.
>
> Mitch
>
>
> -----Original Message-----
> From: jean-frederic clere
> [mailto:jfrederic.clere@fujitsu-siemens.com]
> Sent: Monday, March 03, 2003 5:30 AM
> To: Howard Chu
> Cc: openldap-devel@OpenLDAP.org; Martin Kraemer
> Subject: Re: EBCDIC
>
> Howard Chu wrote:
> > 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.
>
> I already have OpenSSL, Berkeley DB 4.1 and a lot more libraries
> prepared to use
>   EBCDIC APIs. I do not think I will be able to have a special ASCII
> version of
> those for OpenLDAP.
>
> >
> > 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.
>
> I am not able to locate in the CVS the modifications you
> describe in the
>
> FAQ-o-Matic. How could I get them?
>
> >
> > 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.
>
> That is not what I need.
>
> >
> > 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.
>
> I am afraid that what I have to do.
>
> >
> > 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.
>
> Would be nice but I am based in Europa.
>
> >
> >   -- 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
> >>
> >
> >
> >
>