commit - e1dc7e4511d4644060d4904dcae50808d966fff7
commit + 678ede7e54bf508991380c0f896fed6005b87ce9
blob - 03b48adc2444255c92e55b3bbd34a845c5b28737
blob + 7f3325197e0859fe0822d915b61712fc8c5a5cef
--- include/httpd.h
+++ include/httpd.h
int hdatefmt(Fmt*);
int hfail(HConnect*, int, ...);
int hflush(Hio*);
+int hlflush(Hio*);
int hgetc(Hio*);
int hgethead(HConnect *c, int many);
int hinit(Hio*, int, int);
blob - da1a1ed4c5182e254135e87e0b5596ca789846d7
blob + 36b36351ab144a50e3de43c56a061ec452b90411
--- include/ip.h
+++ include/ip.h
#if defined(__cplusplus)
extern "C" {
#endif
+
/*
#pragma src "/sys/src/libip"
#pragma lib "libip.a"
Ipifc* readipifc(char*, Ipifc*, int);
+void hnputv(void*, uvlong);
void hnputl(void*, uint);
void hnputs(void*, ushort);
uint nhgetl(void*);
+uvlong nhgetv(void*);
ushort nhgets(void*);
ushort ptclbsum(uchar*, int);
blob - ff6fd4bcc3cba49881902d9d88332b9eec3f68a3
blob + d91d8906327c9c5165b63370b616ebe4d2b0258b
--- include/libc.h
+++ include/libc.h
*/
extern int noted(int);
extern int notify(void(*)(void*, char*));
-extern void notifyenable(char*);
-extern void notifydisable(char*);
+extern void noteenable(char*);
+extern void notedisable(char*);
extern void notifyon(char*);
extern void notifyoff(char*);
extern int p9open(char*, int);
blob - e65b7f976d05d317a06b155e6f56f38078bf9732
blob + e598a7809fb2913ba505dad5e0cd7ecc3aa6a840
--- include/libsec.h
+++ include/libsec.h
/////////////////////////////////////////////////////////
typedef struct RSApub RSApub;
typedef struct RSApriv RSApriv;
+typedef struct PEMChain PEMChain;
// public/encryption key
struct RSApub
mpint *c2; // (inv p) mod q
};
+struct PEMChain
+{
+ PEMChain *next;
+ uchar *pem;
+ int pemlen;
+};
+
RSApriv* rsagen(int nlen, int elen, int rounds);
mpint* rsaencrypt(RSApub *k, mpint *in, mpint *out);
mpint* rsadecrypt(RSApriv *k, mpint *in, mpint *out);
RSApub* rsaprivtopub(RSApriv*);
RSApub* X509toRSApub(uchar*, int, char*, int);
RSApriv* asn1toRSApriv(uchar*, int);
-uchar* decodepem(char *s, char *type, int *len);
+uchar* decodepem(char *s, char *type, int *len, char**);
+PEMChain* decodepemchain(char *s, char *type);
uchar* X509gen(RSApriv *priv, char *subj, ulong valid[2], int *certlen);
/////////////////////////////////////////////////////////
uchar *sessionID;
int certlen, sessionIDlen;
int (*trace)(char*fmt, ...);
+ PEMChain *chain;
} TLSconn;
// tlshand.c
// readcert.c
extern uchar *readcert(char *filename, int *pcertlen);
+PEMChain *readcertchain(char *filename);
#if defined(__cplusplus)
}
blob - 8dbabe61dc01478a834c9e1467c7d57c44521cea
blob + c8f00340036e5d4452773dfd30aed80b45ad01ca
--- include/thread.h
+++ include/thread.h
void threadexitsall(char *);
void threadsetname(char*, ...);
void threadsetstate(char*, ...);
+void threadyield(void);
void _threadready(_Thread*);
void _threadswitch(void);
void _threadsetsysproc(void);
void _threadsleep(Rendez*);
_Thread *_threadwakeup(Rendez*);
+#define yield threadyield
/*
* per proc and thread data