The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"ProFTPD 1.3.1rc2 KOI8-R <-> CP 1251"
Версия для распечатки Пред. тема | След. тема
Форум Открытые системы на сервере
Исходное сообщение [ Отслеживать ]
Есть идеи по улучшению форума и сайта ? Пишите.
. "ProFTPD 1.3.1rc2 KOI8-R <-> CP 1251" +/
Сообщение от Skyemail (??), 10-Июл-07, 16:08 
>>Кто нибудь добился того чтобы происходила конвертация кодировки KOI8-R <-> CP 1251 на ProFTPD 1.3.1rc2.
>>Патч японцев на данной версии не прокатывает. Т.е. патчится, но когда make
>>install лезут ошибки.
>а если руками установить?
>
>\^P^/


netio ----->
--- netio.c     2006-11-01 09:35:13.000000000 +0700
+++ netio.c2    2007-06-28 00:36:18.000000000 +0800
@@ -523,9 +523,12 @@
   return -1;
}

+extern char* local2remote(char* local);
+
int pr_netio_printf(pr_netio_stream_t *nstrm, const char *fmt, ...) {
   va_list msg;
   char buf[PR_RESPONSE_BUFFER_SIZE] = {'\0'};
+  char* p;

   if (!nstrm) {
     errno = EINVAL;
@@ -537,6 +540,13 @@
   va_end(msg);
   buf[sizeof(buf)-1] = '\0';

+  if (buf[0]) {
+    p = local2remote(buf);
+    if (p) {
+      strcpy(buf, p); free(p);
+    }
+  }
+
   return pr_netio_write(nstrm, buf, strlen(buf));
}

<-----------

mod_ls ----->
--- mod_ls.c    2006-12-16 05:25:31.000000000 +0700
+++ mod_ls.c2   2007-06-28 00:43:53.000000000 +0800
@@ -244,12 +244,15 @@
   return res;
}

+extern char* local2remote(char*);
+
/* sendline() now has an internal buffer, to help speed up LIST output. */
static int sendline(int flags, char *fmt, ...) {
   static char listbuf[PR_TUNABLE_BUFFER_SIZE] = {'\0'};
   va_list msg;
   char buf[PR_TUNABLE_BUFFER_SIZE+1] = {'\0'};
   int res = 0;
+  char* buf2;

   if (flags & LS_SENDLINE_FL_FLUSH) {
     res = pr_data_xfer(listbuf, strlen(listbuf));
@@ -268,6 +271,13 @@

   buf[sizeof(buf)-1] = '\0';

+  if (buf[0]) {
+    buf2 = local2remote(buf);
+    if (buf2) {
+      strcpy(buf, buf2); free(buf2);
+    }
+  }
+
   /* If buf won't fit completely into listbuf, flush listbuf */
   if (strlen(buf) >= (sizeof(listbuf) - strlen(listbuf))) {
     res = pr_data_xfer(listbuf, strlen(listbuf));
<-----------

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
ProFTPD 1.3.1rc2 KOI8-R <-> CP 1251, psn1982, 10-Июл-07, 12:48  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру