Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
243 changes: 163 additions & 80 deletions .cproject

Large diffs are not rendered by default.

79 changes: 79 additions & 0 deletions ERRORS.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
#include <stdio.h>
#include <string.h>
#include <time.h>
#include <math.h>
char* hashsum(char*)
{
}
char* KDC_ERR_C_PRINCIPAL_UNKNOWN_CHECK(char* Client, char* Principal)
{
if(!(strcmp(Client, Principal)))
return "KDC_ERR_C_PRINCIPAL_UNKNOWN";
else return "";
}
char* KDC_ERR_S_PRINCIPAL_UNKNOWN_CHECK(char* TGS_ID, char* Server)
{
if(!(strcmp(TGS_ID, Server)))
return "KDC_ERR_S_PRINCIPAL_UNKNOWN";
else return "";
}
char* KDC_ERR_PRINCIPAL_NOT_UNIQUE_CHECK(int Count)
{
if (Count > 1)
return "KDC_ERR_PRINCIPAL_NOT_UNIQUE";
else return "";
}
char* KDC_ERR_CANNOT_POSTDATE_CHECK(int time, int MAY_POSTDATE)
{
if ((time < 0) || (MAY_POSTDATE == 0))
return "KDC_ERR_CANNOT_POSTDATE";
else return "";
}
char* KRB_AP_ERR_TKT_EXPIRED_CHECK(time_t ticket_start, time_t ticket_end)
{
if (difftime(ticket_end,ticket_start) < 0.0)
return "KRB_AP_ERR_TKT_EXPIRED";
else return "";
}
char* KRB_AP_ERR_BAD_INTEGRITY_CHECK(char* field, char* hash)
{
if(!(hashsum(field) == hash))
return "KRB_AP_ERR_BAD_INTEGRITY";
else return "";
}
char* KRB_AP_ERR_TKT_NYV_CHECK(time_t server_time, time_t ticket_time, int TICKET_VALID, double TIME_SKEW)
{
if (((difftime(server_time, ticket_time) < 0.0) && difftime(server_time, ticket_time) > TIME_SKEW) || (TICKET_VALID == 1))
return "KRB_AP_ERR_TKT_NYV";
else return "";
}
char* KRB_AP_ERR_REPEAT_CHECK(int REQUEST_COUNT_SET, int REQUEST_COUNT_CURR)
{
if (REQUEST_COUNT_CURR > REQUEST_COUNT_SET)
return "KRB_AP_ERR_REPEAT";
else return "";
}
char* KRB_AP_ERR_SKEW_CHECK(time_t server_time, time_t client_time, double TIME_SKEW)
{
if(fabs(difftime(server_time, client_time)) > TIME_SKEW)
return "KRB_AP_ERR_SKEW";
else "";
}
char* KRB_AP_ERR_BADADDR_CHECK(char* IP_CURR, char* IP_SET)
{
if (!(IP_CURR == IP_SET))
return "KRB_AP_ERR_BADADDR";
else return "";
}
char* KRB_AP_ERR_BADVERSION_CHECK(char VERSION_CURR, char VERSION_SET)
{
if(!(VERSION_CURR == VERSION_SET))
return "KRB_AP_ERR_BADVERSION";
else return "";
}
char* KRB_AP_ERR_MSG_TYPE(char MSG_CURR, char MSG_SET)
{
if(!(MSG_CURR == MSG_SET))
return "KRB_AP_ERR_MSG_TYPE";
else return "";
}
9 changes: 0 additions & 9 deletions config.ini

This file was deleted.

33 changes: 0 additions & 33 deletions database/log.c

This file was deleted.

22 changes: 0 additions & 22 deletions database/log.h

This file was deleted.

93 changes: 0 additions & 93 deletions database/user_pass.c

This file was deleted.

16 changes: 0 additions & 16 deletions database/user_pass.h

This file was deleted.

23 changes: 16 additions & 7 deletions date.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,22 @@
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <string.h>
#include <time.h>
char* asd(const struct tm *timeptr);
void date(char *date_mas){
time_t rawtime;
struct tm * timeinfo;

time (&rawtime);
timeinfo = localtime (&rawtime);
strcpy(date_mas,asctime(timeinfo));
printf ("Current local time and date: %s", asctime(timeinfo));
struct tm * timeinfo;
time (&rawtime);
timeinfo = localtime (&rawtime);
strcpy(date_mas,asd(timeinfo));
}
char* asd(const struct tm *timeptr)
{
static const char mon_name[][4] = {
"Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
static char result[26];
sprintf(result, "%2d %.3s %d %.2d:%.2d:%.2d",timeptr->tm_mday,mon_name[timeptr->tm_mon],1900 + timeptr->tm_year, timeptr->tm_hour,
timeptr->tm_min, timeptr->tm_sec);
return result;
}
1 change: 0 additions & 1 deletion kerb.log

This file was deleted.

3 changes: 0 additions & 3 deletions name_pass.txt

This file was deleted.

16 changes: 2 additions & 14 deletions server.c
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
#include "query/request.h"
#include "parser/get_config_param.h"
#include "Encode/base64.h"
#include "database/log.h"
#include "database/user_pass.h"

#define PORT "3490" // порт, на который будут приходить соединения


Expand Down Expand Up @@ -31,32 +29,22 @@ int main(void)
int yes=1;
char s[INET6_ADDRSTRLEN];
int rv;
char en[250]="Hello USER";
char den[250];
char user_name[MAXDATASIZE];
char ID_TGS[MAXDATASIZE];
char date_time[MAXDATASIZE];
configuration conf;
get_config_param(&conf);

base64_encode((const BYTE *)en, (BYTE *)den, sizeof(en),1);
printf("Encode:%s\n",en);
base64_decode((const BYTE *)den ,(BYTE *)en, sizeof(den));
printf("Decode:%s",en);
while(1){
sdddd();
}

memset(&hints, 0, sizeof hints);
hints.ai_family = AF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
hints.ai_flags = AI_PASSIVE; // use my IP

if ((rv = getaddrinfo(NULL, PORT, &hints, &servinfo)) != 0) {
fprintf(stderr, "getaddrinfo: %s\n", gai_strerror(rv));
return 1;
}


// цикл через все результаты, чтобы забиндиться на первом возможном
for(p = servinfo; p != NULL; p = p->ai_next) {
if ((sockfd = socket(p->ai_family, p->ai_socktype,
Expand Down