The unified diff between revisions [8cda68e8..] and [4e40e885..] is displayed below. It can also be downloaded as a raw diff.
This diff has been restricted to the following files: 'include/x509_ext.h'
#
#
# patch "include/x509_ext.h"
# from [f363f501b7144c0b89cc349630fa661b39100701]
# to [3d07a4bbddc8ec683e40448dc6a5d9307ec345c0]
#
============================================================
--- include/x509_ext.h f363f501b7144c0b89cc349630fa661b39100701
+++ include/x509_ext.h 3d07a4bbddc8ec683e40448dc6a5d9307ec345c0
@@ -1,6 +1,6 @@
/*************************************************
* X.509 Certificate Extensions Header File *
-* (C) 1999-2006 The Botan Project *
+* (C) 1999-2007 Jack Lloyd *
*************************************************/
#ifndef BOTAN_X509_EXTENSIONS_H__
@@ -17,7 +17,7 @@ namespace Botan {
/*************************************************
* X.509 Certificate Extension *
*************************************************/
-class Certificate_Extension
+class BOTAN_DLL Certificate_Extension
{
public:
OID oid_of() const;
@@ -39,7 +39,7 @@ class Certificate_Extension
/*************************************************
* X.509 Certificate Extension List *
*************************************************/
-class Extensions : public ASN1_Object
+class BOTAN_DLL Extensions : public ASN1_Object
{
public:
void encode_into(class DER_Encoder&) const;
@@ -50,14 +50,14 @@ class Extensions : public ASN1_Object
void add(Certificate_Extension* extn)
{ extensions.push_back(extn); }
- Extensions& operator=(const Extensions& e)
- { return copy_this(e); }
+ Extensions& operator=(const Extensions&);
+ Extensions(const Extensions&);
Extensions(bool st = true) : should_throw(st) {}
- Extensions(const Extensions& e) : ASN1_Object() { copy_this(e); }
~Extensions();
private:
- Extensions& copy_this(const Extensions&);
+ static Certificate_Extension* get_extension(const OID&);
+
std::vector<Certificate_Extension*> extensions;
bool should_throw;
};
@@ -67,7 +67,7 @@ namespace Cert_Extension {
/*************************************************
* Basic Constraints Extension *
*************************************************/
-class Basic_Constraints : public Certificate_Extension
+class BOTAN_DLL Basic_Constraints : public Certificate_Extension
{
public:
Basic_Constraints* copy() const
@@ -77,7 +77,7 @@ class Basic_Constraints : public Certifi
is_ca(ca), path_limit(limit) {}
bool get_is_ca() const { return is_ca; }
- bool get_path_limit() const;
+ u32bit get_path_limit() const;
private:
std::string config_id() const { return "basic_constraints"; }
std::string oid_name() const { return "X509v3.BasicConstraints"; }
@@ -93,7 +93,7 @@ class Basic_Constraints : public Certifi
/*************************************************
* Key Usage Constraints Extension *
*************************************************/
-class Key_Usage : public Certificate_Extension
+class BOTAN_DLL Key_Usage : public Certificate_Extension
{
public:
Key_Usage* copy() const { return new Key_Usage(constraints); }
@@ -116,7 +116,7 @@ class Key_Usage : public Certificate_Ext
/*************************************************
* Subject Key Identifier Extension *
*************************************************/
-class Subject_Key_ID : public Certificate_Extension
+class BOTAN_DLL Subject_Key_ID : public Certificate_Extension
{
public:
Subject_Key_ID* copy() const { return new Subject_Key_ID(key_id); }
@@ -140,7 +140,7 @@ class Subject_Key_ID : public Certificat
/*************************************************
* Authority Key Identifier Extension *
*************************************************/
-class Authority_Key_ID : public Certificate_Extension
+class BOTAN_DLL Authority_Key_ID : public Certificate_Extension
{
public:
Authority_Key_ID* copy() const { return new Authority_Key_ID(key_id); }
@@ -164,7 +164,7 @@ class Authority_Key_ID : public Certific
/*************************************************
* Alternative Name Extension Base Class *
*************************************************/
-class Alternative_Name : public Certificate_Extension
+class BOTAN_DLL Alternative_Name : public Certificate_Extension
{
public:
AlternativeName get_alt_name() const { return alt_name; }
@@ -190,7 +190,7 @@ class Alternative_Name : public Certific
/*************************************************
* Subject Alternative Name Extension *
*************************************************/
-class Subject_Alternative_Name : public Alternative_Name
+class BOTAN_DLL Subject_Alternative_Name : public Alternative_Name
{
public:
Subject_Alternative_Name* copy() const
@@ -202,7 +202,7 @@ class Subject_Alternative_Name : public
/*************************************************
* Issuer Alternative Name Extension *
*************************************************/
-class Issuer_Alternative_Name : public Alternative_Name
+class BOTAN_DLL Issuer_Alternative_Name : public Alternative_Name
{
public:
Issuer_Alternative_Name* copy() const
@@ -214,7 +214,7 @@ class Issuer_Alternative_Name : public A
/*************************************************
* Extended Key Usage Extension *
*************************************************/
-class Extended_Key_Usage : public Certificate_Extension
+class BOTAN_DLL Extended_Key_Usage : public Certificate_Extension
{
public:
Extended_Key_Usage* copy() const { return new Extended_Key_Usage(oids); }
@@ -238,7 +238,7 @@ class Extended_Key_Usage : public Certif
/*************************************************
* Certificate Policies Extension *
*************************************************/
-class Certificate_Policies : public Certificate_Extension
+class BOTAN_DLL Certificate_Policies : public Certificate_Extension
{
public:
Certificate_Policies* copy() const
@@ -263,7 +263,7 @@ class Certificate_Policies : public Cert
/*************************************************
* CRL Number Extension *
*************************************************/
-class CRL_Number : public Certificate_Extension
+class BOTAN_DLL CRL_Number : public Certificate_Extension
{
public:
CRL_Number* copy() const;
@@ -288,7 +288,7 @@ class CRL_Number : public Certificate_Ex
/*************************************************
* CRL Entry Reason Code Extension *
*************************************************/
-class CRL_ReasonCode : public Certificate_Extension
+class BOTAN_DLL CRL_ReasonCode : public Certificate_Extension
{
public:
CRL_ReasonCode* copy() const { return new CRL_ReasonCode(reason); }