Патч для нормального list в anon-ftpd (ftp patch)
Ключевые слова: ftp, patch, (найти похожие документы)
- BEST_PEOPLE (2:5077/15.22) -------------------------- BEST_PEOPLE (RU.UNIX) -
From : Alex Korchmar 2:5020/423.65 19 Mar 00 23:03:04
Subj : Патч для нормального list в anon-ftpd
-------------------------------------------------------------------------------
* Forwarded from area 'RU.UNIX'
Hi Solar!
At Mon, 13 Mar 00 06:08:41 +0300 Solar Designer <[email protected]>
wrote:
>> "+i2055.212248,m952858855,r,s13, test"
SD> Которую, кстати, свежие версии бровсеров понимать начали (DJB перечислял
SD> в comp.security.unix).
ну, один из них мазилла (смешнее было бы только если бы он прислал им
свою библиотечку, а они его послали ;)
SD> 1. Обычный листинг.
это я выдрал, а остальное нет (мне оно не надо, а копаться в djb'евом
хламе неохота - он там все переделал нафиг, поэтому "само" не получится -
те, к кому ходят из-за файрволлов, боритесь сами)
Hате, для publicfile 0.52:
==========
- --- fetch.c.orig Tue Nov 9 10:23:46 1999
+++ fetch.c Sun Mar 19 22:31:26 2000
@@ -60,6 +60,34 @@
substdio_puts(&ss,",\t");
}
+static void printls()
+{
+ umode_t mode;
+ int dir, reg;
+ char ftime[32];
+ char string[80];
+
+mode = st.st_mode;
+dir = (mode & S_IFMT) == S_IFDIR;
+reg = (mode & S_IFMT) == S_IFREG;
+
+strftime(ftime, sizeof(ftime),
+ time(NULL) - st.st_mtime < 6 * 30 * 86400 ? "%b %d %H:%M" : "%b %d %Y",
+ localtime(&st.st_mtime));
+
+snprintf(string, 79, "%c%s %3u %-8s %-8s %8lu %s ",
+ dir ? 'd' : '-',
+/* (st.st_uid != owner.pw_uid || !(mode & 0500)) ? "---------" :*/
+ (dir && (mode & 0100) ? ((mode & 0400) ? "r-xr-xr-x" : "--x--x--x") :
+ (reg && (mode & 0400) ? "r--r--r--" : "---------")),
+ reg ? 1 : st.st_nlink,
+ "ftp",
+ "ftp",
+ st.st_size,
+ ftime);
+substdio_puts(&ss, string);
+}
+
static void list(char *fn,int flaglong)
{
int i;
@@ -75,7 +103,8 @@
if (error_temp(errno)) _exit(23);
return;
}
- printstat(&st);
+/* printstat(&st); */
+printls();
}
substdio_puts(&ss,fn);
- --- ftpd.c.orig Tue Nov 9 10:23:46 1999
+++ ftpd.c Sun Mar 19 22:40:19 2000
@@ -142,7 +142,7 @@
startlistening(x);
- out_puts("227 =");
+ out_puts("227 (");
out_put(strnum,fmt_ulong(strnum,(unsigned long) x[0]));
out_puts(",");
out_put(strnum,fmt_ulong(strnum,(unsigned long) x[1]));
@@ -154,7 +154,7 @@
out_put(strnum,fmt_ulong(strnum,(unsigned long) x[4]));
out_puts(",");
out_put(strnum,fmt_ulong(strnum,(unsigned long) x[5]));
- out_puts("\r\n");
+ out_puts(")\r\n");
}
int portparse(char *arg,unsigned char x[6])
==========
> Alex
--- ifmail v.2.14.os-p7
* Origin: Down System -2 (2:5020/423.65)