Index: libabac/AUTHORS
===================================================================
--- libabac/AUTHORS	(revision 2ef48fa384dfb59a659c9377510ebe6911faa39c)
+++ 	(revision )
@@ -1,2 +1,0 @@
-Mike Ryan <mikeryan@ISI.EDU>
-    "Nothing beats a good IPA on draft."
Index: libabac/COPYING
===================================================================
--- libabac/COPYING	(revision 2ef48fa384dfb59a659c9377510ebe6911faa39c)
+++ 	(revision )
@@ -1,19 +1,0 @@
-Copyright (c) 2010 University of Southern California
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
Index: libabac/INSTALL
===================================================================
--- libabac/INSTALL	(revision 2ef48fa384dfb59a659c9377510ebe6911faa39c)
+++ 	(revision )
@@ -1,1 +1,0 @@
-doc/INSTALL
Index: libabac/Makefile.am
===================================================================
--- libabac/Makefile.am	(revision 2ef48fa384dfb59a659c9377510ebe6911faa39c)
+++ 	(revision )
@@ -1,40 +1,0 @@
-lib_LTLIBRARIES = libabac.la
-bin_PROGRAMS = abac_prover abac_prover_plus
-
-libabac_la_SOURCES = \
-    abac.c \
-    abac.h \
-    abac_list.c \
-    abac_list.h \
-    abac_graph.c \
-    abac_graph.h \
-    abac_role.c \
-    abac_set.c \
-    abac_set.h \
-    abac_util.c \
-    abac_util.h \
-    abac_verifier.c \
-    abac_verifier.h \
-    uthash.h \
-    utlist.h
-
-abac_prover_SOURCES = prover.c abac.h
-abac_prover_LDADD = -labac
-
-abac_prover_plus_SOURCES = prover_plus.cc abac.hh
-abac_prover_plus_LDADD = -labac
-
-LIBSTRONGSWAN_source = @LIBSTRONGSWAN_source@
-
-libabac_la_LDFLAGS = -version-info 1:0:1
-
-libabac_la_LIBADD = -lstrongswan
-
-INCLUDES = -I$(LIBSTRONGSWAN_source)/src/libstrongswan
-AM_CFLAGS = \
-	-DPLUGINS=\""${libstrongswan_plugins}\""
-
-ACLOCAL_AMFLAGS=-I m4
-
-library_includedir=$(includedir)
-library_include_HEADERS = abac.h abac.hh
Index: libabac/README
===================================================================
--- libabac/README	(revision 2ef48fa384dfb59a659c9377510ebe6911faa39c)
+++ 	(revision )
@@ -1,1 +1,0 @@
-See doc/TOC
Index: libabac/autogen.sh
===================================================================
--- libabac/autogen.sh	(revision 2ef48fa384dfb59a659c9377510ebe6911faa39c)
+++ 	(revision )
@@ -1,19 +1,0 @@
-#!/bin/sh
-
-LIBTOOLIZE=`which glibtoolize 2>/dev/null`
-case "$LIBTOOLIZE" in
-	/* )	;;
-	*  )	LIBTOOLIZE=`which libtoolize 2>/dev/null`
-		case "$LIBTOOLIZE" in
-			/* )	;;
-			*  )	LIBTOOLIZE=libtoolize
-				;;
-		esac
-		;;
-esac
-
-$LIBTOOLIZE --force &&
-aclocal &&
-automake -a &&
-autoconf
-
Index: libabac/configure.ac
===================================================================
--- libabac/configure.ac	(revision 2ef48fa384dfb59a659c9377510ebe6911faa39c)
+++ 	(revision )
@@ -1,64 +1,0 @@
-AC_INIT([libabac], [0.1], [mikeryan@ISI.EDU])
-AC_CONFIG_SRCDIR([abac_role.c])
-AM_INIT_AUTOMAKE([foreign])
-LT_INIT
-
-AC_CONFIG_MACRO_DIR([m4])
-
-# Checks for programs.
-AC_PROG_CXX
-AC_PROG_CC
-
-AC_ARG_ENABLE(debug,
-    [AC_HELP_STRING([--enable-debug], [build with debug symbols])],
-    [CFLAGS+="-g "],[])
-
-# Checks for libraries.
-AC_ARG_WITH([strongswan],
-    [AS_HELP_STRING([--with-strongswan=PATH], [location of strongswan-4.4.0 source tree])],
-    [LIBSTRONGSWAN_source=$withval],
-    [AC_ERROR([path to strongswan-4.4.0 source tree required])])
-test -d $LIBSTRONGSWAN_source || AC_ERROR([strongswan source dir not found. Don't use ~, use \$HOME.])
-AC_SUBST([LIBSTRONGSWAN_source])
-
-# this is so wrong
-libstrongswan_plugins=$(grep libstrongswan_plugins $LIBSTRONGSWAN_source/Makefile | awk -F= '{ print $2 }')
-test -z "$libstrongswan_plugins" && AC_ERROR([Can't find libstrongswan plugins. Make sure you've run ./configure --enable-monolithic in the strongswan source tree])
-AC_SUBST(libstrongswan_plugins)
-
-# Checks for header files.
-AC_CHECK_HEADERS([inttypes.h stddef.h stdlib.h string.h])
-
-# Checks for typedefs, structures, and compiler characteristics.
-AC_HEADER_STDBOOL
-AC_TYPE_SIZE_T
-AC_TYPE_UINT16_T
-AC_TYPE_UINT32_T
-AC_TYPE_UINT8_T
-AC_CHECK_TYPES([ptrdiff_t])
-
-# Checks for library functions.
-AC_FUNC_MALLOC
-AC_CHECK_FUNCS([atexit memset strchr strdup])
-
-# snagged from strongswan, required
-AC_CHECK_FUNC(
-        [register_printf_specifier],
-        [AC_DEFINE(HAVE_PRINTF_SPECIFIER)],
-        [AC_CHECK_FUNC(
-                [register_printf_function],
-                [AC_DEFINE(HAVE_PRINTF_FUNCTION)],
-                [
-                        AC_MSG_NOTICE([printf does not support custom format specifiers!])
-                        vstr=true
-                ]
-        )]
-)
-
-if test x$vstr = xtrue; then
-        AC_HAVE_LIBRARY([vstr],[LIBS="$LIBS"],[AC_MSG_ERROR([Vstr string library not found])])
-        AC_DEFINE(USE_VSTR)
-fi
-
-AC_CONFIG_FILES([Makefile])
-AC_OUTPUT
Index: libabac/doc/API
===================================================================
--- libabac/doc/API	(revision 2ef48fa384dfb59a659c9377510ebe6911faa39c)
+++ 	(revision )
@@ -1,134 +1,0 @@
-C++ API
-
-(see bottom for notes on C, Perl, and Python.)
-
-ABAC::libabac_init()
-    must be called before using the library
-
-ABAC::abac_chunk_t
-    unsigned char *data
-    int len
-
-    structure, represents a blob of memory
-    used to load/return DER-encoded X509 certificates
-
-ABAC::Context
-    Context()
-        default constructor, takes no argument
-    Context(const Context &ctx)
-        copy constructor, used for cloning the context
-
-    int load_id_chunk(abac_chunk_t chunk)
-    int load_id_file(char *filename)
-        load an identity certificate, returns:
-            ABAC_CERT_SUCCESS   successfully loaded
-            ABAC_CERT_INVALID   invalid certificate (or file not found)
-            ABAC_CERT_BAD_SIG   invalid signature
-
-    int load_attribute_chunk(abac_chunk_t chunk)
-    int load_attribute_file(char *filename)
-        load an attribute certificate, returns the same values as above
-        * additionally can return ABAC_CERT_MISSING_ISSUER if the issuer
-          certificate has not been loaded
-
-    void load_directory(char *path)
-        load a directory full of certificates:
-            first: ${path}/*_ID.{der,pem} as identity certificates
-            then: ${path}/*_attr.der as attribute certificates
-
-    std::vector<Credential> query(char *role, char *principal, bool &success)
-        run the query:
-            role <-?- principal
-        returns true/false in success
-        returns a proof upon success, partial proof on failure
-
-    std::vector<Credential> credentials()
-        returns a vector of all the credentials loaded in the context
-
-ABAC::Credential
-    This is never instantiated directly. These will only ever be
-    returned as a result of calls to Context::query or
-    Context::credentials.
-
-    Role &head()
-    Role &tail()
-        returns the head or tail of the credential
-        see below for Role object
-
-    abac_chunk_t attribute_cert()
-        returns the DER-encoded attribute certificate, suitable for
-        transmission over the network or storage in a file
-
-    abac_chunk_t issuer_cert()
-        returns the DER-encoded issuer certificate, again suitable for
-        network transmission or file storage
-
-ABAC::Role
-    Role(const Role &role)
-        copy constructor, clones the role
-
-    char *string()
-        returns a string representation of the role
-
-    the following are rarely used outside the library:
-
-    Role(char *role_name)
-        instantiate a role from a string
-
-    bool is_principal()
-    bool is_role()
-    bool is_linking()
-        indicates the type of role encoded
-
-    char *principal()
-        returns the principal part of any role
-    char *role_name()
-        returns the role name of any role (the part after the last dot)
-    char *linked_role()
-        returns the linked role of a linking role
-        i.e., A.r1.r2, linked_role() returns A.r1
-
-C API
-
-The C API is nearly identical to the C++ API. Due to lack of namespaces,
-all function names are preceeded by abac_. Furthermore, the parameter
-representing the object must be passed explicitly.
-
-Example:
-
-    C++:    ctx.load_attribute_file("test_attr.der");
-    C:      abac_context_load_attribute_file(ctx, "test_attr.der");
-
-Instead of copy constructors, the C API uses _dup. Therefore, to copy a
-role use abac_role_dup(role_t *), to copy a context use
-abac_context_dup(context_t *), and to copy a credential use
-abac_credential_dup(abac_credential_t *).
-
-abac_context_query() and abac_context_credentials() return
-NULL-terminated arrays of Credential objects (abac_credential_t * in C).
-When you are done with them, you must free the whole array at once using
-abac_context_credentials_free().
-
-PERL AND PYTHON API
-
-The Perl and Python APIs are even more similar to the C++ API. The main
-changes are the use of native types instead of C/C++ types.
-
-    - native strings instead of char *
-
-    Perl:
-        - arrayref instead of vector
-        - string instead of chunk_t
-        - Context::query returns a list of two elements:
-            my ($success, $credentials) = $ctx->query($role, $principal);
-            $success is a boolean
-            $credentials is an arrayref of Credential objects
-
-    Python:
-        - tuple instead of vector
-        - bytearray instead of chunk_t (>= 2.6)
-        - string instead of chunk_t (< 2.6)
-        - Context::query returns a tuple with two elements:
-            (success, credentials) = ctx.query(role, principal)
-            success is a boolean
-            credentials is a tuple of Credential objects
Index: libabac/doc/INSTALL
===================================================================
--- libabac/doc/INSTALL	(revision 2ef48fa384dfb59a659c9377510ebe6911faa39c)
+++ 	(revision )
@@ -1,18 +1,0 @@
-Prior to building libabac you must install libstrongswan.
-
-Download strongswan-4.4.0 from strongswan.org:
-    http://download.strongswan.org/strongswan-4.4.0.tar.bz2
-
-$ tar xjvf strongswan-4.4.0.tar.bz2
-$ cd strongswan-4.4.0
-$ ./configure --enable-monolithic
-$ cd src/libstrongswan
-$ make && sudo make install
-
-Be sure to make note of the directory into which you've installed
-libstrongswan.
-
-BUILDING LIBABAC
-
-$ ./configure --with-strongswan=$STRONGSWAN_SRC_DIR
-$ make && sudo make install
Index: libabac/doc/TOC
===================================================================
--- libabac/doc/TOC	(revision 2ef48fa384dfb59a659c9377510ebe6911faa39c)
+++ 	(revision )
@@ -1,7 +1,0 @@
-design              the design of libabac
-API                 external API
-keystore            keystore format
-
-usage_scenario      an example usage scenario
-
-INSTALL             installation instructions
Index: libabac/doc/design
===================================================================
--- libabac/doc/design	(revision 2ef48fa384dfb59a659c9377510ebe6911faa39c)
+++ 	(revision )
@@ -1,63 +1,0 @@
-OVERVIEW
-
-libabac is comprised of three main types of objects: credentials, roles,
-and contexts.
-
-CREDENTIAL
-
-An ABAC credential is the most basic unit of an ABAC proof. It is a
-signed assertion by a principal A that some other entity has a role r1.
-Abstractly, it is one of the following (A and B principls, r1, r2, r3
-roles):
-
-    A.r1 <- B
-    A.r1 <- B.r2
-    A.r1 <- B.r2.r3
-
-When interacting with libabac, a credential is represented by an X509
-attribute certificates and the associated issuer X509 identity
-certificate.
-
-ROLE
-
-ABAC roles are the atomic units that form the head and tail of a
-credential. The head will always be a proper role, which is to say it
-takes form:
-
-    A.r1
-
-As seen in the CREDENTIAL section, the tail of a role can take one of
-three forms:
-
-    principal:      B
-    role:           B.r2
-    linking role:   B.r2.r3
-
-For more information about the different types of roles, refer to
-[Li03rt].
-
-A principal in libabac is represented by the SHA1 hash of the public key
-of its identity certificate. Therefore the credentials encoded in
-attribute certificates look like this:
-
-    e65aace9237833ec775253cfde97f59a0af5bc3d.frobnicate <-
-        e93547826455a80d9488825a1d083ef6ef264107
-
-CONTEXT
-
-An ABAC context object encapsulates a set of ABAC credentials and its
-associated proof graph. The context supports the following operations:
-
-    - load X509 identity certificate
-    - load X509 attribute certificate
-    - list all the credentials (attribute identity certificate pairs)
-    - query whether a principal has a given role
-    - duplicate context
-
-REFERENCES
-
-[Li03rt]
-    Li, N. and Mitchell, J. C. RT: A role-based trust-management
-    framework. In Proceedings of the Third DARPA Information
-    Survivability Conference and Exposition. IEEE Computer Society
-    Press, 201­212.
Index: libabac/doc/keystore
===================================================================
--- libabac/doc/keystore	(revision 2ef48fa384dfb59a659c9377510ebe6911faa39c)
+++ 	(revision )
@@ -1,11 +1,0 @@
-A libabac keystore is a simple directory filled with some number of X509
-identity and X509 attribute certificates. It may optionally include RSA
-private keys.
-
-X509 identity certs are identified as files whose names end in _ID.der
-or _ID.pem. The part before the _ID.pem is irrelevant, though for the
-sake of convneince the libabac credential manager gives it the name of
-the CN you supplied.
-
-X509 attribute certs are identified as files whose names end in
-_attr.der. The portion before the _attr.der is irrelevant.
Index: libabac/doc/usage_scenario
===================================================================
--- libabac/doc/usage_scenario	(revision 2ef48fa384dfb59a659c9377510ebe6911faa39c)
+++ 	(revision )
@@ -1,41 +1,0 @@
-You (Acme, Inc.) are running a service and you would like to use ABAC to
-authenticate users before they can buy rockets from you. Abstractly,
-your local set of credentials (as encoded by X509 attribute
-certificates) looks like this:
-
-    Acme.buy_rockets <- Acme.preferred_customer
-
-When you launch your service, you will create an ABAC context and load
-your identity certificate and the attribute certificate that encodes the
-above credential.
-
-You have issued the following attribute (encoded in an X509 attribute
-cert), which is held by a user of your service:
-
-    Acme.preferred_customer <- Coyote
-
-The Coyote will begin an SSL session to your service using his
-self-signed X509 identity certificate and will present this X509
-attribute certificate in the body of his message. You will clone the
-ABAC context and add the Coyote's identity certificate and the attribute
-certificate asserting that he is a preferred customer.
-
-You then issue a query asking:
-
-    Acme.buy_rockets <-?- Coyote
-
-The prover will return that this is in fact true and will return the set
-of credentials that proves this, namely:
-
-    Acme.buy_rockets <- Acme.preferred_customer
-    Acme.preferred_customer <- Coyote
-
-NOTES
-
-The credentials above are abstract representations. In actual
-credentials, 'Acme' and 'Coyote' would be represented by the SHA1 of
-their public keys.
-
-Given the above scenario, you can feel secure in selling rockets to the
-Coyote because he has established an SSL session using his certificate,
-indicating that he holds its private key.
