Plan 9 from Bell Labs’s /usr/web/sources/plan9/sys/src/libsec/port/dsaalloc.c

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


#include "os.h"
#include <mp.h>
#include <libsec.h>

DSApub*
dsapuballoc(void)
{
	DSApub *dsa;

	dsa = mallocz(sizeof(*dsa), 1);
	if(dsa == nil)
		sysfatal("dsapuballoc");
	return dsa;
}

void
dsapubfree(DSApub *dsa)
{
	if(dsa == nil)
		return;
	mpfree(dsa->p);
	mpfree(dsa->q);
	mpfree(dsa->alpha);
	mpfree(dsa->key);
	free(dsa);
}


DSApriv*
dsaprivalloc(void)
{
	DSApriv *dsa;

	dsa = mallocz(sizeof(*dsa), 1);
	if(dsa == nil)
		sysfatal("dsaprivalloc");
	return dsa;
}

void
dsaprivfree(DSApriv *dsa)
{
	if(dsa == nil)
		return;
	mpfree(dsa->pub.p);
	mpfree(dsa->pub.q);
	mpfree(dsa->pub.alpha);
	mpfree(dsa->pub.key);
	mpfree(dsa->secret);
	free(dsa);
}

DSAsig*
dsasigalloc(void)
{
	DSAsig *dsa;

	dsa = mallocz(sizeof(*dsa), 1);
	if(dsa == nil)
		sysfatal("dsasigalloc");
	return dsa;
}

void
dsasigfree(DSAsig *dsa)
{
	if(dsa == nil)
		return;
	mpfree(dsa->r);
	mpfree(dsa->s);
	free(dsa);
}

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.