]> git.sesse.net Git - betaftpd/blobdiff - cmds.c
ASCII mode is now displayed in STAT replies (it used to say Image all the time
[betaftpd] / cmds.c
diff --git a/cmds.c b/cmds.c
index 131df3403bf9bf32e6050da978da4e55dab1baf2..6c277af284ba815871f7e36dab8e4059af1b20f9 100644 (file)
--- a/cmds.c
+++ b/cmds.c
@@ -341,6 +341,10 @@ int cmd_pass(struct conn * const c)
        }
 #endif /* !WANT_NONROOT */
 
+       /* root should not be allowed to FTP */
+       if (c->uid == 0) {
+               c->auth = 0;
+       }
        if (c->auth == 0) {
                numeric(c, 530, "Login incorrect.");
        } else {
@@ -932,11 +936,19 @@ int cmd_stat(struct conn * const c)
                            "     BetaFTPD version " VERSION " (http://members.xoom.com/sneeze/betaftpd.html)\r\n"
                            "     Connected to %s\r\n"
                            "     Control connection state: %s\r\n"
+#if WANT_ASCII
+                           "     TYPE: %s; STRUcture: File; transfer MODE: Stream\r\n"
+#else
                            "     TYPE: Image; STRUcture: File; transfer MODE: Stream\r\n"
+#endif
                            "     Data connection state: %s\r\n"
                            "211 End of status\r\n",
                                inet_ntoa(((struct sockaddr_in *)(&(c->addr)))->sin_addr),
-                               conn_state[c->auth], (f) ? ftran_state[f->state] : ftran_state[0]);
+                               conn_state[c->auth],
+#if WANT_ASCII
+                               (c->ascii_mode == 1) ? "ASCII, FORM: Nonprint" : "Image",
+#endif
+                               (f) ? ftran_state[f->state] : ftran_state[0]);
 
        i = strlen(buf);