diff options
| author | me_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac> | 2012-07-08 19:42:19 +0000 |
|---|---|---|
| committer | me_desk <me_desk@fb96df88-216d-11de-830c-f3023f12d8ac> | 2012-07-08 19:42:19 +0000 |
| commit | 502e5ea990ec8331e3919cb6c273e59123e62f1c (patch) | |
| tree | 3ad99b892414b7c5b2a7b574b48b39accdad7c71 /pica-registrar | |
| parent | 5f7db4a13df3a696729c805526a5511f9cccf38d (diff) | |
| download | pica-pica-502e5ea990ec8331e3919cb6c273e59123e62f1c.tar.gz pica-pica-502e5ea990ec8331e3919cb6c273e59123e62f1c.zip | |
automatic account registrar/sertificate signer, first version, quick and dirty
git-svn-id: svn://localhost/project_picapica/trunk@141 fb96df88-216d-11de-830c-f3023f12d8ac
Diffstat (limited to 'pica-registrar')
| -rw-r--r-- | pica-registrar/PICA_registrar.cpp | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/pica-registrar/PICA_registrar.cpp b/pica-registrar/PICA_registrar.cpp new file mode 100644 index 0000000..465c9de --- /dev/null +++ b/pica-registrar/PICA_registrar.cpp @@ -0,0 +1,67 @@ + + +#include <sys/types.h> +#include <sys/socket.h> +#include <netinet/in.h> +#include <arpa/inet.h> +#include <netdb.h> +#include <sys/select.h> +#include <sys/ioctl.h> +#include <unistd.h> +#include <sys/errno.h> + +#include <map> + +#define PICA_REGISTRAR_PORT 2299 +#define READ_BUF_SIZE 4096 +char read_buf[READ_BUF_SIZE]; + +int main(int argc, char *argv[]) +{ +int socket, client_socket, ret, pos, disconnect_flag; +struct sockaddr_in sd, sc; + + +socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); + +memset(&sd,0,sizeof(sd)); + +sd.sin_family = AF_INET; +sd.sin_addr.s_addr = INADDR_ANY; +sd.sin_port = htons(PICA_REGISTRAR_PORT); + +ret = bind(socket,(struct sockaddr*)&sd,sizeof(sd)); + +ret = listen(socket, 60); + +while (1) + { + memset(&sc, 0, sizeof(sc)); + + client_socket = accept(socket, (struct sockaddr*)&sc, sizeof(sc) ); + + if (client_socket >= 0) + { + pos = 0; + do + { + ret = recv(client_socket, read_buf + pos, READ_BUF_SIZE - pos, 0); + + if (ret > 0) + pos += ret; + else + { + disconnect_flag = 1; + if (ret < 0) + perror("recv"); + } + + } + while(); + } + + } + + +return 0; +}
\ No newline at end of file |
