M_ASN1_I2D_put_IMP_set_opt(a->attributes,i2d_X509_ATTRIBUTE,0);
M_ASN1_I2D_put_IMP_SET_opt(a->attributes,i2d_X509_ATTRIBUTE,0);
int i2d_X509_REQ_INFO(a,pp)X509_REQ_INFO *a;unsigned char **pp;	{	M_ASN1_I2D_vars(a);	M_ASN1_I2D_len(a->version,		i2d_ASN1_INTEGER);	M_ASN1_I2D_len(a->subject,		i2d_X509_NAME);	M_ASN1_I2D_len(a->pubkey,		i2d_X509_PUBKEY);	/* this is a *nasty* hack reported to be required to	 * allow some CA Software to accept the cert request.	 * It is not following the PKCS standards ...	 * PKCS#10 pg 5	 * attributes [0] IMPLICIT Attibutes	 * NOTE: no OPTIONAL ... so it *must* be there	 */	if (a->req_kludge) 	        {	        M_ASN1_I2D_len_IMP_set_opt(a->attributes,i2d_X509_ATTRIBUTE,0);		}	else	        {	        M_ASN1_I2D_len_IMP_set(a->attributes,	i2d_X509_ATTRIBUTE,0);		}		M_ASN1_I2D_seq_total();	M_ASN1_I2D_put(a->version,		i2d_ASN1_INTEGER);	M_ASN1_I2D_put(a->subject,		i2d_X509_NAME);	M_ASN1_I2D_put(a->pubkey,		i2d_X509_PUBKEY);	/* this is a *nasty* hack reported to be required by some CA's.	 * It is not following the PKCS standards ...	 * PKCS#10 pg 5	 * attributes [0] IMPLICIT Attibutes	 * NOTE: no OPTIONAL ... so it *must* be there	 */	if (a->req_kludge)		{	        M_ASN1_I2D_put_IMP_set_opt(a->attributes,i2d_X509_ATTRIBUTE,0);		}	else		{	        M_ASN1_I2D_put_IMP_set(a->attributes,i2d_X509_ATTRIBUTE,0);		}	M_ASN1_I2D_finish();	}