Ticket #2279: mcserver is deprecated.

Removed mcserver and mcfs support.

Reasons:
(1) no longer builds
(2) no one is willing to support it
(3) possibly contains unfixed security holes
(4) makes no sense in view of the availability of FISH

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
This commit is contained in:
Andrew Borodin 2010-07-13 21:22:04 +04:00
parent 09ad9d04a9
commit 6a55c9320e
42 changed files with 22 additions and 3682 deletions

View File

@ -3,7 +3,6 @@ m4_include([m4.include/ax_path_lib_pcre.m4])
m4_include([m4.include/dx_doxygen.m4])
m4_include([m4.include/mc-cflags.m4])
m4_include([m4.include/mc-check-search-type.m4])
m4_include([m4.include/mc-mcserver.m4])
m4_include([m4.include/ac-get-fs-info.m4])
m4_include([m4.include/mc-use-termcap.m4])
m4_include([m4.include/mc-with-screen.m4])

View File

@ -544,7 +544,6 @@ AM_CONDITIONAL(USE_EDIT, [test -n "$use_edit"])
AM_CONDITIONAL(USE_DIFF, [test -n "$use_diff"])
AM_CONDITIONAL(ENABLE_VFS_NET, [test x"$use_net_code" = xtrue])
AM_CONDITIONAL(USE_SAMBA_FS, [test -n "$use_smbfs"])
AM_CONDITIONAL(ENABLE_MCSERVER, [test x"$enable_mcserver" = "xyes"])
AM_CONDITIONAL(CHARSET, [test -n "$have_charset"])
AM_CONDITIONAL(CONS_SAVER, [test -n "$cons_saver"])
@ -622,13 +621,13 @@ misc/syntax/Makefile
doc/Makefile
doc/hints/Makefile
doc/man/mc.1 doc/man/mcedit.1 doc/man/mcview.1 doc/man/mcserv.8 doc/man/Makefile
doc/man/mc.1 doc/man/mcedit.1 doc/man/mcview.1 doc/man/Makefile
doc/man/es/mc.1 doc/man/es/Makefile
doc/man/hu/mc.1 doc/man/hu/Makefile
doc/man/it/mc.1 doc/man/it/Makefile
doc/man/pl/mc.1 doc/man/pl/Makefile
doc/man/ru/mc.1 doc/man/ru/Makefile
doc/man/sr/mc.1 doc/man/sr/mcserv.8 doc/man/sr/Makefile
doc/man/sr/mc.1 doc/man/sr/Makefile
doc/hlp/Makefile
doc/hlp/es/Makefile
@ -644,10 +643,6 @@ po/Makefile.in
AC_OUTPUT
if test x$enable_mcserver = x; then
enable_mcserver='no'
fi
echo "
Configuration:

View File

@ -2,7 +2,7 @@
SUBDIRS = dist
noinst_DATA = README.xterm mcserv.init mcserv.pamd
noinst_DATA = README.xterm
SCRIPTS_IN = mc.csh.in mc.sh.in mc-wrapper.csh.in mc-wrapper.sh.in
SCRIPTS_OUT = mc.csh mc.sh mc-wrapper.csh mc-wrapper.sh

View File

@ -1,68 +0,0 @@
#! /bin/sh
#
# skeleton Example file to build /etc/init.d scripts.
#
# Version: @(#) /etc/init.d/mcserv 07/10/2000
#
# Author: Tomasz K³oczko, <kloczek@rudy.mif.pg.gda.pl>
# Michele Marziani <marziani@fe.infn.it>
# Preston Brown <pbrown@redhat.com>
#
# chkconfig: - 86 30
# description: The Midnight Commander server allows users on remote machines \
# to use the Midnight Commander file manager to manipulate their \
# files on the machine running the server. The server \
# authenticates the user through PAM, which by default requires \
# a username/password combination before allowing access.
# processname: mcserv
# Source function library.
. /etc/init.d/functions
RETVAL=0
prog="mcserv"
start() {
echo -n $"Starting $prog: "
daemon /usr/bin/mcserv -d
RETVAL=$?
touch /var/lock/subsys/mcserv
echo
}
stop() {
echo -n $"Stopping $prog: "
killproc mcserv
RETVAL=$?
rm -f /var/lock/subsys/mcserv
echo
}
# See how we were called.
case "$1" in
start)
start
;;
status)
status mcserv
;;
restart|reload)
stop
start
;;
condrestart)
if [ -f /var/lock/subsys/mcserv ]; then
stop
start
fi
;;
stop)
stop
;;
*)
echo $"Usage: $0 {start|stop|status|restart|reload|condrestart}"
exit 1
esac
exit $RETVAL

View File

@ -1,6 +0,0 @@
#%PAM-1.0
auth required /lib/security/pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
auth required /lib/security/pam_stack.so service=system-auth
auth required /lib/security/pam_shells.so
account required /lib/security/pam_stack.so service=system-auth
session required /lib/security/pam_stack.so service=system-auth

View File

@ -357,8 +357,7 @@ NULL: When you pass NULL as an argument of a varargs function, cast the
This tip applies at least to catstrs (edit/edit.h), execl(3),
execle(3), execlp(3), g_strconcat (glib), parent_call
(src/background.h), parent_call_string (src/background.h),
rpc_get (vfs/mcfsutil.h), rpc_send (vfs/mcfsutil.h).
(src/background.h), parent_call_string (src/background.h).
example:
char *path = g_strconcat("dir", "/", "file", (char *)0);

View File

@ -178,18 +178,6 @@ VFS options:
libext2fs library available, this option adds support for
recovering deleted files (the undel virtual file system).
`--enable-vfs-mcfs'
Enable Support MCFS (mc's network filesystem).
This option enables mcfs - a non-standard remote filesystem
designed specifically for the Midnight Commander. It also enables
a server for that filesystem, mcserv. Please note that the
implementation of mcfs is not optimized for speed. There may be
security issues with mcserv - don't run it if you don't need it.
`--enable-mcserver'
(off by default)
Support mc-specific networking file system server
`--disable-netcode'
This option disables support for networked virtual filesystems.
It's primarily used by developers to make sure that the code would

View File

@ -133,7 +133,7 @@ These are hints for the text mode edition:
* The Virtual File System is a cute addition to the project, you may
browse in tar and compressed tar files as well as browsing remote
machines with the mcfs file system.
machines with the fish file system.
* Please read the manual page.

View File

@ -276,11 +276,6 @@ src/
vfs/
Makefile.in:
'install' target: 'mcserv' not installed, if net-code not enabled
by 'configure'.
<mc-src-root>/
README.QNX:

View File

@ -310,10 +310,6 @@ ideas still waiting for their implementation.
* Optimizations and cleanup
- Optimize the mcfs read and write code: make the code output 8k
blocks all the time (if we have called mc_hint_readall) and probe
the input for a possible cancel.
- When verbose is off, remove all the clutter on the screen about
the files being copied.

View File

@ -1,8 +1,4 @@
DIST_SUBDIRS = es hu it pl ru sr
SUBDIRS = $(DOC_LINGUAS)
if ENABLE_MCSERVER
man_MANS = mc.1 mcedit.1 mcview.1 mcserv.8
else
man_MANS = mc.1 mcedit.1 mcview.1
endif

View File

@ -2810,43 +2810,6 @@ Ejemplos:
/#sh:pepe@sincomprimir.ssh.edu/privado
.fi
.\"NODE " Network File System"
.SH " Sistema de archivos en Red"
El sistema de archivos en red de Midnight Commander es un sistema de
archivos en red básico que permite manipular archivos en una máquina
remota como si estuviesen accesibles localmente. Para ello, la máquina
remota debe estar ejecutando el programa servidor mcserv(8).
.PP
Para conectar a una máquina remota, sólo necesitamos hacer el cambio de
directorio a un directorio especial cuyo nombre tendrá la forma:
.PP
.I /#mc:[usuario@]máquina[:puerto][directorio\-remoto]
.PP
Los elementos
.IR usuario ,
.I puerto
y
.I directorio\-remoto
son opcionales. Si especificamos el elemento
.I usuario
entonces Midnight Commander intentará acceder a la
máquina como ese usuario, si no, usará nuestro login.
.PP
El elemento
.I puerto
es necesario cuando el servidor remoto se ejecuta en un puerto especial
(véase la página del manual de mcserv(8) para más información acerca de
puertos); finalmente, si el elemento
.I directorio\-remoto
está presente, nuestro directorio actual en la máquina remota
será éste.
.PP
Ejemplos:
.PP
.nf
/#mc:ftp.nuclecu.unam.mx/linux/local
/#mc:pepe@foo.edu:11321/privado
.fi
.\"NODE " SMB File System"
.SH " Sistema de archivos SMB"
El SMBfs permite manipular archivos en máquinas remotas con el protocolo
@ -3763,7 +3726,7 @@ La última versión de este programa puede encontrarse en
ftp://ftp.gnu.org/gnu/mc/.
.\"NODE "SEE ALSO"
.SH "VÉASE TAMBIÉN"
mcedit(1), mcserv(8), sh(1), bash(1), tcsh(1), zsh(1), ed(1), view(1),
mcedit(1), sh(1), bash(1), tcsh(1), zsh(1), ed(1), view(1),
terminfo(1), gpm(1).
.PP
.nf

View File

@ -2711,42 +2711,6 @@ Példák:
/#sh:joe@want.compression.edu:C/private
/#sh:joe@noncompressed.ssh.edu/private
.fi
.\"NODE " Network File System"
.SH " Hálózati fájlrendszer"
A Midnight Commander fájlrendszere hálózat alapú fájlrendszer, amely
lehetővé teszi számodra azt, hogy távoli gépeken fájlokkal úgy
dolgozhass, mintha azok a saját gépeden lennének. Ennek használatához a
távoli gépnek futtania kell az mcserv(8) szerver programot.
.PP
A távoli géphez történő kapcsolódáshoz csak egy speciális nevű
könyvtárba kell belépned, amelynek a neve a következő:
.PP
.I /#mc:[felhasználó@]machine[:port][távoli\-könyvtár]
.PP
A
.I felhasználó, port
és a
.I távoli\-könyvtár
elemek opcionálisak. Ha megadod a
.I felhasználó
elemet, akkor a Midnight Commander megpróbál a távoli gépre ilyen
felhasználói névvel belépni, egyébként pedig a belépett felhasználó
nevét használja.
.PP
A
.I port
elemet akkor használható, ha a távoli gép speciális portot használ (lásd
az mcserv(8) man oldalt a további portokkal kapcsolatos információkért);
végül, ha a
.I távoli\-könyvtár
elem meg van adva, a távoli gép megadott könyvtárára vált át.
.PP
Például:
.PP
.nf
/#mc:ftp.nuclecu.unam.mx/linux/local
/#mc:joe@foo.edu:11321/private
.fi
.\"NODE " Undelete File System"
.SH " Törlés visszaállítása"
(csak ext2; second extended filesystem)
@ -3130,7 +3094,7 @@ sunsite.mff.cuni.cz címen a /GNU/mc könyvtárban és az ftp.teuto.de címen
az /lmb/mc könyvtárban.
.\"NODE "SEE ALSO"
.SH "Lásd még..."
ed(1), gpm(1), mcserv(8), terminfo(1), view(1), sh(1), bash(1), tcsh(1),
ed(1), gpm(1), terminfo(1), view(1), sh(1), bash(1), tcsh(1),
zsh(1).
.PP
.nf

View File

@ -2721,42 +2721,6 @@ Esempi:
/#sh:joe@vuole.lacompressione.edu:C/privato
/#sh:joe@noncompresso.ssh.edu/privato
.fi
.\"NODE " Network File System"
.SH " File system di rete"
Il file system di rete del Midnight Commander è un file system basato
sulla rete che permette di manipolare i file su di una macchina remota
come se fossero locali. Per usarlo, sulla macchina remota deve essere
in esecuzione il programma server mcserv(8).
.PP
Per connettersi ad una macchina remota, basta solo fare cd
in una speciale directory il cui nome ha il seguente formato:
.PP
.I /#mc:[utente@]macchina[:porta][dir\-remota]
.PP
Gli elementi
.I utente, porta
e
.I dir\-remota
sono opzionali. Se si specifica l'elemento
.I utente
alloral il Midnight Commander tenterà di connettersi alla macchina remota
con quell'utente, altrimenti userà il nome di login.
.PP
L'elemento
.I porta
viene usato quando la macchina remota usa una porta speciale;
(vedere la magina man mcserv(8) per ulteriori informazioni sulle porte);
infine se l'elemento
.I dir\-remota
è presente, la directory corrente sulla macchina remota sarà impostata
a questo valore.
.PP
Esempi:
.PP
.nf
/#mc:ftp.nuclecu.unam.mx/linux/locale
/#mc:joe@foo.edu:11321/privato
.fi
.\"NODE " Undelete File System"
.SH " Recupero file cancellati"
Su sistemi Linux, se si richiede, tramite configure, di usare la
@ -3152,7 +3116,7 @@ L'ultima versione di questo programma si trova su
ftp://ftp.gnu.org/gnu/mc/.
.\"NODE "SEE ALSO"
.SH "VEDERE ANCHE"
ed(1), gpm(1), mcserv(8), terminfo(1), view(1), sh(1), bash(1),
ed(1), gpm(1), terminfo(1), view(1), sh(1), bash(1),
tcsh(1), zsh(1).
.PP
.nf

View File

@ -3073,11 +3073,8 @@ used to manipulate tar and compressed tar files; the
used to recover deleted files on ext2 file systems (the default file
system for Linux systems),
.I fish
(for manipulating files over shell connections such as rsh and ssh) and
finally the
.I mcfs
(Midnight Commander file system), a network based file system. If the
code was compiled with
(for manipulating files over shell connections such as rsh and ssh).
If the code was compiled with
.I smbfs
support, you can manipulate files on remote systems with the SMB (CIFS)
protocol.
@ -3205,42 +3202,6 @@ Examples:
/#sh:joe@noncompressed.ssh.edu/private
/#sh:joe@somehost.ssh.edu:2222/private
.fi
.\"NODE " Network File System"
.SH " Network File System"
The Midnight Commander file system is a network base file system that
allows you to manipulate the files in a remote machine as if they were
local. To use this, the remote machine must be running the mcserv(8)
server program.
.PP
To connect to a remote machine, you just need to chdir into a special
directory which name is in the following format:
.PP
.I /#mc:[user@]machine[:port][remote\-dir]
.PP
The
.I user, port
and
.I remote\-dir
elements are optional. If you specify the
.I user
element then the Midnight Commander will try to logon on the remote
machine as that user, otherwise it will use your login name.
.PP
The
.I port
element is used when the remote server is running on a special port
(see the mcserv(8) manual page for more information about ports);
finally, if the
.I remote\-dir
element is present, your current directory on the remote machine will
be set to this one.
.PP
Examples:
.PP
.nf
/#mc:ftp.nuclecu.unam.mx/linux/local
/#mc:joe@foo.edu:11321/private
.fi
.\"NODE " Undelete File System"
.SH " Undelete File System"
On Linux systems, if you asked configure to use the ext2fs undelete
@ -4151,7 +4112,7 @@ The latest version of this program can be found at
ftp://ftp.gnu.org/gnu/mc/.
.\"NODE "SEE ALSO"
.SH "SEE ALSO"
ed(1), gpm(1), mcserv(8), terminfo(1), view(1), sh(1), bash(1),
ed(1), gpm(1), terminfo(1), view(1), sh(1), bash(1),
tcsh(1), zsh(1).
.PP
.nf

View File

@ -1,68 +0,0 @@
.TH mcserv 8 "August 2009" "MC Version 4.7.0-pre1" "GNU Midnight Commander"
.SH NAME
mcserv \- Midnight Commander file server.
.SH USAGE
.B mcserv
[\-diqvf] [\-p portnum]
.SH DESCRIPTION
.LP
mcserv is the server program for the Midnight Commander networking
file system. It provides access to the host file system to clients
running the Midnight file system (currently, only the Midnight
Commander file manager).
.PP
If the program is run as root the program will try to get a reserved
port otherwise it will use 9876 as the port.
.PP
If the system has a portmapper running, then the port will be
registered with the portmapper and thus clients will automatically
connect to the right port. If the system does not have a portmapper,
then a port should be manually specified with the -p option (see
below).
.PP
.SH OPTIONS
.TP
.I "-d"
Become a daemon, you should use this flag if you start the program
from one of the system startup files. This flag will make the program
handle any number of incoming requests by forking a new copy of itself
for each client.
.TP
.I "-q"
Quiet mode.
.TP
.I "-p"
To make the server listen on the specified
.B portnum
port.
.TP
.I "-f"
Allow ftp authentication as a fallback if the other methods fail.
This is only useful on systems where the password checking method is not
supported by this version of mcserv. The local ftp server is contacted
with the username and password. The user is authenticated if the ftp
server accepts the credentials. Use this option with care and only
when necessary.
.TP
.I "-v"
Toggle on the verbose mode.
.SH LICENSE
This program is distributed under the terms of the GNU General Public
License as published by the Free Software Foundation. See the built-in
help for details on the License and the lack of warranty.
.SH BUGS
This program currently uses port 9876, and not a system secure port.
This is a potential security problem since it could be run by any user
on the system if the system daemon is not running.
.SH SEE ALSO
mc(1), portmap(8)
.PP
.PP
.nf
The Midnight Commander page on the World Wide Web:
http://www.midnight-commander.org/
.fi
.PP
.SH AUTHORS
Miguel de Icaza (miguel@ximian.com).

View File

@ -2344,44 +2344,6 @@ Przykłady:
/#sh:joe@want.compression.edu:C/private
/#sh:joe@noncompressed.ssh.edu/private
.fi
.\"NODE " Network File System"
.SH " Sieciowe systemy plików"
Midnight Commander pozwala na obsługę zdalnych systemów i manipulowanie
na ich dyskach, tak jakby były one lokalne. Żeby to było możliwe
druga maszyna musi być uruchomiona razem z programem
.BR mcserv (8).
.PP
Żeby podłączyć się do obcego komputera musisz przejść do katalogu w specjalny
sposób opisany poniżej:
.PP
.I mc:[użytkownik@]komputer[:port][katalog]
.PP
.IR Użytkownik ,
.I port
i
.I katalog
są opcjami nieobowiązkowymi. Jeśli podasz
.I użytkownika
Midnight Commander spróbuje zalogować się do systemu zdalnego jako
zadany użytkownik, w przeciwnym wypadku spróbuje użyć twojej aktualnej
nazwy zgłoszeniowej.
.PP
.I Port
jest używany jeśli zdalny komputer jest odpalony na niestandardowych portach
(zobacz stronę manuala
.BR mcserv (8)
po więcej informacji o portach); i wreszcie
jeśli
.I katalog
jest podany, twoim katalogiem domowym na zdalnym komputerze będzie ten podany.
.PP
Przykłady:
.PP
.nf
mc:ftp.nuclecu.unam.mx/linux/local
mc:joe@foo.edu:11321/private
.fi
.PP
.\"NODE " Undelete File System"
.SH " Odzyskiwanie plików"
Na systemach Linuksowych, jeśli dodałeś w konfiguracji opcję przywracania
@ -2831,7 +2793,7 @@ katalogu /linux/local i w Europie na serwerze sunsite.mff.cuni.cz w katalogu
/GNU/mc i na serwerze ftp.teuto.de w katalogu /lmb/mc.
.\"NODE "SEE ALSO"
.SH ZOBACZ TAKŻE
ed(1), gpm(1), mcserv(8), terminfo(1), view(1), sh(1), bash(1),
ed(1), gpm(1), terminfo(1), view(1), sh(1), bash(1),
tcsh(1), zsh(1).
.PP
.nf

View File

@ -1,6 +1,6 @@
.\"TOPICS "Разделы помощи:"
.\" TODO: Перевести раздел EXTernal File System
.TH MC "29 Июня 2010" "MC Version 4.7.4" "GNU Midnight Commander"
.TH MC "14 Июля 2010" "MC Version 4.7.4" "GNU Midnight Commander"
.\"SKIP_SECTION"
.SH "НАИМЕНОВАНИЕ"
mc \- Визуальная оболочка для Unix\-подобных систем.
@ -3404,10 +3404,6 @@ MC может быть собран с поддержкой файловой с
.\"FIle transfer over SHell filesystem"
.br
.\"LINK2"
Файловая система NFS (Network File System)
.\"Network File System"
.br
.\"LINK2"
Файловая система UFS (Undelete File System)
.\"Undelete File System"
.br
@ -3568,49 +3564,6 @@ bash\-совместимая оболочка shell.
/#sh:joe@noncompressed.ssh.edu/private
/#sh:joe@somehost.ssh.edu:2222/private
.fi
.\"NODE " Network File System"
.SH " Файловая система NFS (Network File System)"
Файловая система mc \- это еще одна сетевая файловая система, которая
позволяет работать с файлами на удаленном компьютере. Для того, чтобы
можно было воспользоваться этой ФС, на удаленном компьютере должна быть
запущена серверная программа
.BR mcserv(8) .
.PP
Для соединения с удаленным компьютером нужно выполнить команду
перехода в каталог, имя которого строится в соответствии со следующим
форматом:
.PP
.I /#mc:[user@]machine[:port][remote\-dir]
.PP
Элементы
.IR user ", " port
и
.I remote\-dir
не обязательны.
.PP
Если задан элемент
.IR user ,
то Midnight Commander будет регистрироваться на удаленный компьютер под
этим именем, в противном случае \- под тем именем, с которым вы
зарегистрированы в локальной системе.
.PP
Элемент
.I port
используется в том случае, если удаленный компьютер использует
специальный порт (чтобы узнать, что такое порт и как его использовать,
смотрите страницу руководства
.BR mcserv(8) .
Если задан элемент
.IR remote\-dir ,
то указанный каталог станет текущим после соединения с удаленным
компьютером.
.PP
Примеры:
.PP
.nf
/#mc:ftp.nuclecu.unam.mx/linux/local
/#mc:joe@foo.edu:11321/private
.fi
.\"NODE " Undelete File System"
.SH " Файловая система UFS (Undelete File System)"
В ОС Linux можно сконфигурировать файловую систему ext2fs, используемую
@ -4471,7 +4424,7 @@ Commander; используется только в тех случаях, ко
ftp://ftp.gnu.org/gnu/mc/.
.\"NODE "SEE ALSO"
.SH "Другие источники"
ed(1), gpm(1), mcserv(8), terminfo(1), view(1), sh(1), bash(1), tcsh(1),
ed(1), gpm(1), terminfo(1), view(1), sh(1), bash(1), tcsh(1),
zsh(1), mcedit(1).
.PP
.nf

View File

@ -1,7 +1,3 @@
LANG=sr
mandir = @mandir@/$(LANG)
if ENABLE_MCSERVER
man_MANS = mc.1 mcserv.8
else
man_MANS = mc.1
endif

View File

@ -2731,42 +2731,6 @@ if the
/#sh:joe@hocu.komprimovanje.edu:C/private
/#sh:joe@nekomprimovan.ssh.edu/private
.fi
.\"NODE " Network File System"
.SH " Мрежни систем датотека"
Систем датотека Поноћног наредника је систем датотека заснован на
мрежи који вам омогућава да радите са датотекама на удаљеној машини,
као да су оне у локалу. Да бисте ово користили, удаљена машина мора да
има покренут серверски програм mcserv(8).
.PP
Да бисте се повезали са удаљеном машином, потребно је само да
поставите текући директоријум на посебни директоријум чије име је у
следећем формату:
.PP
.I /#mc:[корисник@]машина[:порт][удаљени\-дир]
.PP
Елементи
.I корисник, порт
и
.I удаљени\-дир
су необавезни. Уколико задате елемент
.IR корисник ,
Поноћни наредник ће покушати да се пријави на удаљену машину под тим
корисничким именом, а иначе ће користити ваше корисничко име.
.PP
Елемент
.I порт
се користи када је удаљени сервер покренут на посебном порту
(погледајте страницу упутства mcserv(8) за више информација о
портовима); најзад, уколико је присутан елемент
.IR удаљени\-дир ,
ваш текући директоријум на удаљеној машини ће бити постављен на њега.
.PP
Примери:
.PP
.nf
/#mc:ftp.nuclecu.unam.mx/linux/local
/#mc:joe@trlababa.edu:11321/private
.fi
.\"NODE " Undelete File System"
.SH " Систем датотека за одбрисање"
На ГНУ\-овим системима, уколико сте од програма `configure' захтевали
@ -3280,7 +3244,7 @@ MC_DATADIR. Ако ова променљива није постављена, б
ftp://ftp.gnu.org/gnu/mc/.
.\"NODE "SEE ALSO"
.SH "ВИДИТЕ И"
ed(1), gpm(1), mcserv(8), terminfo(1), view(1), sh(1), bash(1),
ed(1), gpm(1), terminfo(1), view(1), sh(1), bash(1),
tcsh(1), zsh(1).
.PP
.nf

View File

@ -1,67 +0,0 @@
.TH mcserv 8 "16. мај 1995."
.SH НАЗИВ
mcserv \- Сервер датотека Поноћног наредника.
.SH УПОТРЕБА
.B mcserv
[\-diqvf] [\-p бројпорта]
.SH ОПИС
.LP
mcserv је серверски програм за мрежни систем датотека Поноћног
наредника. Он обезбеђује приступ домаћиновом систему датотека за
клијенте који користе Поноћни систем датотека (за сада је то само
управитељ датотека Поноћног наредника).
.PP
Ако је програм покренут са администраторским привилегијама, програм ће
покушати да преузме резервисани порт, а иначе ће користити порт 9876.
.PP
Ако је на систему покренут програм за мапирање портова, онда ће порт
у њему бити регистрован, и самим тим ће се клијенти повезивати на
исправни порт. Ако систем нема покренут програм за мапирање портова,
онда би требало ручно задати порт преко избора -p (погледајте доле).
.PP
.SH ИЗБОРИ
.TP
.I "-d"
Налаже програму да постане демон; обај прекидач би требало користити у
случају да покрећете програм из једног од системских датотека за
покретање. Овај прекидач ће наложити програму да рукује са произвољно
много долазећих захтева поделом процеса за сваког клијента.
.TP
.I "-q"
Тихи режим.
.TP
.I "-p"
Налаже серверу да слуша на заданом порту
.B portnum .
.TP
.I "-f"
Дозвољава потврду исправности корисничког имена и лозинке FTP-а као
резервну могућност ако други начини не успеју. Ово је корисно само за
системе на којима ова верзија програма mcserv не подржава њихов начин
провере лозинке. Локалном серверу FTP-а се обраћа уз употребу
корисничког имена и лозинке. Кориснику је потврђена исправност ако
сервер FTP-а прихвати понуђене информације. Користите овај избор са
највећом пажњом и само уколико је то заиста неопходно.
.TP
.I "-v"
Смена брбљивог режима.
.SH ЛИЦЕНЦА
Овај програм се расподељује под одредбама ГНУ-ове опште јавне лиценце
коју је објавила Задужбина за слободни софтвер. Погледајте уграђену
помоћ за детаље о Лиценци и одсуству гаранције.
.SH ГРЕШКЕ
Овај програм тренутно користи порт 9876, а не системски безбедан порт.
Ово је могући безбедносни проблем, јер га може покренути било који
корисник на систему ако системски демон није покренут.
.SH ВИДИТЕ И
mc(1), portmap(8)
.PP
.PP
.nf
Страница Поноћног наредника на Међународној мрежи:
http://www.midnight-commander.org/
.fi
.PP
.SH СТВАРАОЦИ
Мигел де Иказа (Miguel de Icaza) (miguel@ximian.com).

View File

@ -63,7 +63,6 @@ vfs ---- direntry ---- cpio } archives
|
|---- extfs ---- extfs archives
|---- localfs ---- sfs ---- sfs archives
|---- mcfs
|---- smbfs
|---- undelfs
@ -81,7 +80,6 @@ ftpfs no yes yes no
extfs no no yes yes
localfs no no N/A N/A
sfs no yes yes N/A
mcfs no yes no no
smbfs no yes no no
undelfs no yes no yes

View File

@ -27,8 +27,6 @@ VFSHDRS = \
ftpfs.h \
gc.h \
local.h \
mcfs.h \
mcfsutil.h \
netutil.h \
smbfs.h \
utilvfs.h \
@ -46,7 +44,7 @@ if ENABLE_VFS_UNDELFS
UNDEL_FILES = $(UNDELFILES)
endif
NETFILES = netutil.c fish.c ftpfs.c mcfs.c mcfsutil.c $(SMB_NETFILES)
NETFILES = netutil.c fish.c ftpfs.c $(SMB_NETFILES)
NONETFILES = $(BASICFILES) $(UNDEL_FILES)
@ -90,15 +88,6 @@ else
libvfs_mc_la_SOURCES = $(NONETFILES)
endif
if ENABLE_VFS
if ENABLE_MCSERVER
sbin_PROGRAMS = mcserv
mcserv_SOURCES = mcserv.c
mcserv_LDADD = $(MCSERVLIBS) $(GLIB_LIBS) libvfs-mc.la
endif
endif
SAMBA_DIST = \
Makefile.in \
aclocal.m4 \

File diff suppressed because it is too large Load Diff

View File

@ -1,62 +0,0 @@
/**
* \file
* \brief Header: Midnight Commander file system
*/
#ifndef MC_VFS_MCFS_H
#define MC_VFS_MCFS_H
#define mcserver_port 9876
/* This number was registered for program "mcfs" with rpc@Sun.COM */
#define RPC_PROGNUM 300516
#define RPC_PROGVER 2
/* this constants must be kept in sync with mcserv.c commands */
/* They are the messages sent on the link connection */
enum {
MC_OPEN,
MC_CLOSE,
MC_READ,
MC_WRITE,
MC_OPENDIR,
MC_READDIR,
MC_CLOSEDIR,
MC_STAT,
MC_LSTAT,
MC_FSTAT,
MC_CHMOD,
MC_CHOWN,
MC_READLINK,
MC_UNLINK,
MC_RENAME,
MC_CHDIR,
MC_LSEEK,
MC_RMDIR,
MC_SYMLINK,
MC_MKNOD,
MC_MKDIR,
MC_LINK,
MC_GETHOME,
MC_GETUPDIR,
/* Control commands */
MC_LOGIN,
MC_QUIT,
MC_UTIME, /* it has to go here for compatibility with old
servers/clients. sigh ... */
MC_INVALID_PASS = 0x1000,
MC_NEED_PASSWORD,
MC_LOGINOK,
MC_VERSION_OK,
MC_VERSION_MISMATCH,
MC_PASS
};
extern void init_mcfs (void);
extern void tcp_invalidate_socket (int);
#endif

View File

@ -1,241 +0,0 @@
/* Low-level protocol for MCFS.
Copyright (C) 1995, 1996 Miguel de Icaza
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License
as published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
/**
* \file
* \brief Source: Low-level protocol for MCFS
* \author Miguel de Icaza
* \date 1995, 1996
*/
#include <config.h>
#if defined(ENABLE_VFS_MCFS) || defined(ENABLE_MCSERVER)
#include <unistd.h>
#include <stdlib.h>
#include <stdarg.h>
#include <stdio.h>
#include <signal.h>
#include <pwd.h>
#include <sys/types.h>
#include <netdb.h>
#include <sys/socket.h>
#include <netinet/in.h>
#ifdef HAVE_ARPA_INET_H
#include <arpa/inet.h>
#endif
#ifdef HAVE_PMAP_SET
#include <rpc/rpc.h>
#include <rpc/pmap_prot.h>
#ifdef HAVE_RPC_PMAP_CLNT_H
#include <rpc/pmap_clnt.h>
#endif
#endif
#include <errno.h>
#include "lib/global.h"
#include "src/wtools.h" /* message() */
#include "src/main.h" /* print_vfs_message */
#include "utilvfs.h"
#include "mcfsutil.h"
#include "netutil.h"
#include "mcfs.h" /* tcp_invalidate_socket() */
#define CHECK_SIG_PIPE(sock) if (got_sigpipe) \
{ tcp_invalidate_socket (sock); return got_sigpipe = 0; }
/* Reads a block on dest for len bytes from sock */
/* Returns a boolean indicating the success status */
int
socket_read_block (int sock, char *dest, int len)
{
int nread, n;
for (nread = 0; nread < len;)
{
n = read (sock, dest + nread, len - nread);
if (n <= 0)
{
tcp_invalidate_socket (sock);
return 0;
}
nread += n;
}
return 1;
}
int
socket_write_block (int sock, const char *buffer, int len)
{
int left, status;
for (left = len; left > 0;)
{
status = write (sock, buffer, left);
CHECK_SIG_PIPE (sock);
if (status < 0)
return 0;
left -= status;
buffer += status;
}
return 1;
}
int
rpc_send (int sock, ...)
{
long int tmp, len, cmd;
char *text;
va_list ap;
va_start (ap, sock);
for (;;)
{
cmd = va_arg (ap, int);
switch (cmd)
{
case RPC_END:
va_end (ap);
return 1;
case RPC_INT:
tmp = htonl (va_arg (ap, int));
if (write (sock, &tmp, sizeof (tmp)) != sizeof (tmp))
{
vfs_die ("RPC: write failed (RPC_INT)");
break;
}
CHECK_SIG_PIPE (sock);
break;
case RPC_STRING:
text = va_arg (ap, char *);
len = strlen (text);
tmp = htonl (len);
if (write (sock, &tmp, sizeof (tmp)) != sizeof (tmp))
{
vfs_die ("RPC: write failed (RPC_STRING)");
break;
}
CHECK_SIG_PIPE (sock);
if (write (sock, text, len) != len)
{
vfs_die ("RPC: write failed (RPC_STRING)");
break;
}
CHECK_SIG_PIPE (sock);
break;
case RPC_BLOCK:
len = va_arg (ap, int);
text = va_arg (ap, char *);
tmp = htonl (len);
if (write (sock, text, len) != len)
{
vfs_die ("RPC: write failed (RPC_BLOCK)");
break;
}
CHECK_SIG_PIPE (sock);
break;
default:
vfs_die ("Unknown rpc message\n");
}
}
}
int
rpc_get (int sock, ...)
{
long int tmp, len;
char *text, **str_dest;
int *dest, cmd;
va_list ap;
va_start (ap, sock);
for (;;)
{
cmd = va_arg (ap, int);
switch (cmd)
{
case RPC_END:
va_end (ap);
return 1;
case RPC_INT:
if (socket_read_block (sock, (char *) &tmp, sizeof (tmp)) == 0)
{
va_end (ap);
return 0;
}
dest = va_arg (ap, int *);
*dest = ntohl (tmp);
break;
/* returns an allocated string */
case RPC_LIMITED_STRING:
case RPC_STRING:
if (socket_read_block (sock, (char *) &tmp, sizeof (tmp)) == 0)
{
va_end (ap);
return 0;
}
len = ntohl (tmp);
if (cmd == RPC_LIMITED_STRING)
if (len > 16 * 1024)
{
/* silently die */
abort ();
}
if (len > 128 * 1024)
abort ();
/* Don't use glib functions here - this code is used by mcserv */
text = malloc (len + 1);
if (socket_read_block (sock, text, len) == 0)
{
free (text);
va_end (ap);
return 0;
}
text[len] = '\0';
str_dest = va_arg (ap, char **);
*str_dest = text;
break;
case RPC_BLOCK:
len = va_arg (ap, int);
text = va_arg (ap, char *);
if (socket_read_block (sock, text, len) == 0)
{
va_end (ap);
return 0;
}
break;
default:
vfs_die ("Unknown rpc message\n");
}
}
}
#endif /* ENABLE_VFS_MCFS || ENABLE_MCSERVER */

View File

@ -1,29 +0,0 @@
/**
* \file
* \brief Header: Low-level protocol for MCFS
*
* \todo FIXME: This protocol uses 32-bit integers for the communication.
* It is a problem on systems with large file support, which is now
* default. This means that lseek is broken unless --disable-largefile
* is used. 64-bit systems are probably broken even more.
*/
#ifndef MC_VFS_MCFSUTIL_H
#define MC_VFS_MCFSUTIL_H
enum {
RPC_END, /* End of RPC commands */
RPC_INT, /* Next argument is integer */
RPC_STRING, /* Next argument is a string */
RPC_BLOCK, /* Next argument is a len/block */
RPC_LIMITED_STRING /* same as STRING, but has a size limit */
};
int rpc_get (int sock, ...);
int rpc_send (int sock, ...);
int socket_read_block (int sock, char *dest, int len);
int socket_write_block (int sock, const char *buffer, int len);
#endif

File diff suppressed because it is too large Load Diff

View File

@ -66,7 +66,6 @@
# include "netutil.h"
#endif
#include "ftpfs.h"
#include "mcfs.h"
#include "smbfs.h"
#include "local.h"
@ -1349,9 +1348,6 @@ vfs_init (void)
#ifdef ENABLE_VFS_SMB
init_smbfs ();
#endif /* ENABLE_VFS_SMB */
#ifdef ENABLE_VFS_MCFS
init_mcfs ();
#endif /* ENABLE_VFS_MCFS */
#endif /* USE_NETCODE */
vfs_setup_wd ();

View File

@ -1,69 +0,0 @@
dnl MC_MCSERVER_CHECKS
dnl Check how mcserver should check passwords.
dnl Possible methods are PAM, pwdauth and crypt.
dnl The later works with both /etc/shadow and /etc/passwd.
dnl If PAM is found, other methods are not checked.
AC_DEFUN([MC_MCSERVER_CHECKS], [
dnl
dnl mcfs server support
dnl
AC_ARG_ENABLE([mcserver],
[ --enable-mcserver Support mc-specific networking file system server [[no]]],
[enable_mcserver="$enableval"]
)
if test x"$enable_mcserver" = "xyes"; then
AC_DEFINE(ENABLE_MCSERVER, 1, [Define to enable mc-specific networking file system server])
AC_REQUIRE_SOCKET
AC_CHECK_RPC
use_net_code=true
dnl Check if PAM can be used for mcserv
AC_CHECK_LIB(dl, dlopen, [LIB_DL="-ldl"])
AC_CHECK_LIB(pam, pam_start, [
AC_DEFINE(HAVE_PAM, 1,
[Define if PAM (Pluggable Authentication Modules) is available])
MCSERVLIBS="-lpam $LIB_DL"
mcserv_pam=yes], [], [$LIB_DL])
dnl Check for crypt() - needed for both /etc/shadow and /etc/passwd.
if test x"$mcserv_pam" = x; then
dnl Check for pwdauth() - used on SunOS.
AC_CHECK_FUNCS([pwdauth])
dnl Check for crypt()
AC_CHECK_HEADERS([crypt.h], [crypt_header=yes])
if test -n "$crypt_header"; then
save_LIBS="$LIBS"
LIBS=
AC_SEARCH_LIBS(crypt, [crypt crypt_i], [mcserv_auth=crypt])
MCSERVLIBS="$LIBS"
LIBS="$save_LIBS"
if test -n "$mcserv_auth"; then
AC_DEFINE(HAVE_CRYPT, 1,
[Define to use crypt function in mcserv])
dnl Check for shadow passwords
AC_CHECK_HEADERS([shadow.h shadow/shadow.h],
[shadow_header=yes; break])
if test -n "$shadow_header"; then
save_LIBS="$LIBS"
LIBS="$MCSERVLIBS"
AC_SEARCH_LIBS(getspnam, [shadow], [mcserv_auth=shadow])
MCSERVLIBS="$LIBS"
LIBS="$save_LIBS"
if test -n "$mcserv_auth"; then
AC_DEFINE(HAVE_SHADOW, 1,
[Define to use shadow passwords for mcserv])
fi
fi
fi
fi
fi
fi
AM_CONDITIONAL(ENABLE_MCSERVER, [test x"$enable_mcserver" = "xyes"])
AC_SUBST(MCSERVLIBS)
])

View File

@ -16,7 +16,6 @@ m4_include([m4.include/vfs/mc-vfs-fish.m4])
m4_include([m4.include/vfs/mc-vfs-undelfs.m4])
m4_include([m4.include/vfs/mc-vfs-tarfs.m4])
m4_include([m4.include/vfs/mc-vfs-cpiofs.m4])
m4_include([m4.include/vfs/mc-vfs-mcfs.m4])
m4_include([m4.include/vfs/mc-vfs-samba.m4])
m4_include([m4.include/vfs/mc-mvfs.m4])
@ -75,7 +74,6 @@ AC_DEFUN([AC_MC_VFS_CHECKS],[
AC_MC_VFS_EXTFS
AC_MC_VFS_SFS
AC_MC_VFS_UNDELFS
AC_MC_VFS_MCFS
AC_MC_VFS_SAMBA
MC_WITH_VFS
@ -91,7 +89,5 @@ AC_DEFUN([AC_MC_VFS_CHECKS],[
AM_CONDITIONAL(ENABLE_VFS_UNDELFS, [false])
fi
MC_MCSERVER_CHECKS
AM_CONDITIONAL(ENABLE_VFS, [test x"$enable_vfs" = x"yes"])
])

View File

@ -1,17 +0,0 @@
AC_DEFUN([AC_MC_VFS_MCFS_SET],
[
AC_REQUIRE_SOCKET
AC_CHECK_RPC
AC_DEFINE(ENABLE_VFS_MCFS, 1, [Define to enable mc-specific networking file system])
AC_MC_VFS_ADDNAME([mcfs])
use_net_code=true
])
AC_DEFUN([AC_MC_VFS_MCFS],
[
AC_ARG_ENABLE([vfs-mcfs],
[ --enable-vfs-mcfs Enable Support MCFS (mc's network filesystem)])
if test x"$enable_vfs_mcfs" = x"yes" ; then
AC_MC_VFS_MCFS_SET
fi
])

View File

@ -48,7 +48,7 @@ mc_cflags=""
mc_ldflags=""
mc_tests="plain glib12 charset no_charset vfs no_vfs mcfs no_mcfs samba "\
mc_tests="plain glib12 charset no_charset vfs no_vfs samba "\
"no_samba ext2undel no_ext2undel slang ncurses maintainer "\
"no_maintainer i18n no_i18n no_features all_features"
@ -151,12 +151,12 @@ renice ${mc_nice_value} $$ 1>/dev/null 2>&1 || true
configure_args_enable_all="--enable-largefile --enable-nls "\
"--enable-netcode --enable-background --enable-charset "\
"--with-mmap --with-included-gettext --with-x "\
"--with-vfs --with-mcfs --with-samba --with-ext2undel "\
"--with-vfs --with-samba --with-ext2undel "\
"--with-gpm-mouse --with-subshell --with-edit"
configure_args_disable_all="--disable-largefile --disable-nls "\
"--disable-netcode --disable-background --disable-charset "\
"--without-mmap --without-included-gettext --without-x "\
"--without-vfs --without-mcfs --without-samba --without-ext2undel "\
"--without-vfs --without-samba --without-ext2undel "\
"--without-gpm-mouse --without-subshell --without-edit"
errors=0
@ -401,18 +401,6 @@ test_no_vfs() {
confbuild
}
test_mcfs() {
testname="mcfs"
configure_args="--with-mcfs"
confbuild
}
test_no_mcfs() {
testname="no_mcfs"
configure_args="--without-mcfs"
confbuild
}
test_samba() {
testname="samba"
configure_args="--with-samba"

View File

@ -47,7 +47,7 @@
#mc_ldflags=""
# The list of tests that will be run.
#mc_tests="plain glib12 charset no_charset vfs no_vfs mcfs no_mcfs samba "\
#mc_tests="plain glib12 charset no_charset vfs no_vfs samba "\
#"no_samba ext2undel no_ext2undel slang ncurses maintainer "\
#"no_maintainer i18n no_i18n no_features all_features"

View File

@ -41,7 +41,7 @@ distcheck 1
echo "Checking the configuration with maximal code coverage"
distcheck 2 enable_charset=yes with_samba=yes \
with_mcfs=yes with_included_gettext=yes with_glib12=yes
with_included_gettext=yes with_glib12=yes
echo "Checking the configuration with minimal code coverage"
distcheck 3 enable_largefile=no enable_nls=no with_vfs=no \

View File

@ -42,7 +42,7 @@
# %% -> % character
# %p -> name of the current file (without path, but pwd is its path)
# %f -> name of the current file. Unlike %p, if file is located on a
# non-local virtual filesystem, i.e. either tarfs, mcfs or ftpfs,
# non-local virtual filesystem, i.e. either tarfs or ftpfs,
# then the file will be temporarily copied into a local directory
# and %f will be the full path to this local temporal file.
# If you don't want to get a local copy and want to get the

View File

@ -1259,15 +1259,6 @@ nice_cd (const char *text, const char *xtext, const char *help,
static const char *machine_str = N_("Enter machine name (F1 for details):");
#ifdef ENABLE_VFS_MCFS
void
netlink_cmd (void)
{
nice_cd (_("Link to a remote machine"), _(machine_str),
"[Network File System]", ":netlink_cmd: Link to a remote ", "/#mc:", 1);
}
#endif /* ENABLE_VFS_MCFS */
void
ftplink_cmd (void)
{

View File

@ -17,7 +17,6 @@ typedef enum
LINK_SYMLINK_RELATIVE
} link_type_t;
void netlink_cmd (void);
void ftplink_cmd (void);
void fishlink_cmd (void);
void smblink_cmd (void);

View File

@ -354,7 +354,6 @@
#define CK_ListmodeCmd 7042
#define CK_MenuLastSelectedCmd 7044
#define CK_MkdirCmd 7045
#define CK_NetlinkCmd 7046
#define CK_QuickCdCmd 7047
#define CK_QuickChdirCmd 7048
#define CK_QuickViewCmd 7049

View File

@ -367,9 +367,6 @@ static name_keymap_t command_names[] = {
{ "CmdListmodeCmd", CK_ListmodeCmd }.
#endif
{ "CmdMkdir", CK_MkdirCmd },
#if defined (USE_NETCODE) && defined (ENABLE_VFS_MCFS)
{ "CmdNetlink", CK_NetlinkCmd },
#endif
{ "CmdPanelOptions", CK_PanelOptionsBox },
{ "CmdQuickCd", CK_QuickCdCmd },
{ "CmdQuickChdir", CK_QuickChdirCmd },

View File

@ -683,9 +683,6 @@ create_panel_menu (void)
#endif
#ifdef USE_NETCODE
entries = g_list_append (entries, menu_separator_create ());
#ifdef ENABLE_VFS_MCFS
entries = g_list_append (entries, menu_entry_create (_("&Network link..."), CK_NetlinkCmd));
#endif
entries = g_list_append (entries, menu_entry_create (_("FT&P link..."), CK_FtplinkCmd));
entries = g_list_append (entries, menu_entry_create (_("S&hell link..."), CK_FishlinkCmd));
#ifdef ENABLE_VFS_SMB
@ -1320,11 +1317,6 @@ midnight_execute_cmd (Widget * sender, unsigned long command)
case CK_MkdirCmd:
mkdir_cmd ();
break;
#if defined (USE_NETCODE) && defined (ENABLE_VFS_MCFS)
case CK_NetlinkCmd:
netlink_cmd ();
break;
#endif
case CK_PanelOptionsBox:
panel_options_box ();
break;

View File

@ -39,9 +39,6 @@ static const char *const vfs_supported[] = {
#ifdef USE_NETCODE
"ftpfs",
"fish",
# ifdef ENABLE_VFS_MCFS
"mcfs",
# endif
# ifdef ENABLE_VFS_SMB
"smbfs",
# endif /* ENABLE_VFS_SMB */