From ddb83b1fb2d305e0c06fc067d82d6bab5458b0fd Mon Sep 17 00:00:00 2001
From: Matthias Benkard (decode-base64 in out) function (decode-base64-bytes stream) function (encode-base64 in out &optional (break-lines t)) function (encode-base64-bytes array stream &optional (break-lines t)) function Documentation generated by lispdoc running on LispWorks
+S-BASE64
+is an open source Common Lisp implementation of Base64 Encoding and Decoding.
+Base64 encoding is a technique to encode binary data in a portable, safe printable, 7-bit ASCII format.
+For a general introduction, please consult the Wikipedia article on Base64.
+This simple package is used as a building block in a number of other open source projects,
+as can be seen from this description of some
+other Open Source Common Lisp packages.
+
+S-BASE64 can:
+
+S-BASE64 is considered stable code.
+
+October 2005 - Created as a seperate project.
+
+S-BASE64 is written in ANSI standard Common Lisp and should be portable across any CL implementation.
+
+You can download the latested released tarball of the S-BASE64 package from
+http://homepage.mac.com/svc/s-base64/s-base64.tar.gz.
+This archive is signed on release by Sven Van Caekenberghe,
+whose public key is published at
+http://homepage.mac.com/svc/sven-public-ascii.gpg,
+the signature is in
+http://homepage.mac.com/svc/s-base64/s-base64.tar.gz.asc.
+
+Alternatively you can access the DARCS repository at
+http://www.beta9.be/darcs/s-base64.
+For a good description on how to use DARCS see
+http://dirkgerrits.com/programming/erlisp/download/.
+
+The S-BASE64 package is loaded using ASDF.
+There is an excellent tutorial on ASDF to get you started.
+Alternatively you can use ASDF-INSTALL.
+There is an great tutorial on ASDF-INSTALL to get you on the way.
+
+To encode you start with either a binary input stream or a byte array and write to a character output stream.
+To decode you start from a character input stream and write to a binary output stream or return a byte array.
+You can use the standard CL marcros WITH-OUTPUT-TO-STRING of WITH-INPUT-FROM-STRING to convert to and from a string.
+The following listener transcript show how to compute the second example from RFC 3548, section 7:
+
+There is automatically generated API Reference documentation available for the S-BASE64 package.
+
+The KPAX mailing list is used for this project.
+
+Release Notes:
+
+There is a variant of Base64 encoding used for URL's and filenames that could be implemented.
+
+Nothing appropriate.
+
+Illegal input results in generic low-level CL conditions rather than a more meaningful high-level application specific condition.
+
+S-BASE64 was written by Sven Van Caekenberghe.
+
+S-BASE64 is being maintained by Sven Van Caekenberghe.
+
+You are granted the rights to distribute and use this software
+as governed by the terms of the Lisp Lesser General Public License
+(http://opensource.franz.com/preamble.html),
+also known as the LLGPL.
+
+S-BASE64 was originally part of KPAX and became a seperate project in October 2005.
+
+The following RFC's can be considered as definitions of Base64 Encoding:
+
Date: Fri, 30 Oct 2009 20:52:07 +0100
Subject: Add third-party XML processing libraries.
Ignore-this: 5ca28497555bf944858ca2f58bc8a62b
darcs-hash:a0b0f9baa7c9b1259e755435db1fb17123630a6c
---
third-party/s-base64/.clbuild-skip-update | 0
third-party/s-base64/Makefile | 82 +++++++++
third-party/s-base64/README.txt | 1 +
third-party/s-base64/doc/API.html | 11 ++
third-party/s-base64/doc/index.html | 266 +++++++++++++++++++++++++++++
third-party/s-base64/s-base64.asd | 30 ++++
third-party/s-base64/src/base64.lisp | 152 +++++++++++++++++
third-party/s-base64/src/package.lisp | 22 +++
third-party/s-base64/test/all-tests.lisp | 15 ++
third-party/s-base64/test/test-base64.lisp | 140 +++++++++++++++
third-party/s-base64/test/test.b64 | 1 +
11 files changed, 720 insertions(+)
create mode 100644 third-party/s-base64/.clbuild-skip-update
create mode 100644 third-party/s-base64/Makefile
create mode 100644 third-party/s-base64/README.txt
create mode 100644 third-party/s-base64/doc/API.html
create mode 100644 third-party/s-base64/doc/index.html
create mode 100644 third-party/s-base64/s-base64.asd
create mode 100644 third-party/s-base64/src/base64.lisp
create mode 100644 third-party/s-base64/src/package.lisp
create mode 100644 third-party/s-base64/test/all-tests.lisp
create mode 100644 third-party/s-base64/test/test-base64.lisp
create mode 100644 third-party/s-base64/test/test.b64
(limited to 'third-party/s-base64')
diff --git a/third-party/s-base64/.clbuild-skip-update b/third-party/s-base64/.clbuild-skip-update
new file mode 100644
index 0000000..e69de29
diff --git a/third-party/s-base64/Makefile b/third-party/s-base64/Makefile
new file mode 100644
index 0000000..93fccc9
--- /dev/null
+++ b/third-party/s-base64/Makefile
@@ -0,0 +1,82 @@
+#
+# This makefile contains command line tools to maintain this project
+# Please consult the documentation in doc/index.html for more user oriented information
+# Portability at this level is accidental, only LispWorks on Mac OS X is supported here
+# For some operations, edit the necessary variables to suit your environment
+# Some operations can obviously only be done by a specific person in a very specific context ;-)
+#
+
+default:
+ @echo Welcome to S-BASE64, a Common Lisp implementation of Base64 Encoding/Decoding
+ @echo
+ @echo Possible makefile targets:
+ @echo
+ @echo clean-fasl --- remove all known lisp compiled fasl files recursively
+ @echo clean-emacs --- remove all '*~' recursively
+ @echo clean --- all of the above
+ @echo dist-clean --- remove all generated files and archives
+ @echo compile --- compile the project through ASDF
+ @echo check --- run all unit and functional tests for this project
+ @echo test --- run all unit and functional tests for this project
+ @echo dist --- create a source tarball for distribution
+ @echo release --- make a formal, public release
+ @echo sync-darcs --- synchronize local and remote darcs repositories
+ @echo metrics --- calculate some loc metrics
+ @echo
+ @echo Please consult the documentation in doc/index.html for more information
+
+clean-fasl:
+ find . -name "*.fas" | xargs rm
+ find . -name "*.lib" | xargs rm
+ find . -name "*.nfasl" | xargs rm
+ find . -name "*.dfsl" | xargs rm
+ find . -name "*.fasl" | xargs rm
+
+clean-emacs:
+ find . -name "*~" | xargs rm
+
+clean: clean-fasl clean-emacs
+
+dist-clean: clean
+ rm -rf *.tar.gz
+ rm -rf *.asc
+
+metrics:
+ find src -name "*.lisp" | xargs wc -l
+ find test -name "*.lisp" | xargs wc -l
+
+LISP=/Applications/LispWorks/lispworks-tty
+PRJ=s-base64
+
+compile:
+ echo "(asdf:oos 'asdf:compile-op :$(PRJ)) :ok" | $(LISP)
+
+DIR=`pwd`/
+SRCDIR=$(DIR)src/
+TESTDIR=$(DIR)test/
+
+test: check
+
+check:
+ echo "(asdf:oos 'asdf:load-op :$(PRJ)) (load \"$(TESTDIR)all-tests.lisp\") :ok" | $(LISP)
+
+dist:
+ darcs dist
+
+IDISK=/Volumes/svc
+
+release: test dist clean
+ gpg -a -b $(PRJ).tar.gz
+ mkdir -p $(IDISK)/Sites/$(PRJ)/
+ cp $(PRJ).tar.gz $(IDISK)/Sites/$(PRJ)/
+ cp $(PRJ).tar.gz.asc $(IDISK)/Sites/$(PRJ)/
+ cp doc/* $(IDISK)/Sites/$(PRJ)/
+
+USER=
+HOST=
+RPATH=~/Sites/website/darcs/
+
+sync-darcs: clean
+ cd ..; rsync -va -e ssh $(PRJ) $(USER)@$(HOST):$(RPATH)
+
+# EOF
diff --git a/third-party/s-base64/README.txt b/third-party/s-base64/README.txt
new file mode 100644
index 0000000..c4fb71a
--- /dev/null
+++ b/third-party/s-base64/README.txt
@@ -0,0 +1 @@
+Please consult the documentation in the doc directory, starting with index.html
diff --git a/third-party/s-base64/doc/API.html b/third-party/s-base64/doc/API.html
new file mode 100644
index 0000000..15076e2
--- /dev/null
+++ b/third-party/s-base64/doc/API.html
@@ -0,0 +1,11 @@
+
API for package S-BASE64
+An implementation of standard Base64 encoding and decoding
+Decode a base64 encoded character input stream into a binary output stream
+Decode a base64 encoded character stream, returns a byte array
+Encode a binary input stream into a base64 encoded character output stream
+Encode a byte array into a base64b encoded character stream
+Open Source Common Lisp Software
+S-BASE64
+A Common Lisp implementation of Base64 Encoding/Decoding
+Contents
+
+
+Features
+
+
+Status
+News
+Platforms
+Downloading
+$ darcs get http://www.beta9.be/darcs/s-base64
+Welcome to S-BASE64, a Common Lisp implementation of Base64 Encoding/Decoding
+**********************
+Copying patch 6 of 6... done!
+Applying patches to the "working" directory...
+............
+Finished getting.
+$ cd s-base64/
+$ darcs pull
+Pulling from "http://www.beta9.be/darcs/s-base64"...
+Welcome to S-BASE64, a Common Lisp implementation of Base64 Encoding/Decoding
+**********************
+No remote changes to pull in!
+Installation
+$ cd apps/asdf/systems/
+$ ln -s ~/darcs/s-base64/s-base64.asd .
+$ cd ~
+$ /Applications/LispWorks/lispworks-tty
+LispWorks(R): The Common Lisp Programming Environment
+Copyright (C) 1987-2005 LispWorks Ltd. All rights reserved.
+Version 4.4.5
+Saved by sven as lispworks-tty, at 26 Oct 2005 11:53
+User sven on voyager.local
+; Loading text file /Applications/LispWorks/Library/lib/4-4-0-0/config/siteinit.lisp
+; Loading text file /Applications/LispWorks/Library/lib/4-4-0-0/private-patches/load.lisp
+; Loading text file /Users/sven/.lispworks
+; Loading text file /Users/sven/apps/asdf/init-asdf.lisp
+; Loading fasl file /Users/sven/apps/asdf/asdf.nfasl
+;Pushed #P"/Users/sven/apps/asdf/systems/" onto ASDF central registry
+
+CL-USER 1 > (asdf:oos 'asdf:load-op :s-base64)
+; Loading /Applications/LispWorks/Library/lib/4-4-0-0/load-on-demand/ccl/xp-fancyformat.nfasl on demand...
+; loading system definition from
+; /Users/sven/apps/asdf/systems/s-base64.asd into
+; #<The ASDF787 package, 0/16 internal, 0/16 external>
+; Loading text file /Users/sven/darcs/s-base64/s-base64.asd
+; registering #
+Usage
+CL-USER 1 > (in-package :s-base64)
+#<The S-BASE64 package, 50/128 internal, 4/16 external>
+
+S-BASE64 2 > (setf bytes #(#x14 #xfb #x9c #x03 #xd9))
+#(20 251 156 3 217)
+
+S-BASE64 3 > (with-output-to-string (out)
+ (encode-base64-bytes bytes out))
+"FPucA9k="
+
+S-BASE64 4 > (with-input-from-string (in *)
+ (decode-base64-bytes in))
+#(20 251 156 3 217)
+API Reference
+Mailinglist
+Changelog
+
+
+TODO
+FAQ
+Bugs
+Authors
+Maintainers
+License
+History
+References
+