gpg via cgi under BSDi

Sebastian Henschel shensche@defcom.de
Wed, 19 Jan 2000 14:02:16 +0100


hello again..

Werner Koch wrote:

>
> > as you can see, it stops before this DEK (whatever that is, looks
>
> data encryption key = the random session key which is used for
> symmentric encryption of the data.
>
> > somehow like a fingerprint) thing is done. well, stopping is not the
> > right term. it just hangs and does nothing more, no quitting, no
> > advancing :(
>
> I guess it is collecting random - did you use EGD?
no, i did not. but how can i do that under BSDi? i started the demon as proposed (egd.pl ~/.gnupg/entropy) and put "load-extension rndegd" into my options file. but gpg seems to use the file /usr/local/lib/gnupg/rndegd and outputs the following: gpg: /usr/local/lib/gnupg/rndegd: error loading extension: can't process object file: Inappropriate file type or format when i start egd with "egd.pl /usr/local/lib/gnupg/rndegd" gpg says: gpg: /usr/local/lib/gnupg/rndegd: error loading extension: can't process object file: Operation not supported "cat"ting this file now gives me nearly the same answer. btw it seems to have always the size of 0, rights: 4777. a snippet with --debug-all (although i have no idea where to start concerning this egd matter): ------------------ snip ------------------------- # similar stuff before gpg: DBG: mpi_alloc(2048) gpg: DBG: mpi_alloc_limb_space(2048) gpg: DBG: mpi_alloc(32) gpg: DBG: mpi_alloc_limb_space(32) gpg: DBG: mpi_alloc(2048) gpg: DBG: mpi_alloc_limb_space(2048) gpg: DBG: parse_packet(iob=3): type=2 length=75 (parse.ringedit.c.1237) gpg: DBG: mpi_alloc(160) gpg: DBG: mpi_alloc_limb_space(160) gpg: DBG: mpi_alloc(160) gpg: DBG: mpi_alloc_limb_space(160) gpg: DBG: iobuf-3.0: underflow: req=8192 got=0 rc=-1 gpg: DBG: /foobar/.gnupg/pubring.gpg: close fd 3 gpg: DBG: iobuf-3.0: underflow: eof gpg: /usr/local/lib/gnupg/rndegd: error loading extension: can't process object file: Operation not supported gpg: DBG: mpi_alloc(2048) gpg: DBG: mpi_alloc_limb_space(2048) gpg: DBG: mpi_alloc(32) gpg: DBG: mpi_alloc_limb_space(32) gpg: DBG: mpi_alloc(2048) gpg: DBG: mpi_alloc_limb_space(2048) gpg: DBG: free_packet() type=6 gpg: DBG: mpi_free gpg: DBG: Ooops, m_size called gpg: DBG: mpi_free_limb_space of size 0 gpg: DBG: mpi_free # similar stuff afterwards ------------------ snap ------------------------- *sigh* i remind you all, that you cannot make gnupg with "--enable-static-rnd=none" or "--enable-static-rnd=egd" on BSDi. and you have to touch the startup rndegd, tiger, rndunix in the cipher dir of the source tree (which are found afterwards in /usr/local/lib/gnupg).
> Or something is wrong with your CGI program, run it under strace/truss
> to see where it hangs.
unfortunately strace does not support BSDi (i start hating this derivate). well, ktrace (as replacement for truss) does not give _me_ so much more info. one thing i found interesting is that another gpg-process is forked shortly before the programm hangs. although in the ktrace dump you can only see the fork, but in the process list you have two gpgs running. if anyone is interested i can post him/her the whole output (about 30K) until i killed the process. slightly desperate, tia sebastian -- defcom webdressing gmbh ohlauer str. 42 10999 berlin phone: +49 30 617 76 999