ref: f6ca02a2b05e03fb20cb3958c6f80dcc6e6092ee
parent: 2d06a930cc56ebbb4b6bdff969b3306a9a61c3c3
author: sirjofri <sirjofri@sirjofri.de>
date: Tue Apr 27 10:56:18 EDT 2021
fix: don't wait for \n, but \r instead (RFC)
--- a/fingerd.c
+++ b/fingerd.c
@@ -42,12 +42,12 @@
fd = open(file, OREAD);
if (fd < 0){
if (perr)
- print("File %s not Found.\n", file);
+ print("File %s not Found.\r\n", file);
return 0;
}
while ((n = read(fd, buf, BUFSIZ)) > 0)
if (write(1, buf, n) != n)
- print("Error writing data!\n");
+ print("Error writing data!\r\n");
close(fd);
return 1;
}
@@ -67,7 +67,7 @@
void
printuserinfo(char *user)
{
- print("%s\n", user);
+ print("%s\r\n", user);
}
void
@@ -78,15 +78,15 @@
int fd, n, i;
fd = open("/usr", OREAD);
if (fd < 0){
- print("Can't list users.\n");
+ print("Can't list users.\r\n");
return;
}
n = dirreadall(fd, &dirbuf);
close(fd);
if (n)
- print("User list:\n");
+ print("User list:\r\n");
else
- print("No users.\n");
+ print("No users.\r\n");
for (i = 0; i < n; i++){
path = smprint("/usr/%s/finger/finger", dirbuf[i].name);
if (vaccess(path)){
@@ -100,7 +100,7 @@
printnouser(char *user)
{
if (!cat(usernotfound, 0))
- print("User %s not found or private.\n", user);
+ print("User %s not found or private.\r\n", user);
}
void
@@ -107,7 +107,7 @@
printnofile(char *file)
{
if (!cat(usernotfound, 0))
- print("File %s not found.\n", file);
+ print("File %s not found.\r\n", file);
}
void
@@ -124,7 +124,7 @@
} ARGEND
bin = Bfdopen(0, OREAD);
- req = Brdline(bin, '\n');
+ req = Brdline(bin, '\r');
if (req == nil)
sysfatal("bad read: %r");
n = Blinelen(bin);
@@ -133,7 +133,7 @@
switch(n){
case 1: /* server request */
if (!cat(motd, 0))
- print("motd not found.\n");
+ print("motd not found.\r\n");
if (puserlist)
printuserlist();
break;