Main  /  Edit  /  History  /   /  Users Area

Changelog for CppCMS 1.x.x

Version 1.2.1

Released: 2018-05-18

Security Bug Fixes:

Bugs Fixed:

Changes:

Special Thanks to Khaled Yakdan from code-intelligence.de for reporting this security issue

Version 1.2.0

Released: 2018-01-16

Now it is official stable version

Changes:

Version 1.1.1

Released: 2017-12-03

Version 1.1.0

Released: 2017-07-11

Major release, see What's new in CppCMS 1.2.0

Version 1.0.5

Released: 2014-10-30

Bug Fixes:

Minor Security Improvements:

Platform Support:

Version 1.0.4

Released: 2013-06-24

Critical Bugs:

Version 1.0.3

Released: 2013-01-04

Security Bugs:

Bugs:

Version 1.0.2

Released: 2012-08-14

Bugs:

Version 1.0.1

Released: 2012-03-14

Bugs:

Version 1.0.0

Released: 2012-02-26

Licensing:

Bugs:

Version 0.999.1

Released: 2012-02-17

Security Bug Fixes:

Breaking Changes:

The protocol between cppcms_scale and cppcms clients had changed, you can't use old cppcms_scale with newer versions of cppcms and vice versa.

The protocol now uses absolute 64 bit time-stamp rather then relative one.

New Features:

Bug Fixes:

Version 0.999.0

Released: 2012-01-18

Policy Changes:

New Features:

Version 0.99.11

Released: 2011-12-23

New Features:

Bugs:

Version 0.99.10.1

Released: 2011-10-19

It is a bug fix release that includes fixes for several critical bugs that could not wait for 0.99.11 version.

Critical Bugs:

Other bugs:

Version 0.99.10

Released: 2011-09-01

New Features:

Bugs:

Version 0.99.9

Released: 2011-08-10

New Features:

Breaking Changes:

Bugs:

Version 0.99.8

Released: 2011-07-11

New Features:

Bugs:

Version 0.99.7

Released: 2011-03-26

Security Bugs:

New Features:

Bugs:

Version 0.99.6

Released: 2011-01-13

Security Bugs:

Bugs:

Version 0.99.5

Released: 2011-01-01

New Features:

Bugs:

Version 0.99.4

Released: 2010-11-30

New Features:

Bug Fixes:

Version 0.99.3

Released: 2010-09-16

Security Bugs:

New Features:

Bugs:

Version 0.99.2

Released: 2010-08-04

New Features:

Bugs:

Version 0.99.1

Released: 2010-06-24


Supported Compilers and Platforms | Top | CppCMS versioning scheme

<h1>include <iostream></h1> <h1>include <string></h1> <h1>include <cstring></h1>

include <sys/socket.h>

include <netinet/in.h>

include <unistd.h>

int main() { int server_fd, client_fd; struct sockaddr_in address; int addrlen = sizeof(address);

// HTML content to be served
std::string html = 
    "HTTP/1.1 200 OK\r\n"
    "Content-Type: text/html\r\n\r\n"
    "<!DOCTYPE html>"
    "<html>"
    "<head><title>My C++ Web</title></head>"
    "<body><h1>Welcome to a Simple Web Page!</h1><p>This is served from C++.</p></body>"
    "</html>";

// Create socket
server_fd = socket(AF_INET, SOCK_STREAM, 0);
if (server_fd == 0) {
    perror("socket failed");
    exit(EXIT_FAILURE);
}

// Bind
address.sin_family = AF_INET;
address.sin_addr.s_addr = INADDR_ANY;
address.sin_port = htons(8080);

if (bind(server_fd, (struct sockaddr *)&address, sizeof(address)) < 0) {
    perror("bind failed");
    exit(EXIT_FAILURE);
}

// Listen
if (listen(server_fd, 3) < 0) {
    perror("listen");
    exit(EXIT_FAILURE);
}

std::cout << "Server is running on http://localhost:8080" << std::endl;

while (true) {
    // Accept client
    client_fd = accept(server_fd, (struct sockaddr *)&address, (socklen_t*)&addrlen);
    if (client_fd < 0) {
        perror("accept");
        exit(EXIT_FAILURE);
    }

    char buffer[3000] = {0};
    read(client_fd, buffer, 3000);  // Read client request

    std::cout << "Request:\n" << buffer << std::endl;

    // Send response
    send(client_fd, html.c_str(), html.size(), 0);
    close(client_fd); // Close connection
}

return 0;

}

<h1>include <iostream></h1> <h1>include <string></h1> <h1>include <cstring></h1>

include <sys/socket.h>

include <netinet/in.h>

include <unistd.h>

int main() { int server_fd, client_fd; struct sockaddr_in address; int addrlen = sizeof(address);

// HTML content to be served
std::string html = 
    "HTTP/1.1 200 OK\r\n"
    "Content-Type: text/html\r\n\r\n"
    "<!DOCTYPE html>"
    "<html>"
    "<head><title>My C++ Web</title></head>"
    "<body><h1>Welcome to a Simple Web Page!</h1><p>This is served from C++.</p></body>"
    "</html>";

// Create socket
server_fd = socket(AF_INET, SOCK_STREAM, 0);
if (server_fd == 0) {
    perror("socket failed");
    exit(EXIT_FAILURE);
}

// Bind
address.sin_family = AF_INET;
address.sin_addr.s_addr = INADDR_ANY;
address.sin_port = htons(8080);

if (bind(server_fd, (struct sockaddr *)&address, sizeof(address)) < 0) {
    perror("bind failed");
    exit(EXIT_FAILURE);
}

// Listen
if (listen(server_fd, 3) < 0) {
    perror("listen");
    exit(EXIT_FAILURE);
}

std::cout << "Server is running on http://localhost:8080" << std::endl;

while (true) {
    // Accept client
    client_fd = accept(server_fd, (struct sockaddr *)&address, (socklen_t*)&addrlen);
    if (client_fd < 0) {
        perror("accept");
        exit(EXIT_FAILURE);
    }

    char buffer[3000] = {0};
    read(client_fd, buffer, 3000);  // Read client request

    std::cout << "Request:\n" << buffer << std::endl;

    // Send response
    send(client_fd, html.c_str(), html.size(), 0);
    close(client_fd); // Close connection
}

return 0;

}


Navigation

Main Page



Valid CSS | Valid XHTML 1.0