The unified diff between revisions [82d99605..] and [965528e6..] is displayed below. It can also be downloaded as a raw diff.

This diff has been restricted to the following files: 'include/asn1_obj.h'

#
#
# patch "include/asn1_obj.h"
#  from [763d3e01ff69c32ea00d383a888c955ba2a5ffca]
#    to [9b3a66418d38fb540d52cc34266b806db4008b30]
#
============================================================
--- include/asn1_obj.h	763d3e01ff69c32ea00d383a888c955ba2a5ffca
+++ include/asn1_obj.h	9b3a66418d38fb540d52cc34266b806db4008b30
@@ -1,6 +1,7 @@
 /*************************************************
 * Common ASN.1 Objects Header File               *
-* (C) 1999-2006 The Botan Project                *
+* (C) 1999-2007 Jack Lloyd                       *
+*     2007 Yves Jerschow                         *
 *************************************************/

 #ifndef BOTAN_ASN1_OBJ_H__
@@ -8,39 +9,23 @@

 #include <botan/asn1_int.h>
 #include <botan/asn1_oid.h>
+#include <botan/alg_id.h>
 #include <vector>
 #include <map>

 namespace Botan {

 /*************************************************
-* Algorithm Identifier                           *
-*************************************************/
-class AlgorithmIdentifier : public ASN1_Object
-   {
-   public:
-      void encode_into(class DER_Encoder&) const;
-      void decode_from(class BER_Decoder&);
-
-      AlgorithmIdentifier() {}
-      AlgorithmIdentifier(const OID&, const MemoryRegion<byte>&);
-      AlgorithmIdentifier(const std::string&, const MemoryRegion<byte>&);
-
-      OID oid;
-      SecureVector<byte> parameters;
-   };
-
-/*************************************************
 * Attribute                                      *
 *************************************************/
-class Attribute : public ASN1_Object
+class BOTAN_DLL Attribute : public ASN1_Object
    {
    public:
       void encode_into(class DER_Encoder&) const;
       void decode_from(class BER_Decoder&);

       OID oid;
-      SecureVector<byte> parameters;
+      MemoryVector<byte> parameters;

       Attribute() {}
       Attribute(const OID&, const MemoryRegion<byte>&);
@@ -50,7 +35,7 @@ class Attribute : public ASN1_Object
 /*************************************************
 * X.509 Time                                     *
 *************************************************/
-class X509_Time : public ASN1_Object
+class BOTAN_DLL X509_Time : public ASN1_Object
    {
    public:
       void encode_into(class DER_Encoder&) const;
@@ -77,7 +62,7 @@ class X509_Time : public ASN1_Object
 /*************************************************
 * Simple String                                  *
 *************************************************/
-class ASN1_String : public ASN1_Object
+class BOTAN_DLL ASN1_String : public ASN1_Object
    {
    public:
       void encode_into(class DER_Encoder&) const;
@@ -98,7 +83,7 @@ class ASN1_String : public ASN1_Object
 /*************************************************
 * Distinguished Name                             *
 *************************************************/
-class X509_DN : public ASN1_Object
+class BOTAN_DLL X509_DN : public ASN1_Object
    {
    public:
       void encode_into(class DER_Encoder&) const;
@@ -115,20 +100,20 @@ class X509_DN : public ASN1_Object
       static std::string deref_info_field(const std::string&);

       void do_decode(const MemoryRegion<byte>&);
-      SecureVector<byte> get_bits() const;
+      MemoryVector<byte> get_bits() const;

       X509_DN();
       X509_DN(const std::multimap<OID, std::string>&);
       X509_DN(const std::multimap<std::string, std::string>&);
    private:
       std::multimap<OID, ASN1_String> dn_info;
-      SecureVector<byte> dn_bits;
+      MemoryVector<byte> dn_bits;
    };

 /*************************************************
 * Alternative Name                               *
 *************************************************/
-class AlternativeName : public ASN1_Object
+class BOTAN_DLL AlternativeName : public ASN1_Object
    {
    public:
       void encode_into(class DER_Encoder&) const;
@@ -145,7 +130,7 @@ class AlternativeName : public ASN1_Obje
       bool has_items() const;

       AlternativeName(const std::string& = "", const std::string& = "",
-                      const std::string& = "");
+                      const std::string& = "", const std::string& = "");
    private:
       std::multimap<std::string, std::string> alt_info;
       std::multimap<OID, ASN1_String> othernames;
@@ -154,25 +139,25 @@ class AlternativeName : public ASN1_Obje
 /*************************************************
 * Comparison Operations                          *
 *************************************************/
-bool operator==(const AlgorithmIdentifier&, const AlgorithmIdentifier&);
-bool operator!=(const AlgorithmIdentifier&, const AlgorithmIdentifier&);
+bool BOTAN_DLL operator==(const AlgorithmIdentifier&,
+                          const AlgorithmIdentifier&);
+bool BOTAN_DLL operator!=(const AlgorithmIdentifier&,
+                          const AlgorithmIdentifier&);

-bool operator==(const X509_Time&, const X509_Time&);
-bool operator!=(const X509_Time&, const X509_Time&);
-bool operator<=(const X509_Time&, const X509_Time&);
-bool operator>=(const X509_Time&, const X509_Time&);
+bool BOTAN_DLL operator==(const X509_Time&, const X509_Time&);
+bool BOTAN_DLL operator!=(const X509_Time&, const X509_Time&);
+bool BOTAN_DLL operator<=(const X509_Time&, const X509_Time&);
+bool BOTAN_DLL operator>=(const X509_Time&, const X509_Time&);

-bool operator==(const X509_DN&, const X509_DN&);
-bool operator!=(const X509_DN&, const X509_DN&);
-bool operator<(const X509_DN&, const X509_DN&);
+bool BOTAN_DLL operator==(const X509_DN&, const X509_DN&);
+bool BOTAN_DLL operator!=(const X509_DN&, const X509_DN&);
+bool BOTAN_DLL operator<(const X509_DN&, const X509_DN&);

 /*************************************************
 * Helper Functions                               *
 *************************************************/
-s32bit validity_check(const X509_Time&, const X509_Time&, u64bit);
+bool BOTAN_DLL is_string_type(ASN1_Tag);

-bool is_string_type(ASN1_Tag);
-
 }

 #endif