About doing the random number seed for ssl, I dug up what lynx does, and
it looks like it wouldn't be difficult to do something similar in wget.
It appears this code was written by Mark Mentovai <[EMAIL PROTECTED]>,
http://www.moxienet.com/.

Hope it helps.

k

  if(RAND_status()==0) {
    char rand_file[256];
    time_t t;
    pid_t pid;
    long l,seed;

    t=time(NULL);
    pid=getpid();
    RAND_file_name((char *)&rand_file,256);
    CTRACE((tfp,"HTTP: Seeding PRNG\n"));
    if(rand_file!=NULL) {
      /* Seed as much as 1024 bytes from RAND_file_name */
      RAND_load_file(rand_file,1024);
    }
    /* Seed in time (mod_ssl does this) */
    RAND_seed((unsigned char *)&t,sizeof(time_t));
    /* Seed in pid (mod_ssl does this) */
    RAND_seed((unsigned char *)&pid,sizeof(pid_t));
    /* Initialize system's random number generator */
    RAND_bytes((unsigned char *)&seed,sizeof(long));
    srand48(seed);
    while(RAND_status()==0) {
      /* Repeatedly seed the PRNG using the system's random number generator until it 
has been seeded with enough data */
      l=lrand48();
      RAND_seed((unsigned char *)&l,sizeof(long));
    }
    if(rand_file!=NULL) {
      /* Write a rand_file */
      RAND_write_file(rand_file);
    }
  }

Reply via email to