Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: binary MIME-Version: 1.0 X-Mailer: MIME-tools 5.411 (Entity 5.404) X-RT-Original-Encoding: iso-8859-1 Content-Length: 3775 From bjaspan@MIT.EDU Wed Nov 27 17:39:56 1996 Received: from MIT.EDU (PACIFIC-CARRIER-ANNEX.MIT.EDU [18.69.0.28]) by rt-11.MIT.EDU (8.7.5/8.7.3) with SMTP id RAA28270 for ; Wed, 27 Nov 1996 17:39:56 -0500 Received: from BEEBLEBROX.MIT.EDU by MIT.EDU with SMTP id AA20093; Wed, 27 Nov 96 17:39:54 EST Received: by beeblebrox.MIT.EDU (940816.SGI.8.6.9/4.7) id WAA03108; Wed, 27 Nov 1996 22:39:52 GMT Message-Id: <199611272239.WAA03108@beeblebrox.MIT.EDU> Date: Wed, 27 Nov 1996 22:39:52 GMT From: bjaspan@MIT.EDU Reply-To: bjaspan@MIT.EDU To: krb5-bugs@MIT.EDU Subject: master_princ multiply defined: kdb5_util.c, server_kdb.c X-Send-Pr-Version: 3.99 >Number: 260 >Category: krb5-admin >Synopsis: master_princ multiply defined: kdb5_util.c, server_kdb.c >Confidential: no >Severity: serious >Priority: medium >Responsible: bjaspan >State: closed >Class: sw-bug >Submitter-Id: unknown >Arrival-Date: Wed Nov 27 17:40:01 EST 1996 >Last-Modified: Tue Dec 03 16:08:01 EST 1996 >Originator: Barry Jaspan >Organization: mit >Release: 1.0-development >Environment: System: IRIX beeblebrox 5.3 11091812 IP22 mips >Description: While compiling kdb5_util on Irix, I received the following error: cc -L./../../lib -L./../../lib -o kdb5_util kdb5_util.o dump.o dumpv4.o loadv4.o kdb5_create.o kadm5_create.o string_table.o kdb5_stash.o kdb5_destroy.o ovload.o import_err.o strtok.o -lkadm5srv -lgssrpc -lgssapi_krb5 -lkdb5 -lkrb4 -ldes425 -lkrb5 -lcrypto -ldyn ./../../lib/libdb.a -lcom_err -lnsl -lgen ld: Warning: ./../../lib/libkadm5srv.a(server_kdb.o): master_princ: multiply defined previous (used) definition from 'kdb5_util.o'; new (ignored) definition from './../../lib/libkadm5srv.a' Warning: ./../../lib/libkadm5srv.a(server_kdb.o): master_encblock: multiply defined previous (used) definition from 'kdb5_util.o'; new (ignored) definition from './../../lib/libkadm5srv.a' Warning: ./../../lib/libkadm5srv.a(server_kdb.o): master_keyblock: multiply defined previous (used) definition from 'kdb5_util.o'; new (ignored) definition from './../../lib/libkadm5srv.a' I have confirmed that the symbol is, in fact, multiply defined in those two files and, thinking back, I suspect it has been that way for a long time. I have no idea why the linker is succeeding on all platforms; I thought this was a fatal error on at least some systems. Anyway, we should fix the problem. I believe the right solution is to make the declaration in kdb5_util.c extern, but I could be wrong. >How-To-Repeat: >Fix: >Audit-Trail: From: "Barry Jaspan" To: bjaspan@MIT.EDU Cc: krb5-bugs@MIT.EDU Subject: Re: krb5-admin/260: master_princ multiply defined: kdb5_util.c, server_kdb.c Date: Wed, 27 Nov 1996 17:44:47 -0500 Actually, I the currently global master_princ and related variables (master_encblock, etc) in libkadm5srv could probably be moved into the API handle instead of being global. server_kdb.c could keep the info in a static variable so that, if kadm5_init() is called multiple times on a server without a stash file, the password is only needed once. State-Changed-From-To: open-closed State-Changed-By: bjaspan State-Changed-When: Tue Dec 3 16:07:45 1996 State-Changed-Why: Ooops, the previous message was supposed to be a state changed to closed. From: "Barry Jaspan" To: bjaspan@MIT.EDU Cc: krb5-bugs@MIT.EDU Subject: Re: krb5-admin/260: master_princ multiply defined: kdb5_util.c, server_kdb.c Date: Tue, 3 Dec 1996 21:06:43 GMT I fixed the multiply-defined errors, and for now worrying about the globals is more effort than is necessary. Files: kadmin/dbutil/ChangeLog kadmin/dbutil/kdb5_util.c >Unformatted: