author | Michael Krelin <hacker@klever.net> | 2014-03-05 21:14:05 (UTC) |
---|---|---|
committer | Michael Krelin <hacker@klever.net> | 2014-03-05 21:14:05 (UTC) |
commit | 9651b551f1c5af7f688d62ceb309ba84f92a77d3 (patch) (side-by-side diff) | |
tree | f5a3f3f38613ed782fc4ea6b3bf0acfea17dcd0f /test | |
parent | 00cf4285fb0539873754f23a654b9cd13ae29af4 (diff) | |
download | libopkele-master.zip libopkele-master.tar.gz libopkele-master.tar.bz2 |
-rw-r--r-- | test/OP.cc | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -1,50 +1,54 @@ #include <uuid/uuid.h> #include <iostream> #include <cassert> #include <string> -#include <ext/algorithm> using namespace std; #include <kingate/exception.h> #include <kingate/plaincgi.h> #include <kingate/cgi_gateway.h> #include <opkele/exception.h> #include <opkele/util.h> #include <opkele/uris.h> #include <opkele/extension.h> #include <opkele/association.h> #include <opkele/debug.h> #include <opkele/verify_op.h> #include <opkele/sreg.h> +#include "config.h" +#ifdef HAVE_EXT_ALGORITHM_H +# include <ext/algorithm> +#endif + #include "sqlite.h" #include "kingate_openid_message.h" static const string get_self_url(const kingate::cgi_gateway& gw) { bool s = gw.has_meta("SSL_PROTOCOL_VERSION"); string rv = s?"https://":"http://"; rv += gw.http_request_header("Host"); const string& port = gw.get_meta("SERVER_PORT"); if( port!=(s?"443":"80") ) { rv += ':'; rv += port; } rv += gw.get_meta("REQUEST_URI"); string::size_type q = rv.find('?'); if(q!=string::npos) rv.erase(q); return rv; } class opdb_t : public sqlite3_t { public: opdb_t() : sqlite3_t("/tmp/OP.db") { assert(_D); char **resp; int nr,nc; char *errm; if(sqlite3_get_table( _D, "SELECT a_op FROM assoc LIMIT 0", &resp,&nr,&nc,&errm)!=SQLITE_OK) { extern const char *__OP_db_bootstrap; DOUT_("Bootstrapping DB"); if(sqlite3_exec(_D,__OP_db_bootstrap,NULL,NULL,&errm)!=SQLITE_OK) throw opkele::exception(OPKELE_CP_ string("Failed to boostrap SQLite database: ")+errm); }else |