Changeset 16 in Main


Ignore:
Timestamp:
Sep 14, 2024, 12:09:52 AM (2 months ago)
Author:
Nishi
Message:

can parse http now

Location:
trunk
Files:
2 added
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/Common/cm_string.h

    r5 r16  
    77
    88char* cm_strcat(const char* a, const char* b);
     9char* cm_strcat3(const char* a, const char* b, const char* c);
    910char* cm_strdup(const char* str);
    1011char* cm_trimstart(const char* str);
  • trunk/Common/string.c

    r6 r16  
    1111        memcpy(str + strlen(a), b, strlen(b));
    1212        str[strlen(a) + strlen(b)] = 0;
     13        return str;
     14}
     15
     16char* cm_strcat3(const char* a, const char* b, const char* c) {
     17        char* tmp = cm_strcat(a, b);
     18        char* str = cm_strcat(tmp, c);
     19        free(tmp);
    1320        return str;
    1421}
  • trunk/Server/Makefile

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

    r13 r16  
    11/* $Id$ */
     2
     3#define SOURCE
    24
    35#include "tw_config.h"
  • trunk/Server/main.c

    r9 r16  
    11/* $Id$ */
     2
     3#define SOURCE
    24
    35#include <stdio.h>
    46#include <stdbool.h>
    57#include <string.h>
     8#include <signal.h>
    69
    710#include <openssl/opensslv.h>
     
    5053        }
    5154        cm_log("Daemon", "Ready");
     55#ifndef __MINGW32__
     56        signal(SIGCHLD, SIG_IGN);
     57#endif
    5258        tw_server_loop();
    5359}
  • trunk/Server/server.c

    r15 r16  
    11/* $Id$ */
     2
     3#define SOURCE
    24
    35#include "tw_server.h"
     
    57#include "tw_ssl.h"
    68#include "tw_config.h"
     9#include "tw_http.h"
    710
    811#include <unistd.h>
     
    111114        }
    112115        return 0;
     116}
     117
     118size_t tw_read(SSL* ssl, int s, void* data, size_t len) {
     119        if(ssl == NULL) {
     120                return recv(s, data, len, 0);
     121        } else {
     122                return SSL_read(ssl, data, len);
     123        }
     124}
     125
     126size_t tw_write(SSL* ssl, int s, void* data, size_t len) {
     127        if(ssl == NULL) {
     128                return send(s, data, len, 0);
     129        } else {
     130                return SSL_write(ssl, data, len);
     131        }
    113132}
    114133
     
    140159                sslworks = true;
    141160        }
     161        struct tw_http_request req;
     162        int ret = tw_http_parse(s, sock, &req);
    142163cleanup:
    143         if(sslworks){
     164        if(sslworks) {
    144165                SSL_shutdown(s);
    145166        }
  • trunk/Server/ssl.c

    r12 r16  
    11/* $Id$ */
     2
     3#define SOURCE
    24
    35#include "tw_ssl.h"
  • trunk/Server/tw_server.h

    r9 r16  
    44#define __TW_SERVER_H__
    55
     6#include <openssl/ssl.h>
     7
    68int tw_server_init(void);
    79void tw_server_loop(void);
     10size_t tw_read(SSL* ssl, int s, void* data, size_t len);
     11size_t tw_write(SSL* ssl, int s, void* data, size_t len);
    812
    913#endif
  • trunk/Server/version.c

    r3 r16  
    11/* $Id$ */
     2
     3#define SOURCE
    24
    35#include "tw_version.h"
Note: See TracChangeset for help on using the changeset viewer.