diff --git a/CHANGES.3 b/CHANGES.3
index 3e89b96..e2b9e5f 100644
--- a/CHANGES.3
+++ b/CHANGES.3
@@ -393,6 +393,48 @@ Changed a call that was in axdigi.c which had a lib call hardcoded and could
 break compiles under different archs. Patch supplied by Helmut Grohne, thanks
 to KI6ZHD for relaying the mail that included the patch.
 
+03/03/2020 v2.11
+Changed node.h to reflect current version.
+
+Note: The system has been behaving as best as it can be expected considering
+it's a front-end to the linux protocol stacks. As long as there can be an
+ax# or sp# interface, it can attach to it and work the protocol(s) the user
+wishes to use. There's still the 2-line patch that the kernel maintainers 
+need to add to ax25.ko so that netrom will continue to properly function
+however that's not the issue of URONode, it's the kernel ax25 module.
+
+Made a couple of changes in gateway.c where the color schema wasn't properly
+resetting the netrom prompt only in regards to aborting ping or a connect
+request. This is now fixed.
+
+Made changes in system.c where it wasn't displaying the user being on IPv6
+properly. While at it, I changed how it handles the user when they're on
+IPv4 in the lastlog and loggedin databases.
+
+Changed user.c to reflect incoming session is via IPv6 which also fixes the
+output of nodeusers so that instead of displaying ??????? it now shows that
+Telnet6 is being used as the incoming protocol. This one was really getting
+under my skin. Now I can rest in peace (as per QST 2/2020 haha!)
+
+28/03/2020 v2.12
+Edited node.h to reflect new version.
+
+ADDED documentation! I wrote docs in both .txt and .doc format. Choose your
+poison hihi! Unless you're a new sysop, I'm sure these are a waste of time
+for you to read.
+
+Modified the do_sessions command so that a plain S now shows SEssions and
+ST is the minimum required now for do_status. This also cleans up the
+commandset so it's more alphabetical.
+
+I also modified do_status so that it now may require an argument to show
+the full screen worth of system status otherwise by default it will only
+show very basic stats of version/date/hostname/uptime and now requires 
+"ST" to be called. Calling "ST L" will show the long (original) status 
+screens. I did this after noticing some other node softwares go to the 
+extreme in showing stats that most end users would never understand nor 
+even care about. This also saves a lot of bandwidth!
+
 ----------- Note on SystemD --------
 In uronode.socket, you'll notice the line:
 ListenStream=0.0.0.0:3694
@@ -436,7 +478,7 @@ ftp://ftp.n1uro.net/packet and https://uronode.sourceforge.net. You may
 also find URONode in your distro's repositories. <dnf/yum or apt-cache> 
 search uronode
 
-Join our support mail list graciously donated by TAPR! 
-http://www.tapr.org/mailman/listinfo/uronode
+Join our support mail list:
+https://uronode.n1uro.com/list/
 
 73 de Brian N1URO
diff --git a/axdigi.c b/axdigi.c
index 06ecb2f..2f3dbe6 100644
--- a/axdigi.c
+++ b/axdigi.c
@@ -21,7 +21,7 @@
  *        12th June 1997.
  */
 
-#include <net/if.h>
+#include </usr/include/net/if.h>
 #include <linux/if_ether.h>
 #include <netinet/in.h>
 #include <sys/ioctl.h>
diff --git a/command.c b/command.c
index c6b18f9..7d5c4be 100644
--- a/command.c
+++ b/command.c
@@ -39,7 +39,7 @@ void init_nodecmds(void)
   add_internal_cmd(&Nodecmds, "Help",     1, do_help);
   add_internal_cmd(&Nodecmds, "Info",     1, do_help);
   add_internal_cmd(&Nodecmds, "Quit",     1, do_bye);
-  add_internal_cmd(&Nodecmds, "Status",   1, do_status);
+  add_internal_cmd(&Nodecmds, "STatus",   2, do_status);
   add_internal_cmd(&Nodecmds, "Version",  1, do_version);
 #ifdef HAVEMOTD
   add_internal_cmd(&Nodecmds, "Who",      1, do_last);
@@ -49,7 +49,7 @@ void init_nodecmds(void)
   add_internal_cmd(&Nodecmds, "Connect",  1, do_connect);
   add_internal_cmd(&Nodecmds, "Links",    1, do_links);
   add_internal_cmd(&Nodecmds, "INTerfaces",    3, do_ports);
-  add_internal_cmd(&Nodecmds, "SEssions", 2, do_sessions);
+  add_internal_cmd(&Nodecmds, "Sessions", 1, do_sessions);
   add_internal_cmd(&Nodecmds, "Users",    1, nuser_list);
 #ifdef HAVE_FLEX
   add_internal_cmd(&Nodecmds, "Desti",    1, do_dest);
@@ -77,6 +77,10 @@ void init_nodecmds(void)
 
 void node_prompt(const char *fmt, ...)
 {
+
+  if ((User.ul_type == AF_NETROM) && (check_perms(PERM_ANSI, 0L) != -1)) {
+    axio_printf(NodeIo,"\e[0m");
+  }
   if (User.ul_type == AF_NETROM) {
     axio_printf(NodeIo,"%s} ", NodeId);
   }
@@ -765,7 +769,8 @@ int do_nodes(int argc, char **argv)
 /*
  * by Heikki Hannikainen <hessu@pspt.fi> 
  * The following was mostly learnt from the procps package and the
- * gnu sh-utils (mainly uname).
+ * gnu sh-utils (mainly uname). Addition of argument switches added
+ * by N1URO.
  */
 int do_status(int argc, char **argv)
 {
@@ -788,21 +793,59 @@ int do_status(int argc, char **argv)
   int na, nl, nd;
 #endif
   int ma, mu, mf, sa, su, sf;
+/* "Status" */
+  if (argc == 1) {
   if (User.ul_type == AF_NETROM) {
     axio_printf(NodeIo,"%s} ", NodeId);
   }
   if (check_perms(PERM_ANSI, 0L) != -1) {
     axio_printf(NodeIo, "\e[01;37m");
   }
-  node_msg("Status:");
+  node_msg("Status report:");
   if (check_perms(PERM_ANSI, 0L) != -1) {
     axio_printf(NodeIo, "\e[0;m");
   }
   time(&t);
+  axio_printf(NodeIo,"Version:           %s\n", VERSION);
   axio_printf(NodeIo,"System time:       %s", ctime(&t));
   if (uname(&name) == -1) axio_printf(NodeIo,"Cannot get system name\n");
   else {
     axio_printf(NodeIo,"Hostname:          %s\n", HostName);  
+//    axio_printf(NodeIo,"Operating system:  %s %s (%s)\n", name.sysname, name.release, name.machine);
+  }
+  /* read and calculate the amount of uptime and format it nicely */
+  uptime(&uptime_secs, &idle_secs);
+  updays = (int) uptime_secs / (60*60*24);
+  upminutes = (int) uptime_secs / 60;
+  uphours = upminutes / 60;
+  uphours = uphours % 24;
+  upminutes = upminutes % 60;
+  axio_printf(NodeIo,"Uptime:            ");
+  if (updays) axio_printf(NodeIo,"%d day%s, ", updays, (updays != 1) ? "s" : "");
+  if(uphours) axio_printf(NodeIo,"%d hour%s ", uphours, (uphours != 1) ? "s" : "");
+  axio_printf(NodeIo,"%d minute%s\n", upminutes, (upminutes != 1) ? "s" : "");
+  loadavg(&av[0], &av[1], &av[2]);
+//    }
+  return 0;  
+}
+/* "Status L" */
+  if (argc == 2) {
+  if (User.ul_type == AF_NETROM) {
+    axio_printf(NodeIo,"%s} ", NodeId);
+  }
+  if (check_perms(PERM_ANSI, 0L) != -1) {
+    axio_printf(NodeIo, "\e[01;37m");
+  }
+  node_msg("Full Status report:");
+  if (check_perms(PERM_ANSI, 0L) != -1) {
+    axio_printf(NodeIo, "\e[0;m");
+  }
+  time(&t);
+  axio_printf(NodeIo,"Version:           %s\n", VERSION);
+  axio_printf(NodeIo,"System time:       %s", ctime(&t));
+  if (uname(&name) == -1) axio_printf(NodeIo,"Cannot get system name\n");
+  else {
+    axio_printf(NodeIo,"Hostname:          %s\n", HostName);
     axio_printf(NodeIo,"Operating system:  %s %s (%s)\n", name.sysname, name.release, name.machine);
   }
   /* read and calculate the amount of uptime and format it nicely */
@@ -817,9 +860,10 @@ int do_status(int argc, char **argv)
   if(uphours) axio_printf(NodeIo,"%d hour%s ", uphours, (uphours != 1) ? "s" : "");
   axio_printf(NodeIo,"%d minute%s\n", upminutes, (upminutes != 1) ? "s" : "");
   loadavg(&av[0], &av[1], &av[2]);
+
   axio_printf(NodeIo,"Load average:      %.2f, %.2f, %.2f\n", av[0], av[1], av[2]);
   axio_printf(NodeIo,"Users:             %d node, %d system\n", user_count(), system_user_count());
-
+  
 //  if (!(mem = meminfo()) || meminfo("memtotal") == 0) {
     /* cannot normalize mem usage */
 //    axio_printf(NodeIo,"Cannot get memory information!\n"); 
@@ -841,8 +885,7 @@ int do_status(int argc, char **argv)
     } 
     else 
     axio_printf(NodeIo,"Cannot get swap information or swap not active!\n"); 
-      axio_printf(NodeIo," ");
-    
+      axio_printf(NodeIo," ");    
   }
 
 #ifdef HAVE_AX25
@@ -898,6 +941,7 @@ int do_status(int argc, char **argv)
 #endif
   if (User.ul_type == AF_NETROM) {
     node_msg("");
+    }
   }
   return 0;
 }
@@ -931,6 +975,7 @@ int do_version(int argc, char **argv)
   }
   return 0;
 }
+
 int nuser_list(int argc, char **argv)
 {
   FILE *f;
diff --git a/docs/README b/docs/README
new file mode 100644
index 0000000..7836984
--- /dev/null
+++ b/docs/README
@@ -0,0 +1 @@
+URONode documentation in both ascii text and word-97 .doc format.
diff --git a/docs/URONode.doc b/docs/URONode.doc
new file mode 100644
index 0000000..d8f25a0
Binary files /dev/null and b/docs/URONode.doc differ
diff --git a/docs/URONode.txt b/docs/URONode.txt
new file mode 100644
index 0000000..c6713cc
--- /dev/null
+++ b/docs/URONode.txt
@@ -0,0 +1,244 @@
+Documentation for URONode program
+dated  28/03/2020
+
+Contents:
+
+	I   - Introduction
+	II  - What it is
+	III - Generic commands
+	IV  - Extra commands
+	V   - Where to get it
+        VI  - Where to get support
+	VII - Acknowledgements
+
+Introduction:
+
+I decided to make URONode primarily for my own use and purposes but those who
+came to login my node enjoyed it's functionality so much that they would want
+a copy of their own so I decided around the year 2000 to release it. At the
+time I was also helping K2MF with MFNOS and wanted something a bit similar
+in functionality with xNOS that would also keep true to form with the basics
+of the linux-nodes (and variants). Since the original code, there's been many
+changes and additions. Around 2015 it became a standard node in Debian and
+Red Hat repositories having proven itself as a sturdy node for native linux.
+
+I took the best of all the linux based nodes, put them all together into one
+and made many changes including adding a color schema if a user desires full
+ansi colors to their screens. The prompt systems are also unique in nature
+as depending on how the user connects IN to a URONode system is the style of
+prompt they get returned to them. No other node system allows for such a 
+thing. The advantage is that under no circumstance if a user (or bbs for that
+matter) connects via NetRom, never ever will a CTEXT or MOTD text get pushed
+out which can disrupt a BBS session. The same goes for any sort of DTEXT 
+under a NetRom session.
+
+All your configuration file manuals are online at a shell prompt. Just
+type: man <filename> to view the online help. Ex: man uronode.conf to
+read up on the main uronode configuration file or man flexd.conf to see how
+to add flexnet routing into your node. If by chance you do find a man page
+missing feel free to let me know.
+
+There's some what I call helper apps included for you such as axDigi and
+FlexD for example.  AxDigi is a true cross-interface digipeater. There's NO
+configuration you need to do for axDigi at all. It will auto-sense your ax.25
+interfaces and simply listen for requests to digi in from one and out the
+other interface. For more information on this, type "man axdigi".
+
+
+What URONode is:
+
+What many people get extremely confused about it is the fact it's not a
+daemon - it's a shell.  Like with bash/dash/sh/etc, it doesn't stay in
+memory. You'll only see it listed in your process list if someone is
+connected to you and it's been commanded to spawn so it doesn't hog up
+any system resources when it's not needed unlike other systems that do.
+It's also much smaller than bash, and with all features compiled into
+URONode it's still under 500K in size. This makes it a smart choice to
+use as it's not sitting there using CPU for nothing, which makes the CPU
+run cooler thus improving it's lifespan.
+
+It also locks the connected user to the command-set either within the
+shell itself or any external commands the sysop may allow for, so
+there's no file manipulation available, or system info available to
+"steal" such as user account information. It also never overrides a
+human command like some other systems may do. for an example, 
+c <int> <callsign-ssid> won't force a user to use an internet gated
+route to the remote end, but will follow the human instruction to use
+the RF interface as commanded. If a user wishes to stay RF they may do
+so and not be forced on wired internet because the systems sees it's a
+quicker path.
+
+For those who still believe IP is a wire link only and not a protocol,
+if you wish not to use it, say NO during the configuration to TCP/IP.
+Same with ROSE, NetRom, FlexNet, etc. when you compile it if you compile
+your own. I believe when it's packaged by the various distributions all
+options are flagged on (which would make sense).
+
+All protocol routing is handled by the kernel and various tools. Like
+with bash, it doesn't provide any routing whatsoever. All routing for
+all protocols is handled internally within the linux kernel. The same
+for firewalling. By not introducing a "middle man" or trying to
+re-invent the wheel by using the native protocol stacks within linux
+itself, URONode is a much faster system.
+
+For those who aren't that linux savvy, I've made 2 versions of an install
+script for URONode, axMail-FAX (an SMTP plugin module for the node), and
+a library installer to get you ready for LinFBB if you so choose to run a
+BBS with your node. This gives you the opportunity to be fully messaging
+compliant. One version of the install system is for sysvinit, the other
+for systemd. It also will install ampr-ripd routing daemon if you're looking
+to run as an internet gateway, along with an axip and an axudp interface along
+with what I consider to be a master control file I call ax25 and is located in
+/usr/local/bin/. All your amateur services can be controlled from this one
+file quite easily.
+
+
+Generic node commands:
+
+Online help is available for all native compiled commands. The user simply
+does: help <commandname-in-full> to see the online help. If a sysop wishes
+to add more commands to their node they should follow the format of the
+online help files (located in /path/to/node/help) to keep consistent with
+the online help system. Every node may be configured with different commands
+as sysops often may develop their own tools/apps for their set of users.
+
+A brief description of compiled-in commands would be:
+announcements - local news/announcements to share.
+bye/exit (ipv4/ipv6 only)/quit - leave the node.
+connect - gateway out to another system/node.
+desti - bring up a list of flexnet destinations if applicable.
+escape - This can change/display/disable your escape character. Defaults to 
+         ctrl-T
+finger - finger information from the local or a remote host.
+host - look up an IP or Hostname in dns.
+info - read the uronode.info file and display it to the end user.
+jheard - the most recent 20 just heard stations
+jlong - a long list of stations heard. This may be quite long.
+links - connectable nodes hard coded into the uronode.routes file.
+msg - an "instant message" utility build into the node to talk to another user.
+nodes - display a listing of NetRom based nodes.
+ping -  an ICMP ping utility to see how fast a path to a remote is.
+ports - a display of the ax.25 interfaces available on the node.
+routes - a display of direct neighbor NetRom links.
+status - a display of some of the hosts statistics including uptime.
+telnet - a means to use tcp/ip to gateway out to a remote site.
+users - who's online at the moment.
+version - display information about the node's version.
+who - information about a node's users or a specific user.
+
+This command set is automatically compiled into URONode for you based on the
+options you choose at pre-compilation time with the configure command.
+
+
+Extra commands:
+
+URONode supports execution of external commands from it's own shell such as
+the axMail-FAX plugin. Some standard shell commands such as "netstat" are
+preconfigured for you so that you may easily see how to duplicate adding a
+custom command for your system. Typically these are commanded by executing
+bash scripts.
+
+The ideas of added commands you may choose are endless in nature! I have the
+old Z-80 based game Zork available on my node for example.  I also run an
+Ambient Weather station to which users may pull real-time weather information
+from via my URONode that calls Lynx (text based browser) and other formulas
+to gather real-time statistics on my local weather.
+
+I do provide a bunch of add-ons both on my FTP server and on SourceForge for
+those who wish to add even more functionality to their node(s). An example
+of one very useful one is NodeSearch where a user may enter a string either
+by alias or by callsign to find a NetRom node. An example of searching for
+either type of string:
+n1uro-15@n1uro.ampr.org:/uronode6: ns
+Executing command...
+Which node are you looking for (no * please): n9
+Searching NetRom nodes for N9 ...
+BBSLYA:N9LYA-4    IN105:N9LYA-7     INNOS:N9LYA-5
+NodeSearch v2.2 by N1URO for URONode.
+Goodbye.
+End of command.
+n1uro-15@n1uro.ampr.org:/uronode6: ns
+Executing command...
+Which node are you looking for (no * please): in
+Searching NetRom nodes for IN ...
+DZINOD:SV1DZI-11  DZINOS:SV1DZI-12  IN105:N9LYA-7     INNOS:N9LYA-5
+NodeSearch v2.2 by N1URO for URONode.
+Goodbye.
+End of command.
+
+Bob Tenty has written a parallel for flexnet destis:
+n1uro-15@n1uro.ampr.org:/uronode6: ds
+Executing command...
+Enter the first character or more of a flexnet digi callsign: k1y
+Searching Flexnet Digi nodes for K1Y ...
+K1YON    1-1    K1YON    2-14
+
+Flexnet DigiSearch by VE3TOK for URONode.
+Adaptation of NodeSearch v1.7 by N1URO.
+Goodbye.
+End of command.
+
+While URONode handles HF just fine such as on Net105, some guys seem to live
+by the game of "he with the most nodes listing on their node wins", a listing
+of more than 80 nodes may time out a guest connecting into you via HF thus
+NOT making them feel welcome. Having easy to use search utilities for example
+will make their stay with you pleasant and easier to use than some other
+systems.
+
+
+Where to get it:
+
+Latest release of URONode and various plug-ins may be downloaded from one of 
+two below sites:
+	ftp://ftp.n1uro.net/pub/hamradio/packet/
+	https://sourceforge.net/projects/uronode/
+
+It's always best to wait until you see a new version with .tgz or .tar.gz
+appended so you know the code has been tested to be as bug-free as possible
+or else you're on your own. 
+
+
+Where to get support:
+
+I run an email list server which you may subscribe to by visiting the official
+URONode website at https://uronode.n1uro.com/ just look for the link.
+
+
+Acknowledgements:
+
+I'd like to acknowledge the following people and groups for their various
+contributions and support of the project:
+
+Marius Petrescu - code contributor and member of the URONode development
+                  team
+
+Bob Tenty - code contributor and member of the URONode development team
+
+Paul Lewis - supplied many great ideas for URONode
+
+Tomasz Stankiewicz - supplied many great ideas for URONode
+
+Barry Siegfried - supplied code for URONode
+
+Dave Hibbard - Debian contact
+
+Jaroslav Skarvada - Red Hat contact and code contributor
+
+Craig Small - originated axDigi
+
+Tomi Manninen - original (linux) node creator
+
+Alan Cox - early linux ax.25 developer
+
+Roy Van Zundert - FlexNode developer
+
+Stefano Noferi - AWZNode developer
+
+TAPR - very supportive of URONode
+
+... and the many others involved as sysops and developers of the ax.25 and
+tcp/ip stacks for linux.
+
+URONode comes with absolutely NO WARRANTEE whatsoever. Use at your own risk.
+There are no fees to use this software and unlike others we will never "beg"
+for donations either. Thanks for your support by using URONode.
diff --git a/etc/help/status.hlp b/etc/help/status.hlp
index 44c18c7..664005c 100644
--- a/etc/help/status.hlp
+++ b/etc/help/status.hlp
@@ -1,12 +1,17 @@
 
 USAGE
-        STatus
+        STatus [<l>ong]
 
 DESCRIPTION
         Returns information about the status of the Linux system which this 
         URONode runs on. All information is taken directly from the 
         operating system.
 
+	By itself STatus will show 4 lines of basic status of the system:
+        Version, System time, Hostname, and Uptime. When followed with a
+        Long or L it will give you more detailed information about the
+	host.
+
         The "load average" values indicate the average amount of processes
         waiting for processor time during the last 1, 5 and 15 minutes.
         Load average of 1.0 would mean that the all of the processor time is
diff --git a/gateway.c b/gateway.c
index e480b8f..7b2dd3b 100644
--- a/gateway.c
+++ b/gateway.c
@@ -266,7 +266,12 @@ static ax25io *connect_to(char **addr, int family, int escape, int compr)
       if (check_perms(PERM_ANSI, 0L) != -1) {
 	axio_printf(NodeIo, "\e[01;33m");
       }
+      if (check_perms(PERM_ANSI, 0L) == -1) {
       axio_printf(NodeIo,"link setup (%s)...", User.dl_port);
+      }
+      if (check_perms(PERM_ANSI, 0L) != -1) {
+      axio_printf(NodeIo,"link setup (%s)...\e[0;m", User.dl_port);
+      }
     }
     /*    else node_msg("Trying %s on %s... Type <RETURN> to abort", User.dl_name, User.dl_port); */
     break;
@@ -795,7 +800,7 @@ int do_connect(int argc, char **argv)
     if (check_perms(PERM_ANSI, 0L) != -1) {
       axio_printf(NodeIo,"\e[01;31m");
     }
-    axio_printf(NodeIo,"Returning you to the shell...");
+    axio_printf(NodeIo, "Returning you to the shell...");
   } else
       if ((User.ul_type == AF_AX25) && (!stay)) {
   axio_flush(NodeIo);
@@ -1146,17 +1151,17 @@ int do_ping(int argc, char **argv)
         if (User.ul_type ==  AF_NETROM){
 	  axio_printf(NodeIo,"%s} ", NodeId);
 	}
-	if (User.ul_type == AF_INET) {
+//	if (User.ul_type == AF_INET) {
 	  if (check_perms(PERM_ANSI, 0L) != -1) {
 	    axio_printf(NodeIo, "\e[05;31m");
-	  }
+//	  }
 	}
 	axio_printf(NodeIo,"Ping aborted.");
-	if (User.ul_type == AF_INET) {
+//	if (User.ul_type == AF_INET) {
 	  if (check_perms(PERM_ANSI, 0L) != -1) {
 	    axio_printf(NodeIo, "\e[0;m");
 	  }
-	}
+//	}
 	if (User.ul_type == AF_NETROM) {
 	  node_msg("");
 	}
diff --git a/node.h b/node.h
index fa9dfe5..af7f581 100644
--- a/node.h
+++ b/node.h
@@ -1,5 +1,5 @@
-#define VERSION                "URONode v2.10"
-#define COMPILING	       "December, 2018"
+#define VERSION                "URONode v2.12"
+#define COMPILING	       "30 June, 2020"
 
 #define STATE_IDLE	0
 #define STATE_TRYING	1
diff --git a/system.c b/system.c
index f1079d5..2e69ef4 100644
--- a/system.c
+++ b/system.c
@@ -458,6 +458,7 @@ void lastlog(void)
   int UserId=0;
   char tty[LAST_DATA_SIZE];
   char hostname[LAST_DATA_SIZE];
+  char hostname6[LAST_DATA_SIZE];
   char usercall[10];
   char *cp;
   int escape;
@@ -494,7 +495,13 @@ void lastlog(void)
     }
     break;
 #endif    
-  case AF_INET:   strcpy(hostname, User.ul_name);
+  case AF_INET:   strcpy(hostname, User.call);
+	strcat(hostname, " on IPv4 ");
+	strcat(hostname, User.ul_name);
+    break;
+  case AF_INET6:  strcpy(hostname6, User.ul_name);
+	strcat(hostname, User.call);
+        strcat(hostname, " on IPv6");
     break;
   case AF_UNSPEC: strcpy(hostname, User.call);
     strcat(hostname, " on local");
diff --git a/systemd/uronode.service b/systemd/uronode.service
deleted file mode 100644
index b380c87..0000000
--- a/systemd/uronode.service
+++ /dev/null
@@ -1,17 +0,0 @@
-[Unit]
-Description = URONode Server
-Requires = uronode.socket
-After=syslog.target network.target
-
-[Service]
-Type=oneshot
-ExecStartPre=systemctl start uronode.socket
-ExecStart=/usr/local/sbin/uronode
-ExecStartPost=systemctl restart uronode.socket
-StandardInput=socket
-Sockets=uronode.socket
-
-[Install]
-Also = uronode.socket
-WantedBy = multi-user.target
-WantedBy = network.target
diff --git a/user.c b/user.c
index 2b1fb44..c0f2b26 100644
--- a/user.c
+++ b/user.c
@@ -185,6 +185,9 @@ int user_list(int argc, char **argv)
       sprintf(buf, "\nTelnet (%.9s @ %.16s)",
 	      u.call, u.ul_name);
       break;
+    case AF_INET6:
+	sprintf(buf, "\nTelnet6 (%.9s via IPv6)", u.call);
+      break;
     case AF_UNSPEC:
       sprintf(buf, "\nHost (%.9s on local)",
 	      u.call);