Index: Makefile.in =================================================================== RCS file: /home/mwa/Admin/cvsroot/home/mwa/src/pks/Makefile.in,v retrieving revision 1.1.1.2 retrieving revision 1.3 diff -r1.1.1.2 -r1.3 2c2 < # $Id: Makefile.in,v 1.1.1.2 1998/05/01 06:25:09 mwa Exp $ --- > # $Id: Makefile.in,v 1.3 1998/10/08 16:08:33 mwa Exp $ 76,77c76,77 < MISCOBJS = parse.o llist.o globals.o logging.o < UTILOBJS = util.o --- > MISCOBJS = parse.o llist.o globals.o > UTILOBJS = util.o logging.o Index: globals.h =================================================================== RCS file: /home/mwa/Admin/cvsroot/home/mwa/src/pks/globals.h,v retrieving revision 1.1.1.2 retrieving revision 1.4 diff -r1.1.1.2 -r1.4 5c5 < * $Id: globals.h,v 1.1.1.2 1998/04/26 06:12:18 mwa Exp $ --- > * $Id: globals.h,v 1.4 1998/07/10 22:01:08 mwa Exp $ 15c15 < #define PKS_VERSION "0.9.3-db2test" --- > #define PKS_VERSION "0.9.3-mwa" Index: kd_add.c =================================================================== RCS file: /home/mwa/Admin/cvsroot/home/mwa/src/pks/kd_add.c,v retrieving revision 1.1.1.2 retrieving revision 1.5 diff -r1.1.1.2 -r1.5 1c1 < const char rcsid_kd_add_c[] = "$Id: kd_add.c,v 1.1.1.2 1998/05/01 06:25:28 mwa Exp $"; --- > const char rcsid_kd_add_c[] = "$Id: kd_add.c,v 1.5 1998/07/10 22:01:10 mwa Exp $"; 1317a1318,1338 > if (err->soft_count > 0) { > char err_count[20], keyid[20]; > sprintf(keyid, "%02x%02x%02x%02x", err->soft_keyid[0], > err->soft_keyid[1], err->soft_keyid[2], err->soft_keyid[3]); > sprintf(err_count, "%d", err->soft_count); > if (!xbuffer_append_str(win_msg, "Your key block contained ") || > !xbuffer_append_str(win_msg, err_count) || > !xbuffer_append_str(win_msg, " format errors,\n" > "which were ignored. The last error was on\n" > "key 0x") || > !xbuffer_append_str(win_msg, keyid) || > !xbuffer_append_str(win_msg, ":\n") || > !xbuffer_append_str(win_msg, err->soft_str) || > !xbuffer_append_str(win_msg, "\n")) { > xbuffer_free(newkeys_xb); > err->fatal = 1; > err->str = "Failed allocating space for success string"; > fail(); > } > } > 1328a1350 > err.soft_count = 0; Index: kd_generic.c =================================================================== RCS file: /home/mwa/Admin/cvsroot/home/mwa/src/pks/kd_generic.c,v retrieving revision 1.1.1.2 retrieving revision 1.6 diff -r1.1.1.2 -r1.6 1c1 < const char rcsid_kd_generic_c[] = "$Id: kd_generic.c,v 1.1.1.2 1998/04/26 04:21:08 mwa Exp $"; --- > const char rcsid_kd_generic_c[] = "$Id: kd_generic.c,v 1.6 1998/07/10 22:01:15 mwa Exp $"; 294a295 > int last_seek = 0; 321c322,323 < if (lseek(fdst, cnt, SEEK_CUR) < 0) { --- > last_seek = 1; > if (lseek(fdst, cnt, SEEK_CUR) < 0) { 328c330,331 < --- > > last_seek = 0; 337a341,351 > } > } > > if (last_seek) { > /* Need to write into the last location, at least on Solaris */ > if (lseek(fdst, -1, SEEK_CUR) < 0 > || write(fdst, zeros, 1) != 1) { > log_error("copy_file", strerror(errno)); > close(fsrc); > close(fdst); > return(-1); Index: kd_get.c =================================================================== RCS file: /home/mwa/Admin/cvsroot/home/mwa/src/pks/kd_get.c,v retrieving revision 1.1.1.1 diff -r1.1.1.1 kd_get.c 1c1 < const char rcsid_kd_get_c[] = "$Id: kd_get.c,v 1.1.1.1 1998/02/17 19:29:14 mwa Exp $"; --- > const char rcsid_kd_get_c[] = "$Id: kd_get.c,v 1.3 1998/07/10 22:01:17 mwa Exp $"; 114a115,122 > if (err->soft_count > 0) { > fprintf(stderr, "Your key block contained %d format errors,\n" > "which were ignored. The last error was on\n" > "key 0x%02x%02x%02x%02x", > err->soft_count, err->soft_keyid[0], err->soft_keyid[1], > err->soft_keyid[2], err->soft_keyid[3]); > } > 124a133 > err.soft_count = 0; Index: kd_index.c =================================================================== RCS file: /home/mwa/Admin/cvsroot/home/mwa/src/pks/kd_index.c,v retrieving revision 1.1.1.1 diff -r1.1.1.1 kd_index.c 1c1 < const char rcsid_kd_index_c[] = "$Id: kd_index.c,v 1.1.1.1 1998/02/17 19:29:14 mwa Exp $"; --- > const char rcsid_kd_index_c[] = "$Id: kd_index.c,v 1.3 1998/07/10 22:01:18 mwa Exp $"; 255a256 > 263a265,272 > if (err->soft_count > 0) { > fprintf(stderr, "Your key block contained %d format errors,\n" > "which were ignored. The last error was on\n" > "key 0x%02x%02x%02x%02x", > err->soft_count, err->soft_keyid[0], err->soft_keyid[1], > err->soft_keyid[2], err->soft_keyid[3]); > } > 273a283 > err.soft_count = 0; Index: kd_internal.h =================================================================== RCS file: /home/mwa/Admin/cvsroot/home/mwa/src/pks/kd_internal.h,v retrieving revision 1.1.1.1 retrieving revision 1.3 diff -r1.1.1.1 -r1.3 5c5 < * $Id: kd_internal.h,v 1.1.1.1 1998/02/17 19:29:15 mwa Exp $ --- > * $Id: kd_internal.h,v 1.3 1998/07/10 22:01:20 mwa Exp $ 19a20,23 > /* Provisioning for soft errors */ > int soft_count; > unsigned char soft_keyid[4]; > char *soft_str; Index: kd_search.c =================================================================== RCS file: /home/mwa/Admin/cvsroot/home/mwa/src/pks/kd_search.c,v retrieving revision 1.1.1.2 retrieving revision 1.3 diff -r1.1.1.2 -r1.3 1c1 < const char rcsid_kd_search_c[] = "$Id: kd_search.c,v 1.1.1.2 1998/04/27 07:35:18 mwa Exp $"; --- > const char rcsid_kd_search_c[] = "$Id: kd_search.c,v 1.3 1998/07/10 22:01:21 mwa Exp $"; 139a140,152 > static void soft_err(mke_state *s, char *message) > { > s->err->soft_count++; > s->err->soft_str = message; > log_info("soft_err", message); > if (s->ke->keyidbits.len >= 4) { > memcpy(&s->err->soft_keyid, > (char *)s->ke->keyidbits.buf + s->ke->keyidbits.len - 4, 4); > } else { > log_error("soft_err", "No keyid available for logging"); > } > } > 158,160c171,172 < s->err->fatal = 0; < s->err->str = "Key block corrupt: pubkey with no userid"; < return(0); --- > soft_err(s,"Key block corrupt: pubkey with no userid"); > return(1); 215,217c227,229 < s->err->fatal = 0; < s->err->str = "Key block corrupt: pubkey decode failed"; < return(0); --- > soft_err(s, "Key block corrupt: pubkey decode failed"); > s->ignoring = 1; /* Ignore until next pubkey */ > return(1); 312,314c324,326 < s->err->fatal = 0; < s->err->str = "Key block corrupt: userid decode failed"; < return(0); --- > soft_err(s, "Key block corrupt: userid decode failed"); > s->ignoring = 1; /* Do not put the sigs onto the wrong UID */ > return(1); 336,338c348,350 < s->err->fatal = 0; < s->err->str = "Key block corrupt: signature decode failed"; < return(0); --- > soft_err(s, > "Key block corrupt: signature decode failed"); > return(1); 344,347c356,358 < s->err->fatal = 0; < s->err->str = < "Key block corrupt: multiple revocations on single key"; < return(0); --- > soft_err(s, > "Key block corrupt: multiple revocations on single key"); > return(1); 359,362c370,372 < s->err->fatal = 0; < s->err->str = < "Key block corrupt: more than one signature on subkey"; < return(0); --- > soft_err(s, > "Key block corrupt: more than one signature on subkey"); > return(1); 373,375c383,384 < s->err->fatal = 0; < s->err->str = "Key block corrupt: signature before userid"; < return(0); --- > soft_err(s, "Key block corrupt: signature before userid"); > return(1); 464,467c473,475 < s->err->fatal = 0; < s->err->str = < "Key block corrupt: trust packet before pubkey packet"; < return(0); --- > soft_err(s, > "Key block corrupt: trust packet before pubkey packet"); > return(1); 486d493 < s->err->fatal = 0; 490c497,498 < return(0); --- > soft_err(s, s->err->buf); > return(1); Index: kd_since.c =================================================================== RCS file: /home/mwa/Admin/cvsroot/home/mwa/src/pks/kd_since.c,v retrieving revision 1.1.1.2 retrieving revision 1.3 diff -r1.1.1.2 -r1.3 1c1 < const char rcsid_kd_since_c[] = "$Id: kd_since.c,v 1.1.1.2 1998/04/27 07:35:17 mwa Exp $"; --- > const char rcsid_kd_since_c[] = "$Id: kd_since.c,v 1.3 1998/07/10 22:01:26 mwa Exp $"; 60c60 < for (ret = (*(cursor->c_get))(cursor, &key, &data, DB_FIRST); --- > for (ret = (*(cursor->c_get))(cursor, &key, &data, DB_SET_RANGE); Index: kvcv.c =================================================================== RCS file: /home/mwa/Admin/cvsroot/home/mwa/src/pks/kvcv.c,v retrieving revision 1.1.1.2 retrieving revision 1.4 diff -r1.1.1.2 -r1.4 1c1 < const char rcsid_kvcv_c[] = "$Id: kvcv.c,v 1.1.1.2 1997/06/15 08:01:44 mwa Exp $"; --- > const char rcsid_kvcv_c[] = "$Id: kvcv.c,v 1.4 1998/07/10 22:01:31 mwa Exp $"; 12a13 > #include "globals.h" 16a18,23 > > /* logging callbacks */ > int debug = 1; > void kd_close(void) > { > } Index: kxa.c =================================================================== RCS file: /home/mwa/Admin/cvsroot/home/mwa/src/pks/kxa.c,v retrieving revision 1.1.1.1 retrieving revision 1.4 diff -r1.1.1.1 -r1.4 1c1 < const char rcsid_kxa_c[] = "$Id: kxa.c,v 1.1.1.1 1998/02/17 19:29:20 mwa Exp $"; --- > const char rcsid_kxa_c[] = "$Id: kxa.c,v 1.4 1998/10/08 16:08:35 mwa Exp $"; 12a13 > #include "globals.h" 21a23,28 > /* logging callbacks */ > int debug = 1; > void kd_close(void) > { > } > 30c37 < if ((ptype == 6) || (ptype == 13) || (ptype == 2)) --- > if ((ptype == 6) || (ptype == 13) || (ptype == 2) || (ptype == 14)) Index: logging.c =================================================================== RCS file: /home/mwa/Admin/cvsroot/home/mwa/src/pks/logging.c,v retrieving revision 1.1.1.1 retrieving revision 1.3 diff -r1.1.1.1 -r1.3 1c1 < const char rcsid_logging_c[] = "$Id: logging.c,v 1.1.1.1 1998/02/17 19:29:21 mwa Exp $"; --- > const char rcsid_logging_c[] = "$Id: logging.c,v 1.3 1998/07/10 22:01:38 mwa Exp $"; Index: mail_req.c =================================================================== RCS file: /home/mwa/Admin/cvsroot/home/mwa/src/pks/mail_req.c,v retrieving revision 1.1.1.2 retrieving revision 1.6 diff -r1.1.1.2 -r1.6 1c1 < const char rcsid_mail_req_c[] = "$Id: mail_req.c,v 1.1.1.2 1998/04/27 07:35:40 mwa Exp $"; --- > const char rcsid_mail_req_c[] = "$Id: mail_req.c,v 1.6 1998/07/17 16:21:51 mwa Exp $"; 237c237 < if (hfrom == -1) { --- > if (hfrom == -1 || hfrom_len == 0) { 245,249c245,256 < sprintf(buf, "request received from %.*s%s: %.*s%s", < (int) ((hfrom_len<=450)?hfrom_len:450), msg+hfrom, < (hfrom_len<=450)?"":" (truncated)", < (int) ((hsubject_len<=450)?hsubject_len:450), msg+hsubject, < (hsubject_len<=450)?"":" (truncated)"); --- > if (hsubject_len == 0) { > sprintf(buf, "request received from %.*s%s: (none)", > (int) ((hfrom_len<=450)?hfrom_len:450), msg+hfrom, > (hfrom_len<=450)?"":" (truncated)"); > } else { > sprintf(buf, "request received from %.*s%s: %.*s%s", > (int) ((hfrom_len<=450)?hfrom_len:450), msg+hfrom, > (hfrom_len<=450)?"":" (truncated)", > (int) ((hsubject_len<=450)?hsubject_len:450), msg+hsubject, > (hsubject_len<=450)?"":" (truncated)"); > } > 344c351 < mail_send(conf->msc, msg+hreply_to, hreply_to_len, --- > mail_send(conf->msc, 0, msg+hreply_to, hreply_to_len, 374c381 < mail_send(conf->msc, msg+hreply_to, hreply_to_len, --- > mail_send(conf->msc, 0, msg+hreply_to, hreply_to_len, 404c411 < mail_send(conf->msc, msg+hreply_to, hreply_to_len, --- > mail_send(conf->msc, 0, msg+hreply_to, hreply_to_len, 510c517 < mail_send(conf->msc, msg+hreply_to, hreply_to_len, --- > mail_send(conf->msc, 0, msg+hreply_to, hreply_to_len, Index: mail_send.c =================================================================== RCS file: /home/mwa/Admin/cvsroot/home/mwa/src/pks/mail_send.c,v retrieving revision 1.1.1.2 retrieving revision 1.5 diff -r1.1.1.2 -r1.5 1c1 < const char rcsid_mail_send_c[] = "$Id: mail_send.c,v 1.1.1.2 1998/04/27 08:50:58 mwa Exp $"; --- > const char rcsid_mail_send_c[] = "$Id: mail_send.c,v 1.5 1998/07/10 22:01:42 mwa Exp $"; 122c122 < void mail_send(mail_send_conf *conf, --- > void mail_send(mail_send_conf *conf, int mail_send_flags, 152,155c152 < "MIME-Version: 1.0\n" < "Content-Type: multipart/mixed; " < "boundary=\"" MIME_BOUNDARY "\"\n\n" < "--" MIME_BOUNDARY "\n"))) --- > "MIME-Version: 1.0\n"))) 157,205c154,208 < < /* the mail intro file is expected to have a blank line at the top, < or to include MIME part headers and then a blank line */ < < if (conf->mail_intro_file && conf->mail_intro_file[0]) { < if ((mif = fopen(conf->mail_intro_file, "r")) == NULL) { < sprintf(buf, "error opening mail header file %s", < conf->mail_intro_file); < < log_error("mail_send", buf); < } else { < if (!xfilecontents_get(&mif_xfc, mif)) { < sprintf(buf, "error reading mail header file %s", < conf->mail_intro_file); < < log_error("mail_send", buf); < } < fclose(mif); < < for (tmp1 = mif_xfc.buf; tmp1 < mif_xfc.buf+mif_xfc.len; ) { < if ((tmp2 = my_memcasemem(tmp1, maintainer_str, < mif_xfc.len-(tmp1-mif_xfc.buf), < maintainer_len))) { < if (!xbuffer_append(&xb, tmp1, tmp2-tmp1) || < !xbuffer_append_str(&xb, conf->maintainer_email)) < log_fatal("mail_send", "creating mail reply intro text (1)"); < < tmp1 = tmp2+maintainer_len; < } else if ((tmp2 = my_memcasemem(tmp1, version_str, < mif_xfc.len-(tmp1-mif_xfc.buf), < version_len))) { < if (!xbuffer_append(&xb, tmp1, tmp2-tmp1) || < !xbuffer_append_str(&xb, PKS_VERSION)) < log_fatal("mail_send", "creating mail reply intro text (2)"); < tmp1 = tmp2+version_len; < } else { < if (!xbuffer_append(&xb, tmp1, (mif_xfc.buf+mif_xfc.len)-tmp1)) < log_fatal("mail_send", "creating mail reply intro text (3)"); < break; < } < } < < if (mif_xfc.len && body_len) { < if (!xbuffer_append_str(&xb, "--" MIME_BOUNDARY "\n")) < log_fatal("mail_send", "appending MIME boundary"); < } < < xfilecontents_free(&mif_xfc); < } --- > if (!(mail_send_flags & MAIL_SEND_NO_INTRO)) { > if (!xbuffer_append_str(&xb, ("Content-Type: multipart/mixed; " > "boundary=\"" MIME_BOUNDARY "\"\n\n" > "--" MIME_BOUNDARY "\n"))) > log_fatal("mail_send", "creating mail reply headers (2nd part)"); > > /* the mail intro file is expected to have a blank line at the top, > or to include MIME part headers and then a blank line */ > > if (conf->mail_intro_file && conf->mail_intro_file[0]) { > if ((mif = fopen(conf->mail_intro_file, "r")) == NULL) { > sprintf(buf, "error opening mail header file %s", > conf->mail_intro_file); > > log_error("mail_send", buf); > } else { > if (!xfilecontents_get(&mif_xfc, mif)) { > sprintf(buf, "error reading mail header file %s", > conf->mail_intro_file); > > log_error("mail_send", buf); > } > fclose(mif); > > for (tmp1 = mif_xfc.buf; tmp1 < mif_xfc.buf+mif_xfc.len; ) { > if ((tmp2 = my_memcasemem(tmp1, maintainer_str, > mif_xfc.len-(tmp1-mif_xfc.buf), > maintainer_len))) { > if (!xbuffer_append(&xb, tmp1, tmp2-tmp1) || > !xbuffer_append_str(&xb, conf->maintainer_email)) > log_fatal("mail_send", "creating mail reply intro text (1)"); > > tmp1 = tmp2+maintainer_len; > } else if ((tmp2 = my_memcasemem(tmp1, version_str, > mif_xfc.len-(tmp1-mif_xfc.buf), > version_len))) { > if (!xbuffer_append(&xb, tmp1, tmp2-tmp1) || > !xbuffer_append_str(&xb, PKS_VERSION)) > log_fatal("mail_send", "creating mail reply intro text (2)"); > tmp1 = tmp2+version_len; > } else { > if (!xbuffer_append(&xb, tmp1, (mif_xfc.buf+mif_xfc.len)-tmp1)) > log_fatal("mail_send", "creating mail reply intro text (3)"); > break; > } > } > > if (mif_xfc.len && body_len) { > if (!xbuffer_append_str(&xb, "--" MIME_BOUNDARY "\n")) > log_fatal("mail_send", "appending MIME boundary"); > } > > xfilecontents_free(&mif_xfc); > } > } 206a210 > 220,222c224,230 < if (!xbuffer_append(&xb, body, body_len) || < !xbuffer_append_str(&xb, "\n\n--" MIME_BOUNDARY "--\n")) < log_fatal("mail_send", "appending mail reply body and MIME terminator"); --- > if (!xbuffer_append(&xb, body, body_len)) > log_fatal("mail_send", "appending mail reply body"); > > if (!(mail_send_flags & MAIL_SEND_NO_INTRO)) { > if (!xbuffer_append_str(&xb, "\n\n--" MIME_BOUNDARY "--\n")) > log_fatal("mail_send", "appending MIME terminator"); > } 267c275 < pid = fork(); --- > pid = vfork(); 270,271c278,287 < sprintf(buf, "error forking for mail reply: errno = %d", errno); < log_fatal("mail_send", buf); --- > sprintf(buf, "error forking for mail reply: errno = %d; sleeping", > errno); > log_error("mail_send", buf); > /* Try again */ > sleep(10); > pid = vfork(); > if (pid < 0) { > sprintf(buf, "error forking for mail reply: errno = %d", errno); > log_fatal("mail_send", buf); > } 358c374 < mail_send(conf, reply_to, reply_to_len, --- > mail_send(conf, 0, reply_to, reply_to_len, 375c391 < mail_send(conf, reply_to, reply_to_len, --- > mail_send(conf, 0, reply_to, reply_to_len, 390c406 < mail_send(conf, reply_to, reply_to_len, --- > mail_send(conf, 0, reply_to, reply_to_len, Index: mail_send.h =================================================================== RCS file: /home/mwa/Admin/cvsroot/home/mwa/src/pks/mail_send.h,v retrieving revision 1.1.1.2 retrieving revision 1.5 diff -r1.1.1.2 -r1.5 5c5 < * $Id: mail_send.h,v 1.1.1.2 1998/04/26 06:14:20 mwa Exp $ --- > * $Id: mail_send.h,v 1.5 1998/07/10 22:01:44 mwa Exp $ 21c21,24 < void mail_send(mail_send_conf *conf, --- > /* Mail send flags (bit mask) */ > #define MAIL_SEND_NO_INTRO 1 > > void mail_send(mail_send_conf *conf, int mail_send_flags, Index: pgpdump.c =================================================================== RCS file: /home/mwa/Admin/cvsroot/home/mwa/src/pks/pgpdump.c,v retrieving revision 1.1.1.2 retrieving revision 1.4 diff -r1.1.1.2 -r1.4 1c1 < const char rcsid_pgpdump_c[] = "$Id: pgpdump.c,v 1.1.1.2 1998/04/26 04:21:10 mwa Exp $"; --- > const char rcsid_pgpdump_c[] = "$Id: pgpdump.c,v 1.4 1998/10/08 16:08:38 mwa Exp $"; 14a15 > #include "globals.h" 19a21,27 > > /* logging callbacks */ > int debug = 1; > void kd_close(void) > { > } > 44,59c52,74 < MD5Init(&md5ctx); < MD5Update(&md5ctx, modulus.number.data, modulus.number.size); < MD5Update(&md5ctx, exponent.number.data, exponent.number.size); < MD5Final(hash, &md5ctx); < < printf(" Public key packet alg %d\n Key ID = ", keytype); < for (i=modulus.number.size-4; i if (keytype == 1) { /* RSA */ > MD5Init(&md5ctx); > MD5Update(&md5ctx, modulus.number.data, modulus.number.size); > MD5Update(&md5ctx, exponent.number.data, exponent.number.size); > MD5Final(hash, &md5ctx); > > printf(" Public key packet alg %d\n Key ID = ", keytype); > for (i=modulus.number.size-4; i printf("%02X", modulus.number.data[i]); > > printf("\n Key fingerprint = "); > for (i=0; i<8; i++) > printf("%02X ", hash[i]); > printf(" "); > for (i=8; i<16; i++) > printf("%02X ", hash[i]); > printf("\n"); > } else { > printf(" Public key packet alg %d\n Key ID = ", keytype); > for (i=keyid.number.size-4; i printf("%02X", keyid.number.data[i]); > printf("\n"); > } Index: pgputil.c =================================================================== RCS file: /home/mwa/Admin/cvsroot/home/mwa/src/pks/pgputil.c,v retrieving revision 1.1.1.2 retrieving revision 1.3 diff -r1.1.1.2 -r1.3 1c1 < const char rcsid_pgputil_c[] = "$Id: pgputil.c,v 1.1.1.2 1998/04/26 04:21:11 mwa Exp $"; --- > const char rcsid_pgputil_c[] = "$Id: pgputil.c,v 1.3 1998/07/10 22:02:06 mwa Exp $"; 13a14 > #include "globals.h" 277a279,280 > unsigned char *pktend = data->data+data->offset+len; > char msg[100]; 310,314c313,321 < /* this is kind of ugly. There can be any number of MPI's here < (although 1 is most likely, and no documented pkctype uses < more than 2). */ < while (DECODE_READABLE(data, 1)) { < if (!decode_mpi(data, &sig)) --- > switch (pkctype) { > case 1: /*RSA: 1*MPI*/ > case 2: > case 3: > if (!decode_mpi(data, &sig)) > return(0); > break; > case 17: /*DSA: 2*MPI*/ > if (!decode_mpi(data, &sig) || !decode_mpi(data, &sig)) 315a323,332 > break; > default: > /* this is kind of ugly. There can be any number of MPI's here > (although 1 is most likely, and no documented pkctype uses > more than 2). */ > while (DECODE_READABLE(data, 1)) { > if (!decode_mpi(data, &sig)) > return(0); > } > break; 316a334,342 > if (pktend != data->data+data->offset) { > sprintf(msg, "%d sig bytes ignored", > pktend-(data->data+data->offset)); > log_error("decode_sig", msg); > return(decode_bytestr(data, pktend-(data->data+data->offset), &sig.number)); > /* If you wanted to be picky, you could also return(0) here */ > } else { > return(1); > } 339,342c365,373 < /* this is kind of ugly. There can be any number of MPI's here < (although 2 is the largest and most likely number. */ < while (DECODE_READABLE(data, 1)) { < if (!decode_mpi(data, &sig)) --- > switch (pkctype) { > case 1: /*RSA: 1*MPI*/ > case 2: > case 3: > if (!decode_mpi(data, &sig)) > return(0); > break; > case 17: /*DSA: 2*MPI*/ > if (!decode_mpi(data, &sig) || !decode_mpi(data, &sig)) 343a375,383 > break; > default: > /* this is kind of ugly. There can be any number of MPI's here > (although 2 is the largest and most likely number. */ > while (DECODE_READABLE(data, 1)) { > if (!decode_mpi(data, &sig)) > return(0); > } > break; 344a385,393 > if (pktend != data->data+data->offset) { > sprintf(msg, "%d sig bytes ignored", > pktend-(data->data+data->offset)); > log_info("decode_sig", msg); > return(decode_bytestr(data, pktend-(data->data+data->offset), &sig.number)); > /* If you wanted to be picky, you could also return(0) here */ > } else { > return(1); > } Index: pks_incr.c =================================================================== RCS file: /home/mwa/Admin/cvsroot/home/mwa/src/pks/pks_incr.c,v retrieving revision 1.1.1.2 retrieving revision 1.4 diff -r1.1.1.2 -r1.4 1c1 < const char rcsid_pks_incr_c[] = "$Id: pks_incr.c,v 1.1.1.2 1997/06/15 07:46:14 mwa Exp $"; --- > const char rcsid_pks_incr_c[] = "$Id: pks_incr.c,v 1.4 1998/07/10 22:02:14 mwa Exp $"; 138c138 < mail_send(conf->msc, --- > mail_send(conf->msc, MAIL_SEND_NO_INTRO, Index: pks_www.c =================================================================== RCS file: /home/mwa/Admin/cvsroot/home/mwa/src/pks/pks_www.c,v retrieving revision 1.1.1.3 retrieving revision 1.6 diff -r1.1.1.3 -r1.6 1c1 < const char rcsid_pks_web_c[] = "$Id: pks_www.c,v 1.1.1.3 1998/04/26 06:15:52 mwa Exp $"; --- > const char rcsid_pks_web_c[] = "$Id: pks_www.c,v 1.6 1998/07/10 22:02:21 mwa Exp $"; 53c53 < if (!xbuffer_append(out, in+i, i-j) || --- > if (!xbuffer_append(out, in+j, i-j) || Index: pksclient.8 =================================================================== RCS file: /home/mwa/Admin/cvsroot/home/mwa/src/pks/pksclient.8,v retrieving revision 1.1.1.2 retrieving revision 1.4 diff -r1.1.1.2 -r1.4 2c2 < .\" $Id: pksclient.8,v 1.1.1.2 1997/06/15 07:54:14 mwa Exp $ --- > .\" $Id: pksclient.8,v 1.4 1998/07/10 22:02:26 mwa Exp $ 107c107,114 < instead of ASCII-armor format. --- > instead of ASCII-armor format. If the > .B 'r' > flag is specified, then the time given is taken as the number of seconds > the in the past the dump should start ( > .I since 86400 r > is thus equivalent to the > .I LAST 1 > mail command). Index: pksclient.c =================================================================== RCS file: /home/mwa/Admin/cvsroot/home/mwa/src/pks/pksclient.c,v retrieving revision 1.1.1.2 retrieving revision 1.6 diff -r1.1.1.2 -r1.6 1c1 < const char rcsid_pksclient_c[] = "$Id: pksclient.c,v 1.1.1.2 1998/04/27 02:07:50 mwa Exp $"; --- > const char rcsid_pksclient_c[] = "$Id: pksclient.c,v 1.6 1998/07/10 22:02:27 mwa Exp $"; 195a196,200 > if (strchr(opts, 'r')) { > time_t now; > now = time(NULL); > since = now - since; > } Index: www.c =================================================================== RCS file: /home/mwa/Admin/cvsroot/home/mwa/src/pks/www.c,v retrieving revision 1.1.1.2 retrieving revision 1.4 diff -r1.1.1.2 -r1.4 1c1 < const char rcsid_www_c[] = "$Id: www.c,v 1.1.1.2 1998/05/06 00:30:17 mwa Exp $"; --- > const char rcsid_www_c[] = "$Id: www.c,v 1.4 1998/07/10 22:02:42 mwa Exp $"; 397a398 > unsigned long source_address; 418a420,421 > source_address = ntohl(sin.sin_addr.s_addr); > 420,423c423,426 < (int) (sin.sin_addr.s_addr>>24)&0xff, < (int) (sin.sin_addr.s_addr>>16)&0xff, < (int) (sin.sin_addr.s_addr>>8)&0xff, < (int) sin.sin_addr.s_addr&0xff); --- > (int) (source_address>>24)&0xff, > (int) (source_address>>16)&0xff, > (int) (source_address>>8)&0xff, > (int) source_address&0xff);