diff options
author | gregory guy <gregory-tde@laposte.net> | 2020-11-17 16:31:13 +0100 |
---|---|---|
committer | gregory guy <gregory-tde@laposte.net> | 2020-11-17 16:31:13 +0100 |
commit | 17a1fd91159f59a36eddac7061afe6531143ff01 (patch) | |
tree | 4e0672f15ed86f1073c000bd25c88277200e2914 | |
parent | 4ee0745f55cba100da59f9ac4107b25ac92eadd4 (diff) | |
download | tqca-tls-17a1fd91159f59a36eddac7061afe6531143ff01.tar.gz tqca-tls-17a1fd91159f59a36eddac7061afe6531143ff01.zip |
Drop tqmake build support.
Add basic cmake build instructions.
Rework of the README file.
Signed-off-by: gregory guy <gregory-tde@laposte.net>
-rw-r--r-- | INSTALL | 29 | ||||
-rw-r--r-- | README | 27 | ||||
-rwxr-xr-x | configure | 598 | ||||
-rw-r--r-- | openssl.qcm | 80 | ||||
-rwxr-xr-x | prepare | 5 | ||||
-rw-r--r-- | qca-tls.pro | 26 | ||||
-rw-r--r-- | qca-tls.qc | 9 | ||||
-rwxr-xr-x | qcextra | 9 |
8 files changed, 44 insertions, 739 deletions
@@ -0,0 +1,29 @@ +Basic Installation +================== + +tqca-tls relies on cmake to build. + +Here are suggested default options: + + -DCMAKE_EXPORT_COMPILE_COMMANDS="ON" \ + -DCMAKE_INSTALL_PREFIX="/usr" \ + -DCONFIG_INSTALL_DIR="/etc/trinity" \ + -DSYSCONF_INSTALL_DIR="/etc/trinity" \ + -DXDG_MENU_INSTALL_DIR="/etc/xdg/menus" \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_VERBOSE_MAKEFILE="ON" \ + -DCMAKE_SKIP_RPATH="OFF" \ + -DWITH_ALL_OPTIONS="ON" + + + +Requirements: +============= + +- OpenSSL + + +Optional: +========= + +- tqca @@ -1,16 +1,19 @@ -TQCA TLS Plugin v1.0 -------------------- -Author: Justin Karneges <justin@affinix.com> -Date: September 15th, 2003 -This is a plugin to provide SSL/TLS capability to programs that -utilize the TQt Cryptographic Architecture (TQCA). + tqca-tls - TQCA TLS Plugin -Requirements: - OpenSSL Library (http://www.openssl.org/) -Installation procedure: - ./configure - make - su -c "make install" +tqca-tls is a plugin to provide SSL/TLS capability to programs that +use the TQt Cryptographic Architecture (TQCA). + + +CONTRIBUTING +============== + +If you wish to contribute to tqca-tls, you might do so: + +- TDE Gitea Workspace (TGW) collaboration tool. + https://mirror.git.trinitydesktop.org/gitea + +- TDE Weblate Translation Workspace (TWTW) collaboration tool. + https://mirror.git.trinitydesktop.org/weblate diff --git a/configure b/configure deleted file mode 100755 index d5e2250..0000000 --- a/configure +++ /dev/null @@ -1,598 +0,0 @@ -#!/bin/sh - -show_usage() { -cat <<EOT -Usage: ./configure [OPTION]... - -This script creates necessary configuration files to build/install. - -Main options: - --tqtdir=[path] Directory where TQt is installed. - --help This help text. - -Dependency options: - --with-openssl-inc=[path] Path to OpenSSL include files - --with-openssl-lib=[path] Path to OpenSSL library files - -EOT -} - -while [ $# -gt 0 ]; do - case "$1" in - --tqtdir=*) - TQTDIR=`expr "${1}" : "--tqtdir=\(.*\)"` - shift - ;; - - --with-openssl-inc=*) - QC_WITH_OPENSSL_INC=`expr "${1}" : "--with-openssl-inc=\(.*\)"` - shift - ;; - - --with-openssl-lib=*) - QC_WITH_OPENSSL_LIB=`expr "${1}" : "--with-openssl-lib=\(.*\)"` - shift - ;; - - --debug) - QC_DEBUG="Y" - shift - ;; - --help) show_usage; exit ;; - *) show_usage; exit ;; - esac -done - - -echo "Configuring tqca-tls ..." - -if [ "$QC_DEBUG" = "Y" ]; then -echo -echo TQTDIR=$TQTDIR -echo QC_WITH_OPENSSL_INC=$QC_WITH_OPENSSL_INC -echo QC_WITH_OPENSSL_LIB=$QC_WITH_OPENSSL_LIB -echo -fi - -printf "Verifying TQt 3.x Multithreaded (MT) build environment ... " - -if [ -z "$TQTDIR" ]; then - if [ "$QC_DEBUG" = "Y" ]; then - echo \$TQTDIR not set... trying to find TQt manually - fi - for p in /usr/lib/tqt /usr/share/tqt /usr/share/tqt3 /usr/local/lib/tqt /usr/local/share/tqt /usr/lib/tqt3 /usr/local/lib/tqt3 /usr/lib/qt /usr/share/qt /usr/share/qt3 /usr/local/lib/qt /usr/local/share/qt /usr/lib/qt3 /usr/local/lib/qt3 /usr/lib64/tqt /usr/local/lib64/tqt /usr/lib64/tqt3 /usr/local/lib64/tqt3 /usr/lib64/qt /usr/local/lib64/qt /usr/lib64/qt3 /usr/local/lib64/qt3 /usr/X11R6/share/qt /usr/qt/3 ; do - if [ -d "$p/mkspecs" ]; then - TQTDIR=$p - break; - fi; - done - if [ -z "$TQTDIR" ]; then - echo fail - echo - echo Unable to find TQt 'mkspecs'. Please set TQTDIR - echo manually. Perhaps you need to install TQt 3 - echo development utilities. You may download them - echo the repos of your distribution or from - echo https://mirror.git.trinitydesktop.org/gitea/TDE/tqt3/. - echo - exit 1; - fi -fi - -if [ ! -x "$TQTDIR/bin/tqmake" ]; then - if [ "$QC_DEBUG" = "Y" ]; then - echo Warning: tqmake not in \$TQTDIR/bin/tqmake - echo trying to find it in \$PATH - fi - qm=`type -p tqmake` - if [ -x "$qm" ]; then - if [ "$QC_DEBUG" = "Y" ]; then - echo tqmake found in $qm - fi - else - echo fail - echo - echo Sorry, you seem to have a very unusual setup, - echo or I missdetected \$TQTDIR=$TQTDIR - echo - echo Please set \$TQTDIR manually and make sure that - echo \$TQTDIR/bin/tqmake exists. - echo - exit 1; - fi -else - qm=$TQTDIR/bin/tqmake -fi - -gen_files() { -cat >$1/modules.cpp <<EOT -/* ------BEGIN QCMOD----- -name: OpenSSL -arg: with-openssl-inc=[path],Path to OpenSSL include files -arg: with-openssl-lib=[path],Path to OpenSSL library files ------END QCMOD----- -*/ -class qc_openssl : public ConfObj -{ -public: - qc_openssl(Conf *c) : ConfObj(c) {} - TQString name() const { return "OpenSSL"; } - TQString shortname() const { return "openssl"; } - bool exec() - { - TQString inc, lib; - TQString s; - bool kb = false; - TQString kbdir = "/usr/kerberos/include"; - - // Redhat 9? - if(TQFileInfo(kbdir).exists()) - kb = true; - - s = conf->getenv("QC_WITH_OPENSSL_INC"); - if(!s.isEmpty()) { - if(!conf->checkHeader(s, "openssl/ssl.h")) - return false; - inc = s; - } - else { - if(!conf->findHeader("openssl/ssl.h", TQStringList(), &s)) - return false; - inc = s; - } - - s = conf->getenv("QC_WITH_OPENSSL_LIB"); - if(!s.isEmpty()) { - if(!conf->checkLibrary(s, "ssl")) - return false; - lib = s; - } - else { - if(!conf->findLibrary("ssl", &s)) - return false; - lib = s; - } - - // is it at least openssl 0.9.7? - TQString str = - "#include<openssl/opensslv.h>\n" - "int main()\n" - "{\n" - " unsigned long x = OPENSSL_VERSION_NUMBER;\n" - " if(x >= 0x00907000) return 0; else return 1;\n" - "}\n"; - TQString ext; - if(!inc.isEmpty()) - ext += TQString("-I") + inc + ' '; - if(kb) - ext += TQString("-I") + kbdir + ' '; - if(!lib.isEmpty()) - ext += TQString("-L") + lib + " -lssl -lcrypto "; - int ret; - if(!conf->doCompileAndLink(str, ext, &ret)) - return false; - if(ret == 0) - conf->addDefine("OSSL_097"); - - if(!inc.isEmpty()) - conf->addIncludePath(inc); - if(kb) - conf->addIncludePath(kbdir); - if(!lib.isEmpty()) - conf->addLib(TQString("-L") + s); - conf->addLib("-lssl -lcrypto"); - - // Make sure tqtinterface can be found - conf->addIncludePath("/usr/include/tqt"); - - return true; - } -}; - -EOT -cat >$1/modules_new.cpp <<EOT - o = new qc_openssl(conf); - o->required = true; - o->disabled = false; - -EOT -cat >$1/conf.cpp <<EOT -#include<stdio.h> -#include<stdlib.h> -#include<tqstring.h> -#include<tqdict.h> -#include<tqptrlist.h> -#include<tqfileinfo.h> -#include<tqfile.h> -#include<tqdir.h> -#include<tqstringlist.h> - -class Conf; - -class ConfObj -{ -public: - ConfObj(Conf *c); - virtual ~ConfObj(); - - virtual TQString name() const=0; - virtual TQString shortname() const=0; - virtual bool exec()=0; - - Conf *conf; - bool required; - bool disabled; -}; - -typedef TQPtrList<ConfObj> ConfObjList; -typedef TQPtrListIterator<ConfObj> ConfObjListIt; - -class Conf -{ -public: - Conf() : vars(17) - { - list.setAutoDelete(true); - vars.setAutoDelete(true); - - vars.insert("QMAKE_INCDIR_X11", new TQString(X11_INC)); - vars.insert("QMAKE_LIBDIR_X11", new TQString(X11_LIBDIR)); - vars.insert("QMAKE_LIBS_X11", new TQString(X11_LIB)); - vars.insert("QMAKE_CC", new TQString(CC)); - } - - ~Conf() - { - } - - void added(ConfObj *o) - { - list.append(o); - } - - TQString getenv(const TQString &var) - { - char *p = ::getenv(var.latin1()); - if(!p) - return TQString::null; - return TQString(p); - } - - bool exec() - { - ConfObjListIt it(list); - for(ConfObj *o; (o = it.current()); ++it) { - // if this was a disabled-by-default option, check if it was enabled - if(o->disabled) { - TQString v = TQString("QC_ENABLE_") + o->shortname(); - if(getenv(v) != "Y") - continue; - } - // and the opposite? - else { - TQString v = TQString("QC_DISABLE_") + o->shortname(); - if(getenv(v) == "Y") - continue; - } - - printf("Checking for %s ...", o->name().latin1()); - fflush(stdout); - bool ok = o->exec(); - if(ok) - printf(" yes\n"); - else - printf(" no\n"); - if(!ok && o->required) { - printf("\nError: need %s!\n", o->name().latin1()); - return false; - } - } - return true; - } - - const TQString & qvar(const TQString &s) - { - TQString *p = vars.find(s); - if(p) - return *p; - else - return blank; - } - - TQString expandIncludes(const TQString &inc) - { - return TQString("-I") + inc; - } - - TQString expandLibs(const TQString &lib) - { - return TQString("-L") + lib; - } - - int doCommand(const TQString &s) - { - //printf("[%s]\n", s.latin1()); - int r = system((s + " 1>/dev/null 2>/dev/null").latin1()); - //printf("returned: %d\n", r); - return r; - } - - bool doCompileAndLink(const TQString &filedata, const TQString &flags, int *retcode=0) - { - TQDir dir("."); - TQString fname = "atest.c"; - TQString out = "atest"; - TQFile f(fname); - TQCString cs = filedata.latin1(); - if(!f.open(IO_WriteOnly | IO_Truncate)) - return false; - f.writeBlock(cs.data(), cs.length()); - f.close(); - - TQString str = qvar("QMAKE_CC") + ' ' + fname + " -o " + out + ' ' + flags; - int r = doCommand(str); - if(r == 0 && retcode) - *retcode = doCommand(TQString("./") + out); - dir.remove(fname); - dir.remove(out); - if(r != 0) - return false; - return true; - } - - bool checkHeader(const TQString &path, const TQString &h) - { - TQFileInfo fi(path + '/' + h); - if(fi.exists()) - return true; - return false; - } - - bool findHeader(const TQString &h, const TQStringList &ext, TQString *inc) - { - if(checkHeader("/usr/include", h)) { - *inc = ""; - return true; - } - TQStringList dirs; - dirs += "/usr/local/include"; - dirs += ext; - for(TQStringList::ConstIterator it = dirs.begin(); it != dirs.end(); ++it) { - if(checkHeader(*it, h)) { - *inc = *it; - return true; - } - } - return false; - } - - bool checkLibrary(const TQString &path, const TQString &name) - { - TQString str = - "int main()\n" - "{\n" - " return 0;\n" - "}\n"; - - TQString extra; - if(!path.isEmpty()) - extra += TQString("-L") + path + ' '; - extra += TQString("-l") + name; - if(!doCompileAndLink(str, extra)) - return false; - return true; - } - - bool findLibrary(const TQString &name, TQString *lib) - { - if(checkLibrary("", name)) { - *lib = ""; - return true; - } - if(checkLibrary("/usr/local/lib", name)) { - *lib = "/usr/local/lib"; - return true; - } - if(checkLibrary("/usr/local/lib64", name)) { - *lib = "/usr/local/lib64"; - return true; - } - return false; - } - - void addDefine(const TQString &str) - { - if(DEFINES.isEmpty()) - DEFINES = str; - else - DEFINES += TQString(" ") + str; - } - - void addLib(const TQString &str) - { - if(LIBS.isEmpty()) - LIBS = str; - else - LIBS += TQString(" ") + str; - } - - void addIncludePath(const TQString &str) - { - if(INCLUDEPATH.isEmpty()) - INCLUDEPATH = str; - else - INCLUDEPATH += TQString(" ") + str; - } - - void addExtra(const TQString &str) - { - extra += str + '\n'; - } - - TQString DEFINES; - TQString INCLUDEPATH; - TQString LIBS; - TQString extra; - -private: - ConfObjList list; - TQDict<TQString> vars; - TQString blank; -}; - -ConfObj::ConfObj(Conf *c) -{ - conf = c; - conf->added(this); - required = false; - disabled = false; -} - -ConfObj::~ConfObj() -{ -} - -#include"modules.cpp" - -//---------------------------------------------------------------------------- -// main -//---------------------------------------------------------------------------- -int main() -{ - Conf *conf = new Conf; - ConfObj *o; - o = 0; -#include"modules_new.cpp" - - printf("ok\n"); - bool success = false; - if(conf->exec()) { - TQFile f("conf.pri"); - if(!f.open(IO_WriteOnly | IO_Truncate)) { - printf("Error writing %s\n", f.name().latin1()); - return 1; - } - - TQString str; - str += "# qconf\n"; - str += "QT_PATH_PLUGINS = " + TQString(tqInstallPathPlugins()) + '\n'; - if(!conf->DEFINES.isEmpty()) - str += "DEFINES += " + conf->DEFINES + '\n'; - if(!conf->INCLUDEPATH.isEmpty()) - str += "INCLUDEPATH += " + conf->INCLUDEPATH + '\n'; - if(!conf->LIBS.isEmpty()) - str += "LIBS += " + conf->LIBS + '\n'; - if(!conf->extra.isEmpty()) - str += conf->extra; - str += '\n'; - - char *p = getenv("BINDIR"); - if(p) { - str += TQString("target.path = ") + p + '\n'; - str += "INSTALLS += target\n"; - } - - TQCString cs = str.latin1(); - f.writeBlock(cs.data(), cs.length()); - f.close(); - success = true; - } - delete conf; - - if(success) - return 0; - else - return 1; -} - -EOT -cat >$1/conf.pro <<EOT -TEMPLATE = app -CONFIG += qt x11 thread console -TARGET = conf -INCLUDEPATH += '/usr/include/tqt' - -DEFINES += X11_INC='"\$\$QMAKE_INCDIR_X11"' -DEFINES += X11_LIBDIR='"\$\$QMAKE_LIBDIR_X11"' -DEFINES += X11_LIB='"\$\$QMAKE_LIBS_X11"' -DEFINES += CC='"\$\$QMAKE_CC"' - -SOURCES += conf.cpp - -EOT -} - -export TQTDIR -export QC_WITH_OPENSSL_INC -export QC_WITH_OPENSSL_LIB -rm -rf .qconftemp -( - mkdir .qconftemp - gen_files .qconftemp - cd .qconftemp - $qm conf.pro >/dev/null - TQTDIR=$TQTDIR make clean >/dev/null 2>&1 - TQTDIR=$TQTDIR make >../conf.log 2>&1 -) - -if [ "$?" != "0" ]; then - rm -rf .qconftemp - echo fail - echo - echo "There was an error compiling 'conf'. Be sure you have a proper" - echo "TQt 3.x Multithreaded (MT) build environment set up." - if [ ! -f "$TQTDIR/lib/libtqt-mt.so.3" ]; then - if [ ! -f "$TQTDIR/lib64/libtqt-mt.so.3" ]; then - echo - echo "One possible reason is that you don't have" - echo "libtqt-mt.so.3 installed in $TQTDIR/lib/" - echo "or $TQTDIR/lib64/." - fi - fi - echo - exit 1; -fi - -.qconftemp/conf -ret="$?" -if [ "$ret" = "1" ]; then - rm -rf .qconftemp - echo - exit 1; -else - if [ "$ret" != "0" ]; then - rm -rf .qconftemp - echo fail - echo - echo Unexpected error launching 'conf' - echo - exit 1; - fi -fi -rm -rf .qconftemp - -if [ -x "./qcextra" ]; then - ./qcextra -fi -# run tqmake -if expr "$DEB_BUILD_OPTIONS" : ".*nostrip"; then - $qm QMAKE_STRIP=true qca-tls.pro -else - $qm qca-tls.pro -fi -if [ "$?" != "0" ]; then - echo - exit 1; -fi -cat >Makefile.tmp <<EOT -export TQTDIR = $TQTDIR -EOT -cat Makefile >> Makefile.tmp -rm -f Makefile -cp -f Makefile.tmp Makefile -rm -f Makefile.tmp - -echo -echo Good, your configure finished. Now run \'make\'. -echo diff --git a/openssl.qcm b/openssl.qcm deleted file mode 100644 index 242ad20..0000000 --- a/openssl.qcm +++ /dev/null @@ -1,80 +0,0 @@ -/* ------BEGIN QCMOD----- -name: OpenSSL -arg: with-openssl-inc=[path],Path to OpenSSL include files -arg: with-openssl-lib=[path],Path to OpenSSL library files ------END QCMOD----- -*/ -class qc_openssl : public ConfObj -{ -public: - qc_openssl(Conf *c) : ConfObj(c) {} - QString name() const { return "OpenSSL"; } - QString shortname() const { return "openssl"; } - bool exec() - { - QString inc, lib; - QString s; - bool kb = false; - QString kbdir = "/usr/kerberos/include"; - - // Redhat 9? - if(QFileInfo(kbdir).exists()) - kb = true; - - s = conf->getenv("QC_WITH_OPENSSL_INC"); - if(!s.isEmpty()) { - if(!conf->checkHeader(s, "openssl/ssl.h")) - return false; - inc = s; - } - else { - if(!conf->findHeader("openssl/ssl.h", QStringList(), &s)) - return false; - inc = s; - } - - s = conf->getenv("QC_WITH_OPENSSL_LIB"); - if(!s.isEmpty()) { - if(!conf->checkLibrary(s, "ssl")) - return false; - lib = s; - } - else { - if(!conf->findLibrary("ssl", &s)) - return false; - lib = s; - } - - // is it at least openssl 0.9.7? - QString str = - "#include<openssl/opensslv.h>\n" - "int main()\n" - "{\n" - " unsigned long x = OPENSSL_VERSION_NUMBER;\n" - " if(x >= 0x00907000) return 0; else return 1;\n" - "}\n"; - QString ext; - if(!inc.isEmpty()) - ext += QString("-I") + inc + ' '; - if(kb) - ext += QString("-I") + kbdir + ' '; - if(!lib.isEmpty()) - ext += QString("-L") + lib + " -lssl -lcrypto "; - int ret; - if(!conf->doCompileAndLink(str, ext, &ret)) - return false; - if(ret == 0) - conf->addDefine("OSSL_097"); - - if(!inc.isEmpty()) - conf->addIncludePath(inc); - if(kb) - conf->addIncludePath(kbdir); - if(!lib.isEmpty()) - conf->addLib(QString("-L") + s); - conf->addLib("-lssl -lcrypto"); - - return true; - } -}; diff --git a/prepare b/prepare deleted file mode 100755 index d7936f4..0000000 --- a/prepare +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -cp ../../src/qca.h . -cp ../../src/qcaprovider.h . - diff --git a/qca-tls.pro b/qca-tls.pro deleted file mode 100644 index 74bd997..0000000 --- a/qca-tls.pro +++ /dev/null @@ -1,26 +0,0 @@ -# tqca-tls qmake profile - -TEMPLATE = lib -CONFIG += qt thread release plugin -TARGET = tqca-tls - -!exists(qcaprovider.h) { - Q_PREFIX = ../../src - INCLUDEPATH += $$Q_PREFIX -} -HEADERS += ($$Q_PREFIX)qcaprovider.h - -HEADERS = tqca-tls.h -SOURCES = tqca-tls.cpp - -DEFINES += TQCA_PLUGIN -win32:{ - DEFINES += TQCA_PLUGIN_DLL OSSL_097 - INCLUDEPATH += c:\local\include - LIBS += c:\local\lib\libeay32.lib c:\local\lib\ssleay32.lib -} - -include(conf.pri) -include(extra.pri) - -QMAKE_PROJECT_DEPTH=0 diff --git a/qca-tls.qc b/qca-tls.qc deleted file mode 100644 index 91179cf..0000000 --- a/qca-tls.qc +++ /dev/null @@ -1,9 +0,0 @@ -<qconf> - <name>tqca-tls</name> - <profile>qca-tls.pro</profile> - <noprefix/> - <dep type='openssl'> - <required/> - </dep> - <moddir>.</moddir> -</qconf> diff --git a/qcextra b/qcextra deleted file mode 100755 index fef4f18..0000000 --- a/qcextra +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -cat >extra.pri <<EOT -target.path=\$\$QT_PATH_PLUGINS/crypto -INSTALLS += target - -INSTALL_ROOT = $PREFIX - -EOT |