Commit af914b89 authored by jan.koester's avatar jan.koester
Browse files

cfg mngt rewrite

parent cff1ee7f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -5,3 +5,4 @@ add_subdirectory(nodeinfo)
add_subdirectory(youtube)
add_subdirectory(navbar)
add_subdirectory(media)
add_subdirectory(nginxfiler)
+0 −1
Original line number Diff line number Diff line
@@ -57,7 +57,6 @@ namespace blogi {
        }

        void initPlugin(){

        }

        bool Controller(netplus::con *curcon,libhttppp::HttpRequest *req,libhtmlpp::HtmlElement page){
+3 −3
Original line number Diff line number Diff line
@@ -38,7 +38,7 @@
#include "conf.h"
#include "theme.h"

blogi::Auth::Auth(blogi::Database *pcon,blogi::Session *session){
blogi::Auth::Auth(blogi::Database *pcon,blogi::Session *session,blogi::Config *cfg){
    _dbconn=pcon;
    _session=session;
    blogi::SQL sql;
@@ -87,7 +87,7 @@ bool blogi::Auth::ldapLogin(const char *username,const char *password,std::strin
    LDAPControl* userserverctls = nullptr;
    LDAPControl* userclientctls = nullptr;

    int ulerr = ldap_initialize(&userldap, Config::getInstance()->getlphost());
    int ulerr = ldap_initialize(&userldap, _config->getlphost());

    if (ulerr != LDAP_SUCCESS) {
        excep[libhttppp::HTTPException::Critical] << "User Ldap init failed: "
@@ -124,7 +124,7 @@ bool blogi::Auth::ldapLogin(const char *username,const char *password,std::strin

    timeout.tv_sec = 1;

    ulerr = ldap_search_ext_s(userldap, Config::getInstance()->getlpbasedn(), LDAP_SCOPE_SUBTREE, Config::getInstance()->getlpfilter(), attrs, 0, &userserverctls, &userclientctls, &timeout, 0, &answer);
    ulerr = ldap_search_ext_s(userldap, _config->getlpbasedn(), LDAP_SCOPE_SUBTREE, _config->getlpfilter(), attrs, 0, &userserverctls, &userclientctls, &timeout, 0, &answer);

    if (ulerr != LDAP_SUCCESS) {
        excep[libhttppp::HTTPException::Note] << "<span>User can'T find uid !</span>";
+3 −1
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@

#include "database.h"
#include "session.h"
#include "conf.h"

#pragma once

@@ -43,7 +44,7 @@ namespace blogi {

    class Auth{
    public:
        Auth(blogi::Database *pcon,blogi::Session *session);
        Auth(blogi::Database *pcon,blogi::Session *session,blogi::Config *cfg);
        ~Auth();
        bool login(const char *username,const char *password,std::string &ssid);
        bool isLoggedIn(libhttppp::HttpRequest *curreq,std::string &sessionid);
@@ -55,6 +56,7 @@ namespace blogi {

        blogi::Database *_dbconn;
        blogi::Session  *_session;
        blogi::Config   *_config;
#ifdef LDAPSUPPORT
        LDAPControl    *_serverctrls;
        LDAPControl    *_clientctrls;
+12 −16
Original line number Diff line number Diff line
@@ -55,20 +55,20 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "pgsql.cpp"
#include "sqlite.cpp"

blogi::Blogi::Blogi(netplus::socket *serversocket) : event(serversocket){
blogi::Blogi::Blogi(Config *blgcfg,netplus::socket *serversocket) : event(serversocket){

    PlgArgs = new PluginArgs;
    PlgArgs->config=Config::getInstance();
    PlgArgs->config=blgcfg;
    if(strcmp(PlgArgs->config->getdbdriver(),"pgsql")==0)
        PlgArgs->database= new Postgresql(PlgArgs->config->getdbopts());
    else if(strcmp(PlgArgs->config->getdbdriver(),"sqlite")==0)
        PlgArgs->database= new SQLite(PlgArgs->config->getdbopts());
    PlgArgs->session= new Session();
    PlgArgs->auth=new Auth(PlgArgs->database,PlgArgs->session);
    PlgArgs->auth=new Auth(PlgArgs->database,PlgArgs->session,PlgArgs->config);
    PlgArgs->edit=new Editor(PlgArgs->config);

    TemplateConfig tplcfg;
    tplcfg.config=Config::getInstance();
    tplcfg.config=blgcfg;
    tplcfg.Theme=tplcfg.config->gettemplate();
    tplcfg.TDatabase=PlgArgs->database;

@@ -366,13 +366,13 @@ RETRY_REQUEST:

class HttpConD : public libhttppp::HttpD {
public:
    HttpConD(const char *httpaddr, int port,int maxconnections,const char *sslcertpath,const char *sslkeypath)
            : HttpD(httpaddr,port,maxconnections,sslcertpath,sslkeypath){
    HttpConD(blogi::Config *blgcfg)
            : HttpD(blgcfg->gethttpaddr(),blgcfg->gethttpport(),blgcfg->gethttpmaxcon(),blgcfg->getsslcertpath(),blgcfg->getsslkeypath()){
        libhttppp::HTTPException httpexception;
        try {
            blogi::Session session;
            try{
                blogi::Blogi blg(getServerSocket());
                blogi::Blogi blg(blgcfg,getServerSocket());
                blg.runEventloop();
            }catch(libhttppp::HTTPException &e){
                std::cerr << e.what() << std::endl;
@@ -381,7 +381,6 @@ public:
            std::cout << e.what() << std::endl;
        }
    };
private:
};

int main(int argc, char** argv){
@@ -404,22 +403,19 @@ int main(int argc, char** argv){
    const char *config = BlogiCmdCtl->getCmdbyKey("config")->getValue();

    blogi::Config *cins;
    cins=blogi::Config::getInstance();


    if(config)
        cins->loadconfig(config);
        cins = new blogi::Config(config);
    else
        return -1;

    if(!cins)
        return -1;

    HttpConD(cins->gethttpaddr(),
             cins->gethttpport(),
             cins->gethttpmaxcon(),
             nullptr,
             nullptr
            );
    HttpConD blogiD(cins);

    // delete cins;
}

Loading