xref: /plan9/sys/src/libsec/port/dsaalloc.c (revision 39734e7ed1eb944f5e7b41936007d0d38b560d7f)
13ff48bf5SDavid du Colombier #include "os.h"
23ff48bf5SDavid du Colombier #include <mp.h>
33ff48bf5SDavid du Colombier #include <libsec.h>
43ff48bf5SDavid du Colombier 
53ff48bf5SDavid du Colombier DSApub*
dsapuballoc(void)63ff48bf5SDavid du Colombier dsapuballoc(void)
73ff48bf5SDavid du Colombier {
83ff48bf5SDavid du Colombier 	DSApub *dsa;
93ff48bf5SDavid du Colombier 
103ff48bf5SDavid du Colombier 	dsa = mallocz(sizeof(*dsa), 1);
113ff48bf5SDavid du Colombier 	if(dsa == nil)
123ff48bf5SDavid du Colombier 		sysfatal("dsapuballoc");
133ff48bf5SDavid du Colombier 	return dsa;
143ff48bf5SDavid du Colombier }
153ff48bf5SDavid du Colombier 
163ff48bf5SDavid du Colombier void
dsapubfree(DSApub * dsa)173ff48bf5SDavid du Colombier dsapubfree(DSApub *dsa)
183ff48bf5SDavid du Colombier {
193ff48bf5SDavid du Colombier 	if(dsa == nil)
203ff48bf5SDavid du Colombier 		return;
213ff48bf5SDavid du Colombier 	mpfree(dsa->p);
223ff48bf5SDavid du Colombier 	mpfree(dsa->q);
233ff48bf5SDavid du Colombier 	mpfree(dsa->alpha);
243ff48bf5SDavid du Colombier 	mpfree(dsa->key);
25*39734e7eSDavid du Colombier 	free(dsa);
263ff48bf5SDavid du Colombier }
273ff48bf5SDavid du Colombier 
283ff48bf5SDavid du Colombier 
293ff48bf5SDavid du Colombier DSApriv*
dsaprivalloc(void)303ff48bf5SDavid du Colombier dsaprivalloc(void)
313ff48bf5SDavid du Colombier {
323ff48bf5SDavid du Colombier 	DSApriv *dsa;
333ff48bf5SDavid du Colombier 
343ff48bf5SDavid du Colombier 	dsa = mallocz(sizeof(*dsa), 1);
353ff48bf5SDavid du Colombier 	if(dsa == nil)
363ff48bf5SDavid du Colombier 		sysfatal("dsaprivalloc");
373ff48bf5SDavid du Colombier 	return dsa;
383ff48bf5SDavid du Colombier }
393ff48bf5SDavid du Colombier 
403ff48bf5SDavid du Colombier void
dsaprivfree(DSApriv * dsa)413ff48bf5SDavid du Colombier dsaprivfree(DSApriv *dsa)
423ff48bf5SDavid du Colombier {
433ff48bf5SDavid du Colombier 	if(dsa == nil)
443ff48bf5SDavid du Colombier 		return;
453ff48bf5SDavid du Colombier 	mpfree(dsa->pub.p);
463ff48bf5SDavid du Colombier 	mpfree(dsa->pub.q);
473ff48bf5SDavid du Colombier 	mpfree(dsa->pub.alpha);
483ff48bf5SDavid du Colombier 	mpfree(dsa->pub.key);
493ff48bf5SDavid du Colombier 	mpfree(dsa->secret);
50*39734e7eSDavid du Colombier 	free(dsa);
513ff48bf5SDavid du Colombier }
523ff48bf5SDavid du Colombier 
533ff48bf5SDavid du Colombier DSAsig*
dsasigalloc(void)543ff48bf5SDavid du Colombier dsasigalloc(void)
553ff48bf5SDavid du Colombier {
563ff48bf5SDavid du Colombier 	DSAsig *dsa;
573ff48bf5SDavid du Colombier 
583ff48bf5SDavid du Colombier 	dsa = mallocz(sizeof(*dsa), 1);
593ff48bf5SDavid du Colombier 	if(dsa == nil)
603ff48bf5SDavid du Colombier 		sysfatal("dsasigalloc");
613ff48bf5SDavid du Colombier 	return dsa;
623ff48bf5SDavid du Colombier }
633ff48bf5SDavid du Colombier 
643ff48bf5SDavid du Colombier void
dsasigfree(DSAsig * dsa)653ff48bf5SDavid du Colombier dsasigfree(DSAsig *dsa)
663ff48bf5SDavid du Colombier {
673ff48bf5SDavid du Colombier 	if(dsa == nil)
683ff48bf5SDavid du Colombier 		return;
693ff48bf5SDavid du Colombier 	mpfree(dsa->r);
703ff48bf5SDavid du Colombier 	mpfree(dsa->s);
71*39734e7eSDavid du Colombier 	free(dsa);
723ff48bf5SDavid du Colombier }
73