Merge branch 'master' into divVerent/crypto2
authorRudolf Polzer <divverent@alientrap.org>
Thu, 5 Aug 2010 03:47:06 +0000 (05:47 +0200)
committerRudolf Polzer <divverent@alientrap.org>
Thu, 5 Aug 2010 03:47:06 +0000 (05:47 +0200)
25 files changed:
.gitignore
all
key_0.d0pk [new file with mode: 0644]
key_15.d0pk [new file with mode: 0644]
misc/builddeps/dp.linux64/bin/blind_id [new file with mode: 0755]
misc/builddeps/dp.linux64/include/d0_blind_id/d0.h [new file with mode: 0644]
misc/builddeps/dp.linux64/include/d0_blind_id/d0_blind_id.h [new file with mode: 0644]
misc/builddeps/dp.linux64/lib/libd0_blind_id.a [new file with mode: 0644]
misc/builddeps/dp.linux64/lib/libd0_blind_id.la [new file with mode: 0755]
misc/builddeps/dp.linux64/lib/libd0_blind_id.so [new symlink]
misc/builddeps/dp.linux64/lib/libd0_blind_id.so.0 [new symlink]
misc/builddeps/dp.linux64/lib/libd0_blind_id.so.0.0.0 [new file with mode: 0755]
misc/builddeps/dp.linux64/lib/libd0_rijndael.a [new file with mode: 0644]
misc/builddeps/dp.linux64/lib/libd0_rijndael.la [new file with mode: 0755]
misc/builddeps/dp.linux64/lib/libd0_rijndael.so [new symlink]
misc/builddeps/dp.linux64/lib/libd0_rijndael.so.0 [new symlink]
misc/builddeps/dp.linux64/lib/libd0_rijndael.so.0.0.0 [new file with mode: 0755]
misc/builddeps/dp.linux64/lib/pkgconfig/d0_blind_id.pc [new file with mode: 0644]
misc/builddeps/dp.linux64/lib/pkgconfig/d0_rijndael.pc [new file with mode: 0644]
misc/buildfiles/win32/libd0_blind_id-0.dll [new file with mode: 0755]
misc/buildfiles/win32/libd0_rijndael-0.dll [new file with mode: 0755]
misc/buildfiles/win32/libgmp-10.dll [new file with mode: 0755]
misc/pki/key_0.d0sk.asc [new file with mode: 0644]
misc/pki/key_15.d0sk.asc [new file with mode: 0644]
misc/pki/key_15.txt [new file with mode: 0644]

index d100827..6711a99 100644 (file)
@@ -3,3 +3,5 @@ fteqcc
 div0-gittools
 netradiant
 mediasource
+d0_blind_id
+*.d0si
diff --git a/all b/all
index 6afd6df..2f8a538 100755 (executable)
--- a/all
+++ b/all
@@ -119,6 +119,7 @@ darkplaces                    |
 fteqcc                        | git://github.com/Blub/qclib.git                   | master      |
 div0-gittools                 |                                                   | master      |
 netradiant                    |                                                   | master      |
+d0_blind_id                   | http://github.com/divVerent/d0_blind_id.git       | master      |
 "
 # todo: in darkplaces, change repobranch to div0-stable
 
@@ -496,18 +497,21 @@ case "$cmd" in
                fi
                case "$1" in
                        -c)
+                               cleand0=true
                                cleandp=true
                                cleanqcc=true
                                cleanqc=true
                                shift
                                ;;
                        -n)
+                               cleand0=false
                                cleandp=false
                                cleanqcc=false
                                cleanqc=false
                                shift
                                ;;
                        *)
+                               cleand0=false
                                cleandp=false
                                cleanqcc=false
                                cleanqc=true # version info
@@ -562,6 +566,16 @@ case "$cmd" in
                        fi
                fi
 
+               enter "$d0/d0_blind_id" verbose
+               if ! [ -f Makefile ]; then
+                       verbose sh autogen.sh
+                       verbose ./configure
+               fi
+               if $cleand0; then
+                       verbose make $MAKEFLAGS clean
+               fi
+               verbose make $MAKEFLAGS
+
                enter "$d0/fteqcc" verbose
                if $cleanqcc; then
                        verbose make $MAKEFLAGS clean
@@ -593,12 +607,13 @@ case "$cmd" in
        run)
                if [ -n "$WE_HATE_OUR_USERS" ]; then
                        client=
-                       export PATH="$d0/misc/buildfiles/win64:$d0/misc/buildfiles/win32:$PATH"
+                       export PATH="$d0/misc/buildfiles/win64:$d0/misc/buildfiles/win32:$d0/d0_blind_id/.libs:$PATH"
                elif [ x"`uname`" = x"Darwin" ]; then
-                       export DYLD_LIBRARY_PATH="$d0/misc/buildfiles/osx/Xonotic-SDL.app/Contents/MacOS"
+                       export DYLD_LIBRARY_PATH="$d0/misc/buildfiles/osx/Xonotic-SDL.app/Contents/MacOS:$d0/d0_blind_id/.libs"
                        export DYLD_FRAMEWORK_PATH="$d0/misc/buildfiles/osx/Xonotic-SDL.app/Contents/Frameworks"
                        client=-sdl
                else
+                       export LD_LIBRARY_PATH="$d0/d0_blind_id/.libs"
                        client=-sdl
                fi
                case "$1" in
diff --git a/key_0.d0pk b/key_0.d0pk
new file mode 100644 (file)
index 0000000..8d84449
Binary files /dev/null and b/key_0.d0pk differ
diff --git a/key_15.d0pk b/key_15.d0pk
new file mode 100644 (file)
index 0000000..ac74163
Binary files /dev/null and b/key_15.d0pk differ
diff --git a/misc/builddeps/dp.linux64/bin/blind_id b/misc/builddeps/dp.linux64/bin/blind_id
new file mode 100755 (executable)
index 0000000..c022f4d
Binary files /dev/null and b/misc/builddeps/dp.linux64/bin/blind_id differ
diff --git a/misc/builddeps/dp.linux64/include/d0_blind_id/d0.h b/misc/builddeps/dp.linux64/include/d0_blind_id/d0.h
new file mode 100644 (file)
index 0000000..db7555d
--- /dev/null
@@ -0,0 +1,13 @@
+#ifndef __D0_H__
+#define __D0_H__
+
+#include <unistd.h> // size_t
+
+#define EXPORT __attribute__((__visibility__("default")))
+#define WARN_UNUSED_RESULT __attribute__((warn_unused_result))
+#define BOOL int
+
+extern void *(*d0_malloc)(size_t len);
+extern void (*d0_free)(void *p);
+
+#endif
diff --git a/misc/builddeps/dp.linux64/include/d0_blind_id/d0_blind_id.h b/misc/builddeps/dp.linux64/include/d0_blind_id/d0_blind_id.h
new file mode 100644 (file)
index 0000000..cc5afba
--- /dev/null
@@ -0,0 +1,45 @@
+#ifndef __D0_BLIND_ID_H__
+#define __D0_BLIND_ID_H__
+
+#include "d0.h"
+
+typedef struct d0_blind_id_s d0_blind_id_t;
+typedef BOOL (*d0_fastreject_function) (const d0_blind_id_t *ctx, void *pass);
+
+EXPORT WARN_UNUSED_RESULT d0_blind_id_t *d0_blind_id_new(void);
+EXPORT void d0_blind_id_free(d0_blind_id_t *a);
+EXPORT void d0_blind_id_clear(d0_blind_id_t *ctx);
+EXPORT WARN_UNUSED_RESULT BOOL d0_blind_id_copy(d0_blind_id_t *ctx, const d0_blind_id_t *src);
+EXPORT WARN_UNUSED_RESULT BOOL d0_blind_id_generate_private_key(d0_blind_id_t *ctx, int k);
+EXPORT WARN_UNUSED_RESULT BOOL d0_blind_id_generate_private_key_fastreject(d0_blind_id_t *ctx, int k, d0_fastreject_function reject, void *pass);
+EXPORT WARN_UNUSED_RESULT BOOL d0_blind_id_read_private_key(d0_blind_id_t *ctx, const char *inbuf, size_t inbuflen);
+EXPORT WARN_UNUSED_RESULT BOOL d0_blind_id_read_public_key(d0_blind_id_t *ctx, const char *inbuf, size_t inbuflen);
+EXPORT WARN_UNUSED_RESULT BOOL d0_blind_id_write_private_key(const d0_blind_id_t *ctx, char *outbuf, size_t *outbuflen);
+EXPORT WARN_UNUSED_RESULT BOOL d0_blind_id_write_public_key(const d0_blind_id_t *ctx, char *outbuf, size_t *outbuflen);
+EXPORT WARN_UNUSED_RESULT BOOL d0_blind_id_fingerprint64_public_key(const d0_blind_id_t *ctx, char *outbuf, size_t *outbuflen);
+EXPORT WARN_UNUSED_RESULT BOOL d0_blind_id_generate_private_id_modulus(d0_blind_id_t *ctx);
+EXPORT WARN_UNUSED_RESULT BOOL d0_blind_id_read_private_id_modulus(d0_blind_id_t *ctx, const char *inbuf, size_t inbuflen);
+EXPORT WARN_UNUSED_RESULT BOOL d0_blind_id_write_private_id_modulus(const d0_blind_id_t *ctx, char *outbuf, size_t *outbuflen);
+EXPORT WARN_UNUSED_RESULT BOOL d0_blind_id_generate_private_id_start(d0_blind_id_t *ctx);
+EXPORT WARN_UNUSED_RESULT BOOL d0_blind_id_generate_private_id_request(d0_blind_id_t *ctx, char *outbuf, size_t *outbuflen);
+EXPORT WARN_UNUSED_RESULT BOOL d0_blind_id_answer_private_id_request(const d0_blind_id_t *ctx, const char *inbuf, size_t inbuflen, char *outbuf, size_t *outbuflen);
+EXPORT WARN_UNUSED_RESULT BOOL d0_blind_id_finish_private_id_request(d0_blind_id_t *ctx, const char *inbuf, size_t inbuflen);
+EXPORT WARN_UNUSED_RESULT BOOL d0_blind_id_read_private_id_request_camouflage(d0_blind_id_t *ctx, const char *inbuf, size_t inbuflen);
+EXPORT WARN_UNUSED_RESULT BOOL d0_blind_id_write_private_id_request_camouflage(const d0_blind_id_t *ctx, char *outbuf, size_t *outbuflen);
+EXPORT WARN_UNUSED_RESULT BOOL d0_blind_id_read_private_id(d0_blind_id_t *ctx, const char *inbuf, size_t inbuflen);
+EXPORT WARN_UNUSED_RESULT BOOL d0_blind_id_read_public_id(d0_blind_id_t *ctx, const char *inbuf, size_t inbuflen);
+EXPORT WARN_UNUSED_RESULT BOOL d0_blind_id_write_private_id(const d0_blind_id_t *ctx, char *outbuf, size_t *outbuflen);
+EXPORT WARN_UNUSED_RESULT BOOL d0_blind_id_write_public_id(const d0_blind_id_t *ctx, char *outbuf, size_t *outbuflen);
+EXPORT WARN_UNUSED_RESULT BOOL d0_blind_id_authenticate_with_private_id_start(d0_blind_id_t *ctx, BOOL is_first, BOOL send_modulus, char *message, size_t msglen, char *outbuf, size_t *outbuflen);
+EXPORT WARN_UNUSED_RESULT BOOL d0_blind_id_authenticate_with_private_id_challenge(d0_blind_id_t *ctx, BOOL is_first, BOOL recv_modulus, const char *inbuf, size_t inbuflen, char *outbuf, size_t *outbuflen, BOOL *status);
+EXPORT WARN_UNUSED_RESULT BOOL d0_blind_id_authenticate_with_private_id_response(d0_blind_id_t *ctx, const char *inbuf, size_t inbuflen, char *outbuf, size_t *outbuflen);
+EXPORT WARN_UNUSED_RESULT BOOL d0_blind_id_authenticate_with_private_id_verify(d0_blind_id_t *ctx, const char *inbuf, size_t inbuflen, char *msg, size_t *msglen, BOOL *status);
+EXPORT WARN_UNUSED_RESULT BOOL d0_blind_id_fingerprint64_public_id(const d0_blind_id_t *ctx, char *outbuf, size_t *outbuflen);
+EXPORT WARN_UNUSED_RESULT BOOL d0_blind_id_sessionkey_public_id(const d0_blind_id_t *ctx, char *outbuf, size_t *outbuflen); // can only be done after successful key exchange, this performs a modpow; key length is limited by SHA_DIGESTSIZE for now; also ONLY valid after successful d0_blind_id_authenticate_with_private_id_verify/d0_blind_id_fingerprint64_public_id
+
+EXPORT void d0_blind_id_INITIALIZE(void);
+EXPORT void d0_blind_id_SHUTDOWN(void);
+
+EXPORT void d0_blind_id_util_sha256(char *out, const char *in, size_t n);
+
+#endif
diff --git a/misc/builddeps/dp.linux64/lib/libd0_blind_id.a b/misc/builddeps/dp.linux64/lib/libd0_blind_id.a
new file mode 100644 (file)
index 0000000..f27ccb0
Binary files /dev/null and b/misc/builddeps/dp.linux64/lib/libd0_blind_id.a differ
diff --git a/misc/builddeps/dp.linux64/lib/libd0_blind_id.la b/misc/builddeps/dp.linux64/lib/libd0_blind_id.la
new file mode 100755 (executable)
index 0000000..416ec91
--- /dev/null
@@ -0,0 +1,41 @@
+# libd0_blind_id.la - a libtool library file
+# Generated by ltmain.sh (GNU libtool) 2.2.6 Debian-2.2.6a-4
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='libd0_blind_id.so.0'
+
+# Names of this library.
+library_names='libd0_blind_id.so.0.0.0 libd0_blind_id.so.0 libd0_blind_id.so'
+
+# The name of the static archive.
+old_library='libd0_blind_id.a'
+
+# Linker flags that can not go in dependency_libs.
+inherited_linker_flags=''
+
+# Libraries that this one depends upon.
+dependency_libs=' /usr/lib/libgmp.la'
+
+# Names of additional weak libraries provided by this library
+weak_library_names=''
+
+# Version information for libd0_blind_id.
+current=0
+age=0
+revision=0
+
+# Is this an already installed library?
+installed=yes
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=no
+
+# Files to dlopen/dlpreopen
+dlopen=''
+dlpreopen=''
+
+# Directory that this library needs to be installed in:
+libdir='/home/rpolzer/Games/Xonotic/misc/builddeps/dp.linux64/lib'
diff --git a/misc/builddeps/dp.linux64/lib/libd0_blind_id.so b/misc/builddeps/dp.linux64/lib/libd0_blind_id.so
new file mode 120000 (symlink)
index 0000000..6adf4aa
--- /dev/null
@@ -0,0 +1 @@
+libd0_blind_id.so.0.0.0
\ No newline at end of file
diff --git a/misc/builddeps/dp.linux64/lib/libd0_blind_id.so.0 b/misc/builddeps/dp.linux64/lib/libd0_blind_id.so.0
new file mode 120000 (symlink)
index 0000000..6adf4aa
--- /dev/null
@@ -0,0 +1 @@
+libd0_blind_id.so.0.0.0
\ No newline at end of file
diff --git a/misc/builddeps/dp.linux64/lib/libd0_blind_id.so.0.0.0 b/misc/builddeps/dp.linux64/lib/libd0_blind_id.so.0.0.0
new file mode 100755 (executable)
index 0000000..382ace3
Binary files /dev/null and b/misc/builddeps/dp.linux64/lib/libd0_blind_id.so.0.0.0 differ
diff --git a/misc/builddeps/dp.linux64/lib/libd0_rijndael.a b/misc/builddeps/dp.linux64/lib/libd0_rijndael.a
new file mode 100644 (file)
index 0000000..496e414
Binary files /dev/null and b/misc/builddeps/dp.linux64/lib/libd0_rijndael.a differ
diff --git a/misc/builddeps/dp.linux64/lib/libd0_rijndael.la b/misc/builddeps/dp.linux64/lib/libd0_rijndael.la
new file mode 100755 (executable)
index 0000000..99eb124
--- /dev/null
@@ -0,0 +1,41 @@
+# libd0_rijndael.la - a libtool library file
+# Generated by ltmain.sh (GNU libtool) 2.2.6 Debian-2.2.6a-4
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# The name that we can dlopen(3).
+dlname='libd0_rijndael.so.0'
+
+# Names of this library.
+library_names='libd0_rijndael.so.0.0.0 libd0_rijndael.so.0 libd0_rijndael.so'
+
+# The name of the static archive.
+old_library='libd0_rijndael.a'
+
+# Linker flags that can not go in dependency_libs.
+inherited_linker_flags=''
+
+# Libraries that this one depends upon.
+dependency_libs=' /usr/lib/libgmp.la'
+
+# Names of additional weak libraries provided by this library
+weak_library_names=''
+
+# Version information for libd0_rijndael.
+current=0
+age=0
+revision=0
+
+# Is this an already installed library?
+installed=yes
+
+# Should we warn about portability when linking against -modules?
+shouldnotlink=no
+
+# Files to dlopen/dlpreopen
+dlopen=''
+dlpreopen=''
+
+# Directory that this library needs to be installed in:
+libdir='/home/rpolzer/Games/Xonotic/misc/builddeps/dp.linux64/lib'
diff --git a/misc/builddeps/dp.linux64/lib/libd0_rijndael.so b/misc/builddeps/dp.linux64/lib/libd0_rijndael.so
new file mode 120000 (symlink)
index 0000000..01dce01
--- /dev/null
@@ -0,0 +1 @@
+libd0_rijndael.so.0.0.0
\ No newline at end of file
diff --git a/misc/builddeps/dp.linux64/lib/libd0_rijndael.so.0 b/misc/builddeps/dp.linux64/lib/libd0_rijndael.so.0
new file mode 120000 (symlink)
index 0000000..01dce01
--- /dev/null
@@ -0,0 +1 @@
+libd0_rijndael.so.0.0.0
\ No newline at end of file
diff --git a/misc/builddeps/dp.linux64/lib/libd0_rijndael.so.0.0.0 b/misc/builddeps/dp.linux64/lib/libd0_rijndael.so.0.0.0
new file mode 100755 (executable)
index 0000000..598c700
Binary files /dev/null and b/misc/builddeps/dp.linux64/lib/libd0_rijndael.so.0.0.0 differ
diff --git a/misc/builddeps/dp.linux64/lib/pkgconfig/d0_blind_id.pc b/misc/builddeps/dp.linux64/lib/pkgconfig/d0_blind_id.pc
new file mode 100644 (file)
index 0000000..2aa42ed
--- /dev/null
@@ -0,0 +1,11 @@
+prefix=/home/rpolzer/Games/Xonotic/misc/builddeps/dp.linux64
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: Blind-ID
+Description: Library for user identification using RSA blind signatures
+Requires: 
+Version: 0.1
+Libs: -L${libdir} -ld0_blind_id
+Cflags: -I${includedir}/d0_blind_id
diff --git a/misc/builddeps/dp.linux64/lib/pkgconfig/d0_rijndael.pc b/misc/builddeps/dp.linux64/lib/pkgconfig/d0_rijndael.pc
new file mode 100644 (file)
index 0000000..d957656
--- /dev/null
@@ -0,0 +1,11 @@
+prefix=/usr/local
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: Blind-ID
+Description: Library for user identification using RSA blind signatures
+Requires: 
+Version: 0.1
+Libs: -L${libdir} -ld0_blind_id
+Cflags: -I${includedir}/d0_blind_id
diff --git a/misc/buildfiles/win32/libd0_blind_id-0.dll b/misc/buildfiles/win32/libd0_blind_id-0.dll
new file mode 100755 (executable)
index 0000000..af37901
Binary files /dev/null and b/misc/buildfiles/win32/libd0_blind_id-0.dll differ
diff --git a/misc/buildfiles/win32/libd0_rijndael-0.dll b/misc/buildfiles/win32/libd0_rijndael-0.dll
new file mode 100755 (executable)
index 0000000..076c068
Binary files /dev/null and b/misc/buildfiles/win32/libd0_rijndael-0.dll differ
diff --git a/misc/buildfiles/win32/libgmp-10.dll b/misc/buildfiles/win32/libgmp-10.dll
new file mode 100755 (executable)
index 0000000..276aaef
Binary files /dev/null and b/misc/buildfiles/win32/libgmp-10.dll differ
diff --git a/misc/pki/key_0.d0sk.asc b/misc/pki/key_0.d0sk.asc
new file mode 100644 (file)
index 0000000..db66bdd
--- /dev/null
@@ -0,0 +1,48 @@
+-----BEGIN PGP MESSAGE-----
+Version: GnuPG v1.4.10 (GNU/Linux)
+
+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
+=8ysN
+-----END PGP MESSAGE-----
diff --git a/misc/pki/key_15.d0sk.asc b/misc/pki/key_15.d0sk.asc
new file mode 100644 (file)
index 0000000..8f519d4
--- /dev/null
@@ -0,0 +1,48 @@
+-----BEGIN PGP MESSAGE-----
+Version: GnuPG v1.4.10 (GNU/Linux)
+
+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
+=/6Ot
+-----END PGP MESSAGE-----
diff --git a/misc/pki/key_15.txt b/misc/pki/key_15.txt
new file mode 100644 (file)
index 0000000..1363c14
--- /dev/null
@@ -0,0 +1 @@
+This is the TESTING key, and will NOT be accepted by official Xonotic releases.