From 2c0fed231a74ef027ba629f9dd18572f4ed6cd33 Mon Sep 17 00:00:00 2001
From: Neesergparajuli <neesergparajuli@this.com>
Date: Sat, 14 Apr 2018 17:49:19 +1000
Subject: [PATCH] Set it up so it displays IP, credit to beej's guide
 http://beej.us/guide/bgnet/

---
 server   | Bin 0 -> 9032 bytes
 server.c |  58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 58 insertions(+)
 create mode 100755 server
 create mode 100644 server.c

diff --git a/server b/server
new file mode 100755
index 0000000000000000000000000000000000000000..a588ded5d9cb376ad0abcfd88481af73387f827b
GIT binary patch
literal 9032
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
Cj-n9&

literal 0
HcmV?d00001

diff --git a/server.c b/server.c
new file mode 100644
index 0000000..7a00d33
--- /dev/null
+++ b/server.c
@@ -0,0 +1,58 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h> 
+#include <sys/socket.h>
+#include <arpa/inet.h>
+#include <netdb.h>
+#include <netinet/in.h>
+#include <unistd.h>
+
+int main(int argc, char *argv[]){
+	struct addrinfo info, *res, *p;
+	int status;
+	char ipstr[INET6_ADDRSTRLEN];
+
+	if (argc <2){
+		fprintf(stderr,"ERROR, no port provided\n");//to check if there is no port provided at start
+		exit(1);
+	}
+
+	memset(&info, 0, sizeof(info));
+	info.ai_family = AF_UNSPEC; ///sets it to IPv4
+	info.ai_socktype = SOCK_STREAM; //TCP connection stream oriented
+	info.ai_flags = AI_PASSIVE; //use my current IP adress
+
+	if((status =  getaddrinfo(NULL, argv[1], &info, &res) != 0)){
+		fprintf(stderr,"ERROR, no port provided\n");//to check if getaddrinfo gets any addrinfos
+		exit(1);
+	}
+
+	for (p = res; p!= NULL; p = p->ai_next)
+	{
+		void *addr;
+        char *ipver;
+
+
+        if (p->ai_family == AF_INET) { // IPv4
+            struct sockaddr_in *ipv4 = (struct sockaddr_in *)p->ai_addr;
+            addr = &(ipv4->sin_addr);
+            ipver = "IPv4";
+        } else { // IPv6
+            struct sockaddr_in6 *ipv6 = (struct sockaddr_in6 *)p->ai_addr;
+            addr = &(ipv6->sin6_addr);
+            ipver = "IPv6";
+        }
+
+        inet_ntop(p->ai_family, addr, ipstr, sizeof ipstr);
+        printf("  %s: %s\n", ipver, ipstr);
+	}
+
+
+	 freeaddrinfo(res);
+
+	 return 0;
+
+
+
+}
\ No newline at end of file
-- 
GitLab