summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc1373.txt
blob: 35f922a1855f7566c4a4a6f47cc4b135e5cb97be (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
Network Working Group                                            T. Tignor
Request for Comments: 1373                                             ISI
                                                              October 1992


                             PORTABLE DUAs

Status of this Memo

   This memo provides information for the Internet community.  It does
   not specify an Internet standard.  Distribution of this memo is
   unlimited.

INTRODUCTION

   This document comes in two parts. The first part is for regular
   people who wish to set up their own DUAs (Directory User Interfaces)
   to access the Directory. It includes some brief notes on the
   operation of the DUAs and instructions for their creation and
   installation. The instructions are given in an easy-to-follow, step-
   by-step format. It is fully expected that the user will be able to
   perform the necessary operations as he reads through the instructions
   for the first time and have a working DUA when he finishes. The
   second part is for ISODE-maintainers wishing to provide portable DUAs
   to users. This part gives instructions in a similar but longer,
   step-by-step format. It is fully expected that the maintainer will be
   able to perform the necessary operations as he reads through the
   instructions for the first time and have a working DUA
   package/supporting service when he finishes.

   The document currently has four sub-parts for each larger part. The
   sub-parts detail the following DUAs: WHOIS, "de," dixie's "ud" and
   ISODE's "doog." It is intended that additional sub-parts will be
   added to the document as new, portable DUA packages are designed.

   Where pertinent, the document assumes ISODE 8.0 is being used.

   1.  Instructions for DUA-Users

   WHOIS

   A WHOIS interface to X.500 may be available on any ISODE-resident
   machine which also runs a DSA (Directory System Agent.) Check with
   your local, ISODE-maintainer. If the service is available, users can
   access the Directory with the following command:

        whois -h <hostname> <name in UFN format>




Tignor                                                          [Page 1]
^L
RFC 1373             DSA Support for Portable DUAs          October 1992


   <hostname> indicates the name of the host machine offering the WHOIS
   interface, surrounded by quotes. <name in UFN format> refers to a
   special, user-friendly syntax developed by Steve Hardcastle-Kille.
   UFN format is a comma-separated list of DN component values.
   (Attribute types are omitted.) The criteria for identifying DN
   components in UFN is often less stringent than normal.  For example:

        @c=US@st=California@o=Information Sciences
        Institute@ou=HPCC@cn=Tom Tignor

   could be uniquely specified in UFN syntax as

        tignor,isi,ca,us

   So to find this entry through WHOIS, one would type:

        whois -h "gum.isi.edu" tignor,isi,ca,us

   See Steve Hardcastle-Kille's Work in Progress, "User Friendly Naming"
   for details.


   De

   Use of the "de" DUA is fully explained by the program's help section.
   New users should type "?" at the first prompt after installing and
   running the de executable.

   The de executable can be created and installed by the following
   simple steps:

        If you do not have a file called ".unknown_tailor" in your home
        directory, create it now. This file should contain the following
        single line:
             etcpath:   <fullpathname>/isode/etc/

        where <fullpathname> is the full path name of your $HOME
        directory.

        If you do not have a directory $HOME/isode/bin, where "$HOME" is
        your home directory, create it now.

        ftp the compressed tar file "de-portable.tar.Z" from your local,
        ISODE-resident machine and put it in your isode directory. If
        you cannot find this file locally, it is available by anonymous






Tignor                                                          [Page 2]
^L
RFC 1373             DSA Support for Portable DUAs          October 1992


        ftp from "gum.isi.edu" in the "x500" directory.

        cd $HOME/isode

        uncompress < de-portable.tar.Z | tar xf -

        If your name is listed in the Directory, edit the de/detailor
        file and add a line reading:
             username: <yourDN>

        where <yourDN> indicates your Distinguished Name in the
        Directory.

        cp de/detailor de/etc/detailor

        Edit the CONFIG.make variables BINDIR, ETCDIR and SBINDIR to
        refer to your isode/bin, isode/etc and isode/etc directories,
        respectively.  (The isode/etc directory was created by the
        previous command.)

        ranlib libdsap.a

        ranlib libisode.a

        cd de

        ./make all

        ./make inst-all

   There is one error you may encounter during this procedure, following
   the "./make all" command:

        "Redeclaration of sprintf." in general.h

   If this error occurs, the following sub-procedure will fix the
   problem:

        Invoke your editor for the file ../h/general.h

        Search for the string "sprintf".

        Cut the line with the "#endif" string which follows the line
        reading:
             char *sprintf ();

        Paste the line under the line which reads "#endif". This second
        #endif line is exactly three lines below the current line.



Tignor                                                          [Page 3]
^L
RFC 1373             DSA Support for Portable DUAs          October 1992


        Save the file and quit the editor.

   Type "./make all" again. It should now compile smoothly. Finish up by
   typing "./make inst-all".


   Dixie/Ud

   The "ud" DUA is designed for users doing most of their X.500 queries
   in one branch of the DIT (Directory Information Tree.) The DUA
   operates from a predefined "base," a position in the DIT one or more
   branches above the entries to be queried. The base is usually an
   organization name, such as:

        @c=US@st=California@o=Information Sciences Institute

   Ud starts with a preset base. (See below.) But this base can be
   changed with the "cb" command. "cb" takes the full DN of the new base
   as an argument. For example:

        cb @c=GB@o=University College London

   With a preset base, searching is easy. The user finds entries below
   the base with the "find" command. "find" takes the last component of
   the DN of the entry as its sole argument. The criteria for the
   argument is very loose. The partial matching performed by ud should
   return the desired data or a clarification request if the name is at
   all close to the real thing.

   For example, with a base "@c=US@st=California@o=Information Sciences
   Institute", the RDN

        ou=HPCC@cn=Tom Tignor

   could be found by entering

        find tignor

   at the ud prompt.

   Other commands in ud are briefly described by the program's help
   section. Interested users should type "?" at the first prompt, after
   installing and running the executable.

   "Ud" comes with the "dixie" package, a mini-environment designed
   specifically to support lightweight Directory access. Using ud
   requires that a dixie server is running along with a DSA on your
   local, ISODE-resident machine. Before retrieving the dixie package,



Tignor                                                          [Page 4]
^L
RFC 1373             DSA Support for Portable DUAs          October 1992


   check with your local DSA manager to see that the dixie server is up
   and running.

   Once you're sure that everything is set up at the DSA-manager's end,
   the ud executable can be created and installed by the following
   simple steps:

        If you do not have a directory $HOME/isode/bin, where "$HOME" is
        your home directory, create it now.

        ftp (anonymously) the compressed tar file "dixie-<version
        #>.tar.Z", where <version #> is the number of the latest
        release, from "terminator.cc.umich.edu" and put it in your isode
        directory. The file is available in the "x500" directory on
        terminator.

        cd $HOME/isode

        uncompress < dixie-<version #>.tar.Z | tar xf -

   This creates the dixie environment. As a user interested in ud only,
   there are a number of things in the package that will be taking up
   space to no purpose. The following sequence of commands will get rid
   of them.

        cd dixie-<version #>

        rm -r dos

        rm -r macintosh

        rm -r server

        rm -r vms

        cd ..

   That done, we continue to bring ud to life.

        cd dixie-<version #>

        Edit the file "ud/ud.h". There are two constants for which you
        will need to supply new values: DEFAULT_BASE and DEFAULT_SERVER.
        DEFAULT_BASE identifies ud's "base" upon startup, as described
        above.  It takes a quoted DN as a value, e.g.,
        "@c=US@st=California@o=Information Sciences Institute".
        DEFAULT_SERVER identifies the machine which hosts the dixie
        server, i.e. your local, ISODE-resident machine. This constant



Tignor                                                          [Page 5]
^L
RFC 1373             DSA Support for Portable DUAs          October 1992


        takes a quoted string as a value, e.g., "gum.isi.edu".

        Edit the file "Makefile". Set the value of the BINDIR variable
        to "<mypath>/isode/bin", where <mypath> is the full pathname of
        the user's home directory.

        make depend-ud

        make ud-only

        make inst-ud


   Doog

   The "doog" DUA retrieves information on entries supplied by the user
   in UFN format. UFN format refers to a special, user-friendly syntax
   developed by Steve Hardcastle-Kille. UFN format is a comma-separated
   list of DN component values. (Attribute types are omitted.) The
   criteria for identifying DN components in UFN is often less stringent
   than normal.  For example:

        @c=US@st=California@o=Information Sciences
        Institute@ou=HPCC@cn=Tom Tignor

   could be specified in UFN syntax (and doog) as

        tignor,isi,ca,us

   See Steve Hardcastle-Kille's Work in Progress, "User Friendly Naming"
   for details.

   Other commands in doog are briefly described by the program's help
   section. Interested users should type "?" at the first prompt, after
   installing and running the executable.

   The doog executable can be created and installed by the following
   simple steps:

        If you do not have a file called ".unknown_tailor" in your home
        directory, create it now. This file should contain the following
        single line:
             etcpath:   <fullpathname>/isode/etc/

        where <fullpathname> is the full path name of your $HOME
        directory.

        If you do not have a directory $HOME/isode/bin, where "$HOME" is



Tignor                                                          [Page 6]
^L
RFC 1373             DSA Support for Portable DUAs          October 1992


        your home directory, create it now.

        ftp the compressed tar file "doog-portable.tar.Z" from your
        local, ISODE-resident machine and put it in your isode
        directory. If you cannot find this file locally, it is available
        by anonymous ftp from "gum.isi.edu" in the "x500" directory.

        cd $HOME/isode

        uncompress < doog-isode-8.0.tar.Z | tar xf -

        Edit the CONFIG.make variables BINDIR, ETCDIR and SBINDIR to
        refer to your isode/bin, isode/etc and isode/etc directories,
        respectively.  (The isode/etc directory was created by the
        previous command.)

        ranlib libdsap.a

        ranlib libisode.a

        cd doog

        ./make all

        ./make inst-all

   2.  Instructions for ISODE-Maintainers

   WHOIS

   "WHOIS" is a simple program already available at most UNIX
   workstations and hosts. It is normally used to access the database of
   users at NIC.DDN.MIL. The instructions below explain how to use WHOIS
   to access data in the White Pages Pilot X.500 database. These
   instructions are taken nearly word for word from the "PSI White Pages
   Pilot Project Administrator's Guide," section 2.8.3.

   Choose a machine in your local environment which is running the pilot
   project software. This machine will offer the white pages service via
   a network port offering an emulation of the WHOIS service.

   On this machine, modify the /etc/services file so that it contains an
   entry like this:

        whitepages 17005/tcp

   Next, edit the file /etc/servers so that it has an entry like this:




Tignor                                                          [Page 7]
^L
RFC 1373             DSA Support for Portable DUAs          October 1992


        whitepages tcp  $(SBINDIR)in.whitepages

   Because most user interfaces to WHOIS, e.g., whois(1c), do not allow
   the user to specify a special port, you should probably also add this
   line as well:

        whois tcp$(SBINDIR)in.whitepages

   If you already have a line for whois in the servers file, then you
   are already running a WHOIS service, and you should NOT add a second
   whois line. This machine is not a good choice for running the white
   pages via WHOIS emulation.

   Note that on newer systems derived from Berkeley UNIX, /etc/servers
   is called /etc/inetd.conf.

        The whitepages Command

   On those systems which are to access the white pages via the network
   and not locally (i.e., those systems which are not running the pilot
   project software), you should determine how the user invokes the
   WHOIS service via the network. For UNIX systems, you should provide a
   shell script like this:

        : run this script through /bin/sh

        exec /usr/ucb/whois -h wp.psi.net "$*"

   where the name of a host running the pilot project software is
   substituted for whitepages, e.g., wp.psi.net. This host must have the
   files /etc/services and /etc/servers edited as described above.


   De

   The compressed tar file for "de" can be created by the following
   sequence of commands. (Note: In the instructions which follow,
   <toplevel> indicates the top level of the ISODE distribution.)

        cd <toplevel>/others/quipu/uips

        Edit the de/detailor file to set the following options:

             dsa_address:            (the address of your DSA)
             default_country:        (your country)
             default_org:            (your organization)

        cp de/make temp1



Tignor                                                          [Page 8]
^L
RFC 1373             DSA Support for Portable DUAs          October 1992


        Edit the de/make file so that the last line reads as follows:

             exec $M TOPDIR=../ -f ../CONFIG.make -f Makefile ${1+"$@"}

        tar -cf de-portable.tar de/*

        mv temp1 de/make

        mv de-portable.tar <aboveETCDIR>
             (Here, <aboveETCDIR> is the directory immediately above
             ETCDIR.)

        cd <aboveETCDIR>

        tar -rf de-portable.tar etc/dsaptailor etc/isomacros
        etc/oidtable.at etc/oidtable.oc etc/oidtable.gen

        mv de-portable.tar <toplevel>

        cd <toplevel>

        cp config/CONFIG.make .

        tar -rf de-portable.tar h/* h/quipu/* util/* CONFIG.make
        libdsap.a libisode.a

        rm CONFIG.make

        compress de-portable.tar

   The compressed tar file for de will appear in the top level directory
   of the ISODE distribution as "de-portable.tar.Z".


   Dixie/Ud

   The latest version of the dixie distribution is available by
   anonymous ftp at "terminator.cc.umich.edu" in the "x500" directory.
   The file is named "dixie-<version #>.tar.Z", where <version #> is the
   number of the latest release.

   In order for anyone to use dixie clients, there must be a running
   dixie server which they can connect to. To set up the dixie server,
   the DSA manager should take the dixie package and explode/uncompress
   it in the top level directory of the ISODE distribution. This is done
   with the following command:

        uncompress < dixie-<version #>.tar.Z | tar xf -



Tignor                                                          [Page 9]
^L
RFC 1373             DSA Support for Portable DUAs          October 1992


   where <version #> is the version number of your dixie package.  This
   will create a "dixie-<version #>" directory. The dixie server, dixie
   library and any DUAs included with the package will be in this
   directory branch. Software to support dixie on machines other than
   UNIX is included as well. This software is stored in the directories
   "dos", "macintosh" and "vms". UNIX users should feel free to delete
   these directories and all their contents. Commands of the form:

        rm -r <dirname>

   where <dirname> is the directory name, should accomplish this task.

   In the top level of the dixie distribution is a file called
   "Makefile". The file holds several variables which should be
   configured to match those of your ISODE environment.


           BINDIR                  ISODEINCLUDEDIR
           ETCDIR                  LIBDIR
           INCLUDEDIR              ISODELIBS
           INSTLIBDIR


   In the "server" directory below the top level of the dixie
   distribution is another "Makefile" file. Configure the ISODELIBS
   variable in this file, as well.

   After setting these variables, cd to the top level of the dixie
   distribution and type the following commands:

           make depend-server
           make server-only
           make inst-server


   This will create and install the dixie server in your ETCDIR.  cd to
   the ETCDIR and type "dixie" to start the server.


   Doog

   The compressed tar file for "doog" can be created by the following
   sequence of commands. (Note: In the instructions which follow,
   <toplevel> indicates the top level of the ISODE distribution.)

        cd <toplevel>/others/quipu/uips

        cp doog/make temp1



Tignor                                                         [Page 10]
^L
RFC 1373             DSA Support for Portable DUAs          October 1992


        Edit the doog/make file so that the last line reads as follows:

             exec $M TOPDIR=../ -f ../CONFIG.make -f Makefile ${1+"$@"}

        cp doog/query/make temp2

        Edit the doog/query/make file so that the last line reads as
        follows:

             exec $M TOPDIR=../../ -f ../../CONFIG.make -f Makefile
             ${1+"$@"}

        tar -cf doog-portable.tar doog/*

        mv temp1 doog/make

        mv temp2 doog/query/make

        mv doog-portable.tar ../../..

        cd ../../..

        cp config/CONFIG.make .

        tar -rf doog-portable.tar h/* h/quipu/* util/* CONFIG.make
        libdsap.a libisode.a

        rm CONFIG.make

        mv doog-portable.tar <aboveETCDIR>
             (Here, <aboveETCDIR> is the directory immediately above
             ETCDIR.)

        cd <aboveETCDIR>

        tar -rf doog-portable.tar etc/dsaptailor etc/isomacros
        etc/oidtable.at etc/oidtable.gen etc/oidtable.oc

        compress doog-portable.tar

   The compressed tar file for doog will appear in the directory
   immediately above ETCDIR as "doog-portable.tar.Z".

Security Considerations

   Security issues are not discussed in this memo.





Tignor                                                         [Page 11]
^L
RFC 1373             DSA Support for Portable DUAs          October 1992


Author's Address

   Tom Tignor
   University of Southern California
   Information Sciences Institute
   4676 Admiralty Way
   Marina del Rey, CA 90292

   Phone: (310) 822-1511
   EMail: tpt2@isi.edu









































Tignor                                                         [Page 12]
^L