+
+2015-08-12 Kevin Rosenberg <kevin@rosenberg.net>
+ * Version 6.6.3 release
+ * db-oracle/oracle-sql.lisp: Patch for PostgreSQL socket interface
+ for unicode characters. Thanks to Jason Melbye.
+
2015-06-02 Daniel KochmaĆski <dkochmanski@turtle-solutions.eu>
* clsql.asd, sql/package.lisp: Add ECL compatibility fixes
* sql/db-interface.lisp: Fix declaration typo
operator / expression. Needed for correct regex handling
EG: [E "some string"]=> E'some string'
+2015-03-30 Kevin Rosenberg <kevin@rosenberg.net>
+ * Version 6.6.2 release
+ * db-oracle/oracle-sql.lisp: Remove extra hyphen, thanks to
+ Thomas Vossen
+
2015-03-24 Russ Tyndall <russ@acceleration.net>
* sql/oodml.lisp: fixed call-next-method in the base of
read-sql-value and replaced with a continuable
* {uffi,db-mysql}/Makefile: remove -pie build hardening for
which caused load issues for Linux Mint
+2015-03-18 Kevin Rosenberg <kevin@rosenberg.net>
+ * Version 6.6.1 release
+ * {uffi,db-mysql}/Makefile: Remove pie from build
+ hardening options for Debian/Ubuntu systems. Thanks to
+ DJ <jakep@arqux.com> and Russ Tyndall <russ@acceleration.net>
+
2015-02-26 Kevin Rosenberg <kevin@rosenberg.net>
* Version 6.6.0 release
* {uffi,db-mysql}/Makefile: Add build hardening for Debian
documentation. He has contributed to many of the re-design decisions
and new code for CLSQL.
-CLSQL's home is http://clsql.b9.com
+CLSQL's home is http://clsql.kpe.io
Enjoy!
for data definition and manipulation as well as an integrated symbolic
SQL syntax.
-CLSQL supports a number of RDBMS and uses the UFFI (http://uffi.b9.com)
+CLSQL supports a number of RDBMS and uses the UFFI (http://uffi.kpe.io)
library for compatibility with Allegro CL, Lispworks, CMUCL, SBCL and
OpenMCL.
- Paul Meurer's SQL/ODBC
- Cadabra's Oracle interface
-CLSQL's home is http://clsql.b9.com.
+CLSQL's home is http://clsql.kpe.io.
Documentation is available as a PDF file in doc/clsql.pdf and as HTML
files in doc/html.tar.gz.
------------
If you would like to report a bug please do so through the clsql
-mailing list. http://lists.b9.com/mailman/listinfo/CLSQL
+mailing list. http://lists.kpe.io/mailman/listinfo/CLSQL
Patches are welcome. It will be much easier for us to incorporate if
you use [git](http://git-scm.com/). Please keep distinct changes in
LDFLAGS:=-L/usr/local/lib64/mysql -L/usr/local/lib/mysql -L/usr/lib64/mysql -L/usr/lib/mysql -L/sw/lib -L/opt/local/lib/mysql -L/opt/local/lib/mysql5/mysql -L/usr/local/mysql/lib -L/usr/lib/gcc/i686-pc-cygwin/3.4.4 -lmysqlclient -lz -lc
CFLAGS32:=-I /usr/local/include/mysql -I /usr/include/mysql -I /sw/include/mysql -I /opt/local/include/mysql -I /opt/local/include/mysql5/mysql -I /usr/local/mysql/include -m32
-LDFLAGS32:=-L/lib32 -L/usr/lib32 -melf_i386 -lmysqlclient -lz -lc
+LDFLAGS32:=-L/lib32 -L/usr/lib32 -lmysqlclient -lz -lc
ifneq ($(OS_CYGWIN),0)
CFLAGS:=-I /cygdrive/c/Program\ Files/MySQL/MySQL\ Server\ 5.0/include
else
ifneq ($(OS_LINUX64),0)
gcc $(CFLAGS) -fPIC -c $(source) -o $(object)
- ld $(LDFLAGS) -shared -soname=$(base) $(object) -o $(shared64_lib)
+ gcc $(LDFLAGS) -fPIC -shared -Wl,-soname=$(base) -lc $(object) -o $(shared64_lib)
rm $(object)
@echo "Ensure that you have multiarch i386 build tools and libraries if you want to build 32-bit library"
-gcc $(CFLAGS32) -fPIC -c $(source) -o $(object)
- -ld -shared -soname=$(base) $(object) $(LDFLAGS32) -o $(shared_lib)
+ -gcc $(LDFLAGS) -fPIC -shared -Wl,-soname=$(base) -lc $(object) $(LDFLAGS32) -o $(shared_lib)
else
gcc $(CFLAGS) -fPIC -c $(source) -o $(object)
- ld -shared -soname=$(base) $(object) $(LDFLAGS) -o $(shared_lib)
+ gcc -m32 $(LDFLAGS) -fPIC -shared -Wl,-soname=$(base) -lc $(object) $(LDFLAGS) -o $(shared_lib)
endif
endif
endif
(oci-stmt-prepare (deref-vp stmthp)
(deref-vp errhp)
c-stmt-string
- (uffi:foreign-string-length c--stmt-string)
+ (uffi:foreign-string-length c-stmt-string)
+oci-ntv-syntax+ +oci-default+ :database db)
(oci-attr-get (deref-vp stmthp)
+oci-htype-stmt+
(int32 pid)
(int32 key))
+(defun read-bytes (socket length)
+ "Read a byte array of the given length from a stream."
+ (declare (type stream socket)
+ (type fixnum length)
+ (optimize (speed 3) (safety 0)))
+ (let ((result (make-array length :element-type '(unsigned-byte 8))))
+ (read-sequence result socket)
+ result))
(defun read-socket-sequence (stream length &optional (allow-wide t))
(declare (stream stream)
:database database :user user
:password (or password ""))))
-(defun encrypt-md5 (plaintext salt)
- (string-downcase
- (format nil "~{~2,'0X~}"
- (coerce (md5sum-string (concatenate 'string plaintext salt)) 'list))))
+(defun byte-sequence-to-hex-string (sequence)
+ (string-downcase (format nil "~{~2,'0X~}" (coerce sequence 'list))))
+
+(defun encrypt-password-md5 (password user salt)
+ (let ((pass1 (byte-sequence-to-hex-string
+ (md5::md5sum-string (concatenate 'string password user)))))
+ (byte-sequence-to-hex-string
+ (md5:md5sum-sequence (concatenate '(vector (unsigned-byte 8))
+ (map '(vector (unsigned-byte 8)) #'char-code pass1)
+ salt)))))
(defun reopen-postgresql-connection (connection)
"Reopen the given PostgreSQL connection. Closes any existing
(postgresql-connection-password connection) salt)))
(force-output socket))
(5
- (let ((salt (read-socket-sequence socket 4 nil)))
- (let* ((pwd2 (encrypt-md5 (postgresql-connection-password connection)
- (postgresql-connection-user connection)))
- (pwd (encrypt-md5 pwd2 salt)))
+ (let ((salt (read-bytes socket 4)))
+ (let ((pwd (encrypt-password-md5
+ (postgresql-connection-password connection)
+ (postgresql-connection-user connection)
+ salt)))
(send-encrypted-password-message
socket
(concatenate 'string "md5" pwd))))
#+lispworks (require "comm")
(defpackage #:postgresql-socket
- (:use #:cl md5)
+ (:use #:cl #:md5)
(:export #:pgsql-ftype
#:pgsql-ftype#bytea
#:pgsql-ftype#int2
#:copy-cursor-row
#:skip-cursor-row
))
-
+cl-sql (6.6.3-1) unstable; urgency=medium
+
+ * New upstream
+ * Use gcc for linking (closes:755064)
+
+ -- Kevin M. Rosenberg <kmr@debian.org> Sat, 29 Aug 2015 18:13:55 -0600
+
+cl-sql (6.6.2-1) unstable; urgency=medium
+
+ * New upstream
+
+ -- Kevin M. Rosenberg <kmr@debian.org> Mon, 30 Mar 2015 14:46:53 -0600
+
+cl-sql (6.6.1-1) unstable; urgency=medium
+
+ * {uffi,db-mysql}/Makefile: Change build hardening to +all,-pie
+
+ -- Kevin M. Rosenberg <kmr@debian.org> Wed, 18 Mar 2015 21:30:11 -0600
+
cl-sql (6.6.0-1) unstable; urgency=medium
* New upstream
* {uffi,db-mysql}/Makefile: Add build hardening
-
+
-- Kevin M. Rosenberg <kmr@debian.org> Thu, 26 Feb 2015 15:32:46 -0700
cl-sql (6.5.0-1) unstable; urgency=low
Maintainer: Kevin M. Rosenberg <kmr@debian.org>
Build-Depends: dh-lisp, debhelper (>= 7.0.0), libmysqlclient-dev, libpq-dev
Standards-Version: 3.9.6
-Homepage: http://clsql.b9.com/
-Vcs-Git: git://git.b9.com/clsql.git
-Vcs-Browser: http://git.b9.com/?p=clsql.git
+Homepage: http://clsql.kpe.io/
+Vcs-Git: git://git.kpe.io/clsql.git
+Vcs-Browser: http://git.kpe.io/?p=clsql.git
Package: cl-sql
Architecture: all
Debian Copyright Section
========================
-Upstream Source URL: http://files.b9.com/clsql
+Upstream Source URL: http://files.kpe.io/clsql
Upstream Author: Kevin M. Rosenberg <kmr@debian.org>
Debian Maintainer: (Same as upstream)
#!/bin/bash -e
-dup clsql -Ufiles.b9.com -D/home/ftp/clsql -su \
+dup clsql -Ufiles.kpe.io -D/home/ftp/clsql -su \
-C"(umask 022; cd /srv/www/html/clsql; make install; find . -type d |xargs chmod go+rx; find . -type f | xargs chmod go+r)" $*
version=3
-http://files.b9.com/clsql/clsql-([\d\.]*)\.tar\.gz debian uupdate
+http://files.kpe.io/clsql/clsql-([\d\.]*)\.tar\.gz debian uupdate
<title>&uffi;</title>
<para>
&clsql; uses <ulink
- url="http://uffi.b9.com/"><citetitle>&uffi;</citetitle></ulink>
+ url="http://uffi.kpe.io/"><citetitle>&uffi;</citetitle></ulink>
as a <emphasis>Foreign Function Interface</emphasis>
(<glossterm linkend="gloss-ffi">FFI</glossterm>) to support
multiple &cl; implementations.
<sect2>
<title>&md5;</title>
<para>&clsql;'s postgresql-socket interface uses Pierre Mai's
- <ulink url="http://files.b9.com/md5/">md5</ulink>
+ <ulink url="http://files.kpe.io/md5/">md5</ulink>
module.
</para>
</sect2>
contained in CLSQL's examples directory.
These tests require the downloading of the rt package from
-http://files.b9.com/.
+http://files.kpe.io/.
Load clsql.asd or put it somewhere where ASDF can find it
and call:
else
ifneq ($(OS_LINUX64),0)
gcc $(CFLAGS) -fPIC -DPIC -c $(source) -o $(object)
- ld $(LDFLAGS) -shared -soname=$(base) -lc $(object) -o $(shared64_lib)
+ gcc $(LDFLAGS) -fPIC -shared -Wl,-soname=$(base) -lc $(object) -o $(shared64_lib)
rm -f $(object)
@echo "Ensure that you have multiarch i386 build tools if you want to build 32-bit library"
-gcc -m32 $(CFLAGS) -fPIC -DPIC -c $(source) -o $(object)
- -ld -melf_i386 $(LDFLAGS) -shared -soname=$(base) -lc $(object) -o $(shared_lib)
+ -gcc -m32 $(LDFLAGS) -fPIC -shared -Wl,-soname=$(base) -lc $(object) -o $(shared_lib)
else
gcc -fPIC -DPIC -c $(source) -o $(object)
ld -shared -soname=$(base) -lc $(object) -o $(shared_lib)