Changeset 17 in Main


Ignore:
Timestamp:
Sep 14, 2024, 2:41:07 AM (2 months ago)
Author:
Nishi
Message:

module system kinda works

Location:
trunk
Files:
5 added
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/Makefile

    r6 r17  
    77FLAGS = PWD=$(PWD) PLATFORM=$(PLATFORM) PREFIX=$(PREFIX)
    88
    9 .PHONY: all format clean ./Server ./Common
     9.PHONY: all format clean ./Server ./Common ./Module
    1010
    11 all: ./Server
     11all: ./Server ./Module
    1212
    1313./Server:: ./Common
     14        $(MAKE) -C $@ $(FLAGS)
     15
     16./Module:: ./Common
    1417        $(MAKE) -C $@ $(FLAGS)
    1518
     
    1821
    1922format:
    20         clang-format --verbose -i `find ./Server ./Common -name "*.c" -or -name "*.h"`
     23        clang-format --verbose -i `find ./Server ./Common ./Module -name "*.c" -or -name "*.h"`
    2124
    2225clean:
    2326        $(MAKE) -C ./Server $(FLAGS) clean
     27        $(MAKE) -C ./Module $(FLAGS) clean
    2428        $(MAKE) -C ./Common $(FLAGS) clean
  • trunk/Platform/generic.mk

    r6 r17  
    77LIBS =
    88EXEC =
     9LIB = .so
  • trunk/Platform/win64.mk

    r8 r17  
    77LIBS = -lws2_32
    88EXEC = .exe
     9LIB = .dll
  • trunk/Server/Makefile

    r16 r17  
    66.SUFFIXES: .c .o
    77
    8 OBJS = version.o main.o config.o server.o ssl.o http.o
     8OBJS = version.o main.o config.o server.o ssl.o http.o module.o
    99
    1010all: tewi$(EXEC)
  • trunk/Server/config.c

    r16 r17  
    44
    55#include "tw_config.h"
     6#include "tw_module.h"
    67
    78#include <stdio.h>
     
    3839        config.root.sslcert = NULL;
    3940        config.vhost_count = 0;
     41        config.server_root = cm_strdup(PREFIX);
    4042        gethostname(config.hostname, 1024);
    4143}
     
    126128                                                        current->sslcert = cm_strdup(r[1]);
    127129                                                }
     130                                        } else if(cm_strcaseequ(r[0], "ServerRoot")) {
     131                                                if(r[1] == NULL) {
     132                                                        cm_log("Config", "Missing path at line %d", ln);
     133                                                        stop = 1;
     134                                                } else {
     135                                                        if(config.server_root != NULL) free(config.server_root);
     136                                                        config.server_root = cm_strdup(r[1]);
     137                                                }
     138                                        } else if(cm_strcaseequ(r[0], "LoadModule")) {
     139                                                for(i = 1; r[i] != NULL; i++) {
     140                                                        void* mod = tw_module_load(r[i]);
     141                                                        if(mod != NULL) {
     142                                                                if(tw_module_init(mod) != 0) {
     143                                                                        stop = 1;
     144                                                                        break;
     145                                                                }
     146                                                        } else {
     147                                                                stop = 1;
     148                                                                break;
     149                                                        }
     150                                                }
    128151                                        } else {
    129152                                                if(r[0] != NULL) {
  • trunk/Server/http.c

    r16 r17  
    1212#include <stdbool.h>
    1313#include <stdlib.h>
    14 #include <sys/socket.h>
     14#include <string.h>
     15
     16#ifdef __MINGW32__
     17#include <winsock2.h>
     18#else
     19#include <sys/select.h>
     20#endif
    1521
    1622void tw_free_request(struct tw_http_request* req) {
  • trunk/Server/server.c

    r16 r17  
    161161        struct tw_http_request req;
    162162        int ret = tw_http_parse(s, sock, &req);
     163        if(ret == 0) {
     164        }
    163165cleanup:
    164166        if(sslworks) {
  • trunk/Server/tw_config.h

    r12 r17  
    2323        struct tw_config_entry vhosts[MAX_VHOSTS];
    2424        int vhost_count;
     25        char* server_root;
    2526};
    2627
  • trunk/Server/tw_http.h

    r16 r17  
    1616};
    1717
    18 struct tw_http_tool {};
    19 
    2018#ifdef SOURCE
    2119#include <openssl/ssl.h>
  • trunk/example.conf

    r13 r17  
    11# $Id$
    22# This is an example config
     3
     4LoadModule /home/nishi/SVN/tewi/trunk/Module/mod_example.so
    35
    46Listen 8000 8001 8002 8003 8004
Note: See TracChangeset for help on using the changeset viewer.