5 Commits
Author SHA1 Message Date
legonzaur 5989e44468 hardcode ip and add quotes 2025-03-02 09:59:52 +01:00
legonzaur 5d8f263773 fix : lower max message length to fit with RFC865 2025-03-01 12:52:25 +01:00
legonzaur 3c770e4ea4 feat : unescape carriage returns on client 2025-03-01 12:46:56 +01:00
legonzaur db964493c2 chore: wip 2025-03-01 11:04:03 +01:00
legonzaur 43232b4317 wip client 2025-02-28 12:51:04 +01:00
4 changed files with 72 additions and 16 deletions
+1
View File
@@ -10,4 +10,5 @@ RUN make
FROM scratch FROM scratch
COPY --from=builder /opt/builder/build/qotd / COPY --from=builder /opt/builder/build/qotd /
COPY quotes.txt / COPY quotes.txt /
STOPSIGNAL SIGKILL
ENTRYPOINT ["/qotd"] ENTRYPOINT ["/qotd"]
+34 -13
View File
@@ -7,10 +7,34 @@
#include <sys/socket.h> #include <sys/socket.h>
#include <unistd.h> // read(), write(), close() #include <unistd.h> // read(), write(), close()
#include <errno.h> #include <errno.h>
#include <stdbool.h>
#include "config.h" #include "config.h"
#define MAX 80 void unescape(char *buffer, size_t buf_len)
#define PORT 17 {
#define SA struct sockaddr int i;
bool last_is_escape = false;
for (i = 0; i < buf_len; i++)
{
if (last_is_escape)
{
switch (buffer[i])
{
case 'n':
buffer[i - 1] = ' ';
buffer[i] = '\n';
}
}
if (buffer[i] == '\\')
{
last_is_escape = true;
}
else
{
last_is_escape = false;
}
}
}
int main() int main()
{ {
@@ -23,17 +47,15 @@ int main()
if (sockfd == -1) if (sockfd == -1)
{ {
printf("socket creation failed...\n"); printf("socket creation failed...\n");
exit(0); exit(1);
} }
else
printf("Socket successfully created..\n");
// assign IP, PORT // assign IP, PORT
servaddr4.sin_family = AF_INET; servaddr4.sin_family = AF_INET;
servaddr4.sin_addr.s_addr = inet_addr("127.0.0.1"); servaddr4.sin_addr.s_addr = inet_addr("45.81.62.108");
servaddr4.sin_port = htons(PORT); servaddr4.sin_port = htons(DEFAULT_LISTEN_PORT);
int status = connect(sockfd, (SA *)&servaddr4, sizeof servaddr4); int status = connect(sockfd, (struct sockaddr *)&servaddr4, sizeof servaddr4);
// connect the client socket to server socket // connect the client socket to server socket
if (status != 0) if (status != 0)
{ {
@@ -42,15 +64,14 @@ int main()
exit(0); exit(0);
} }
else
printf("connected to the server..\n");
struct sockaddr *servaddr = (SA *)&servaddr4; struct sockaddr *servaddr = (struct sockaddr *)&servaddr4;
unsigned int ss = sizeof servaddr; unsigned int ss = sizeof servaddr;
// function for chat // function for chat
char clientMessage[MESSAGE_STRING_LENGTH] = {0}; char clientMessage[MESSAGE_STRING_LENGTH] = {0};
recvfrom(sockfd, clientMessage, MESSAGE_STRING_LENGTH, 0, servaddr, &ss); recvfrom(sockfd, clientMessage, MESSAGE_STRING_LENGTH, 0, servaddr, &ss);
printf("From Server : %s", clientMessage); unescape(clientMessage, (size_t)MESSAGE_STRING_LENGTH);
puts(clientMessage);
// close the socket // close the socket
close(sockfd); close(sockfd);
+35 -1
View File
@@ -1 +1,35 @@
première ligne \n Deuxième ligne @dodge9395 imagine, tu sors avec un marionnettiste-\n@berkut.2000 MAIS JOUE J'EN AI RIEN À FOUTRE
@xanatonaka Si y'a un second au tour aux présidentielles entre Erika Furudo et Adolf Hitler, je vote Adolf Hitler.
@xanatonaka je pensais qu'il voulait dire les bougnoules
@dodge9395 mon gros zizi\n@lea.mfao oh wow !
@dodge9395 suce ma bite dédé\n@lea.mfao oh wow !
@legonzaur le sexe, c'est un metroidvania?
@xanatonaka Je suis Xana Lennon, HAHA
@xanatonaka bègue c'est le b de LGBT
@lea.mfao Pourquoi tu voudrais te foutre en l'air alors que tu pourrais me foutre en l'air
@lea.mfao LA PETASSE C'EST MOI
@lea.mfao Cette action jme fais enculer, j'aime bien
@dodge9395 Pourquoi la recherche? Parce que la haine
@pixelboum Zoo zan sen
@berkut.2000 Faut arrêter de respirer à un moment
@oshiida Mange putain de bites
@pixelboum Toutes les sorcières sont lesbiennes
@legonzaur Un taboulé chaud
@fhuris les boonas sont vanilla
@oshiida de spoèces à ours qui parlent
@fhuris parce que je suis un bandeur de boules
@dodge9395 une game sans pix interdit à tous les pix surtout Pixelboum du serveur discord Let me Lulu, celui qui s'appelle Baptiste Dusart et qui a étudié à 2600 (autres baptiste bienvenue)\nnon à baptiste
@smolyuli Défonce moi mais c'est pas moi!
@lea.mfao C'est pas ma faute si je suis raciste
@usaminolulu Passons à la phase douche!
@dodge9395 Jambon pourquoi tu es un perso de Baki
@lea.mfao Typique Pix qui balance son sexe partout
@berkut.2000 Tu te champignon
@lea.mfao Pov : je me matraque le dé pendant le date
@lea.mfao j'aimerais beaucoup avoir mion/shion à mon q
@legonzaur moi quand\nQuand je veux bang un aspirateur
@pixelboum Le sexe mais avec un coil head
@berkut.2000 Non je vais me pisser dessus sinon
@legonzaur On rajoute la saucise?
@fhuris Finalement, pourquoi checker quand on peut voler ailleurs
https://discord.com/channels/755837083742109797/821436483349119006/1269242508819431547
+2 -2
View File
@@ -6,7 +6,7 @@
#define QOTD_CONFIG_H #define QOTD_CONFIG_H
#define QUOTES_FILE "./quotes.txt" #define QUOTES_FILE "./quotes.txt"
#define MESSAGE_STRING_LENGTH 2048 #define MESSAGE_STRING_LENGTH 512
#define DEFAULT_LISTEN_PORT 17 // should be 17 to be RFC compliant #define DEFAULT_LISTEN_PORT 17 // should be 17 to be RFC compliant
#endif //QOTD_CONFIG_H #endif // QOTD_CONFIG_H