| plan 9 kernel history: overview | file list | diff list |
2002/0109/port/devssl.c (diff list | history)
| 2002/0109/sys/src/9/port/devssl.c:1,5 – 2002/0306/sys/src/9/port/devssl.c:1,5 (short | long | prev | next) | ||
| 1995/1213 | /* | |
| 1996/0531 |
| |
| 2002/0306 | * devssl - secure sockets layer | |
| 1995/1213 | */ | |
| 1997/0618 | #include "u.h" #include "../port/lib.h" | |
| 2002/0109/sys/src/9/port/devssl.c:575,580 – 2002/0306/sys/src/9/port/devssl.c:575,581 | ||
| 1995/1217 | pad = 0; | |
| 2001/0825 | toconsume = 2; | |
| 1995/1217 | } else { | |
| 2002/0306 | s.s->unprocessed = pullupblock(s.s->unprocessed, 3); | |
| 2001/0825 | len = ((p[0] & 0x3f)<<8) | p[1]; pad = p[2]; | |
| 1996/1029 | if(pad > len){ | |
| 2002/0109/sys/src/9/port/devssl.c:583,589 – 2002/0306/sys/src/9/port/devssl.c:584,590 | ||
| 1996/1029 | } | |
| 2001/0825 | toconsume = 3; | |
| 1995/1217 | } | |
| 2001/0825 |
| |
| 2002/0306 | ensure(s.s, &s.s->unprocessed, toconsume+len); | |
| 1995/1217 | ||
| 2001/0825 | /* * Now we have a full SSL packet in the unprocessed list. | |
| 2002/0109/sys/src/9/port/devssl.c:602,610 – 2002/0306/sys/src/9/port/devssl.c:603,611 | ||
| 2001/0825 | consume(&s.s->unprocessed, consumed, toconsume); | |
| 2000/0913 | /* grab the next message and decode/decrypt it */ | |
| 2001/0825 |
| |
| 2002/0306 | b = qtake(&s.s->unprocessed, len, 0); | |
| 2000/0913 | ||
| 2001/0825 |
| |
| 2002/0306 | if(blocklen(b) != len) | |
| 2001/0825 | print("devssl: sslbread got wrong count %d != %d", blocklen(b), len); | |
| 1996/1029 | if(waserror()){ | |
| 2002/0109/sys/src/9/port/devssl.c:1167,1180 – 2002/0306/sys/src/9/port/devssl.c:1168,1181 | ||
| 1999/0804 | } else if(strcmp(buf, "secretin") == 0 && p != 0) { m = (strlen(p)*3)/2; x = smalloc(m); | |
| 2002/0306 | t = dec64(x, m, p, strlen(p)); setsecret(&s.s->in, x, t); | |
| 1999/0804 | free(x); } else if(strcmp(buf, "secretout") == 0 && p != 0) { m = (strlen(p)*3)/2 + 1; x = smalloc(m); | |
| 2002/0306 | t = dec64(x, m, p, strlen(p)); setsecret(&s.s->out, x, t); | |
| 1999/0804 | free(x); | |
| 1996/1029 | } else error(Ebadarg); | |