diff --git a/.downloads/ncpfs-2.2.2.tar.gz b/.downloads/ncpfs-2.2.2.tar.gz new file mode 100644 index 0000000..56c2a80 Binary files /dev/null and b/.downloads/ncpfs-2.2.2.tar.gz differ diff --git a/Changes b/Changes index 5e33431..21fe6b4 100644 --- a/Changes +++ b/Changes @@ -1,3 +1,67 @@ +ChangeSet@1.245, 2003-02-15 10:14:01+01:00 + Update Czech translations. + +ChangeSet@1.244, 2003-02-15 09:59:55+01:00 + Honor default name context setting in ncpmount, and in file and + print utilities. + +ChangeSet@1.243, 2003-02-14 10:58:30+01:00 + Teach nds_login to honor character encoding specified in context. + Teach nds_login_auth to use default name context specified in + configuration file. + +ChangeSet@1.242, 2003-02-14 10:25:31+01:00 + Fix few compile warnings... + +ChangeSet@1.241, 2003-02-14 10:21:06+01:00 + Make authenticators user configurable, some people may want to + disable bindery (or NDS) authentication. + +ChangeSet@1.240, 2003-02-14 09:28:28+01:00 + Learn pqlist to use default name context from /etc/ncpfs.conf. + +ChangeSet@1.239, 2003-02-14 09:27:26+01:00 + Do not store compiled ipxdump and ipxparse in BitKeeper... + +ChangeSet@1.238, 2003-02-14 09:26:02+01:00 + Update /etc/ncpfs.conf format to allow unquoted values with embeded + spaces. We'll need that in future for 'NDS BIND' without quotes... + +ChangeSet@1.237, 2003-02-13 10:20:37+01:00 + Store session key also for temporary connections, so NDS aware utilities + as for example pqstat or nprint can do what they promise. + + Please note bindery authentication is tried first, and if you are + bindery authenticated then there is no session key, and thus no background + authentication. So you may want to use FQDN instead of short name for + pqstat or nprint. + +ChangeSet@1.236, 2003-02-13 10:16:18+01:00 + Retrieve queue name and job owner in pqstat from NDS. Reported by + Jimmy Kaplowitz. + +ChangeSet@1.235, 2003-02-13 09:03:01+01:00 + Remove references to RSA patent #4,405,829 from README.NDS. Patent expired + more than two years ago... Reported by Ken Conrad. + +ChangeSet@1.234, 2003-02-11 10:36:50+01:00 + Add GIVEN_NAME to the list of known text properties. + +ChangeSet@1.233, 2003-02-09 04:59:37+01:00 + Learn BitKeeper to ignore temporary products of --with-included-gettext. + +ChangeSet@1.232, 2003-02-09 04:57:06+01:00 + Fix dependencies for --with-included-gettext build. Spotted + by David Walser. + +ChangeSet@1.231, 2003-02-09 04:38:09+01:00 + Create directory for pam_ncp module during install. Spotted and fixed + by David Walser. + +ChangeSet@1.230, 2003-02-08 11:30:40+01:00 + ncpfs-2.2.1 released + TAG: ncpfs-2.2.1 + ChangeSet@1.229, 2003-02-08 11:06:50+01:00 Ignore editor backup files *~ diff --git a/ConfigFile b/ConfigFile index 532bd85..8b7a951 100644 --- a/ConfigFile +++ b/ConfigFile @@ -11,17 +11,18 @@ triplets (eventually with user or password ommited). Sectioned part (and whole /etc/ncpfs.conf file) contains couple of sections. Each section is started with "[Section Name]" line, lines in section are in -format "Key Name = value". If value contains spaces, you must either prefix -spaces with backslash "\" or enclose value into quotes (') or double quotes -("). If value contains backslash "\", you must prefix it with backslash. If -value in quotes contains quote, you must prefix it with backslash. Code knows -two special values, "\n" for LF and "\r" for CR - although currently there is -no reason for embed them into values. +format "Key Name = value". If value contains hash (#) or semicolon (;), you +must either prefix these characters with backslash (\) or enclose value into +quotes (') or double quotes ("). If value contains backslash (\), you must +prefix it with backslash. If value in quotes contains same quote, you must prefix +it with backslash. Code knows two special values, "\n" for LF and "\r" for CR +- although currently there is no reason for embed them into values. -Everything after closing bracket on "[Section Name]" line is ignored. -Everything after value on "Key Name = value" line is ignored too. +Comments begin with hash (#) or semicolon (;) and can occur on any place +outside quotes. -Following three examples mean same thing: +Following four examples mean same thing: +Strange Value = Strange Value "1 Strange Value = Strange\ Value\ "1 Strange Value = "Strange Value \"1" Strange Value = 'Strange Value "1' @@ -58,6 +59,11 @@ Default Tree Name = Default Name Context = Default name context is specified relative to [Root]. Default: "[Root]" + +NetWare Protocol = + List of authenticators, separated by spaces or commas. + Currently two authenticators are known, "NDS" and "BIND". + Default: "NDS BIND" [Tree ] diff --git a/README.NDS b/README.NDS index 6ba5590..80b5c5b 100644 --- a/README.NDS +++ b/README.NDS @@ -1,8 +1,3 @@ -The NDS login code uses the RSA public key cryptosystem. Because of a patent -right on this algorithm (U.S. patent #4,405,829, issued 20 Sep 1983), you -are probably not allowed to use this code in the U.S.A. and Canada, and -possibly neither in other countries. Check this before you use NDS logins! - The mpilib.c, mpilib.h, platform.h, and usuals.h in the lib/ directory are taken from the PGP 2.3 source distribution (Copyright 1986-92 by Philip Zimmermann), which is distributed under the GPL, as stated below. @@ -11,8 +6,5 @@ Excerpt from pgpdoc2.txt (contained in pgp23src.zip): "All the source code for PGP is available for free under the "Copyleft" General Public License from the Free Software Foundation (FSF)." -For more details on the RSA patent see the pgp23src archive, or more recent -PGP packages. - Arne de Bruijn arne@knoware.nl diff --git a/configure b/configure index 67d4ae3..c393074 100755 --- a/configure +++ b/configure @@ -1,7 +1,7 @@ #! /bin/sh -# From configure.ac 2.2.1. +# From configure.ac 2.2.2. # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.57 for ncpfs 2.2.1. +# Generated by GNU Autoconf 2.57 for ncpfs 2.2.2. # # Report bugs to . # @@ -269,8 +269,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='ncpfs' PACKAGE_TARNAME='-ncpfs-' -PACKAGE_VERSION='2.2.1' -PACKAGE_STRING='ncpfs 2.2.1' +PACKAGE_VERSION='2.2.2' +PACKAGE_STRING='ncpfs 2.2.2' PACKAGE_BUGREPORT='vandrove@vc.cvut.cz' ac_unique_file="lib/ncplib.c" @@ -781,7 +781,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures ncpfs 2.2.1 to adapt to many kinds of systems. +\`configure' configures ncpfs 2.2.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -842,7 +842,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of ncpfs 2.2.1:";; + short | recursive ) echo "Configuration of ncpfs 2.2.2:";; esac cat <<\_ACEOF @@ -954,7 +954,7 @@ fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -ncpfs configure 2.2.1 +ncpfs configure 2.2.2 generated by GNU Autoconf 2.57 Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 @@ -969,7 +969,7 @@ cat >&5 <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by ncpfs $as_me 2.2.1, which was +It was created by ncpfs $as_me 2.2.2, which was generated by GNU Autoconf 2.57. Invocation command line was $ $0 $@ @@ -11008,7 +11008,7 @@ _ASBOX } >&5 cat >&5 <<_CSEOF -This file was extended by ncpfs $as_me 2.2.1, which was +This file was extended by ncpfs $as_me 2.2.2, which was generated by GNU Autoconf 2.57. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -11071,7 +11071,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -ncpfs config.status 2.2.1 +ncpfs config.status 2.2.2 configured by $0, generated by GNU Autoconf 2.57, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" diff --git a/configure.ac b/configure.ac index 37d867e..5c479d4 100644 --- a/configure.ac +++ b/configure.ac @@ -1,8 +1,8 @@ dnl Process this file with autoconf to produce a configure script. AC_PREREQ(2.50) -AC_INIT([[ncpfs]],[[2.2.1]],[[vandrove@vc.cvut.cz]]) +AC_INIT([[ncpfs]],[[2.2.2]],[[vandrove@vc.cvut.cz]]) AC_CONFIG_SRCDIR([[lib/ncplib.c]]) -AC_REVISION([[2.2.1]]) +AC_REVISION([[2.2.2]]) AC_CONFIG_HEADER(include/config.h) diff --git a/contrib/pam/Makefile.in b/contrib/pam/Makefile.in index 966e7e5..c515e03 100644 --- a/contrib/pam/Makefile.in +++ b/contrib/pam/Makefile.in @@ -27,6 +27,7 @@ default: all: $(PAM_LIBRARY) install: all + ${INSTALL} -d $(DESTDIR)$(LIB_PAM_SECURITY) ${INSTALL} -m 755 $(PAM_LIBRARY) $(DESTDIR)$(LIB_PAM_SECURITY) install-dev: diff --git a/include/ncp/ncplib.h b/include/ncp/ncplib.h index 8b0eb89..8898e0b 100644 --- a/include/ncp/ncplib.h +++ b/include/ncp/ncplib.h @@ -711,6 +711,7 @@ long #define NWE_SIGNATURE_LEVEL_CONFLICT (NWE_REQUESTER_ERROR | 0x61) #define NWE_INVALID_LEVEL (NWE_REQUESTER_ERROR | 0x6B) #define NWE_UNSUPPORTED_TRAN_TYPE (NWE_REQUESTER_ERROR | 0x70) +#define NWE_UNSUPPORTED_AUTHENTICATOR (NWE_REQUESTER_ERROR | 0x73) #define NWE_REQUESTER_FAILURE (NWE_REQUESTER_ERROR | 0xFF) #define NWE_SERVER_ERROR (0x8900) diff --git a/intl/Makefile.in b/intl/Makefile.in index 3ae98d1..b653631 100644 --- a/intl/Makefile.in +++ b/intl/Makefile.in @@ -275,7 +275,7 @@ uninstall: info dvi: -$(OBJECTS): ../config.h libgnuintl.h +$(OBJECTS): ../include/config.h libgnuintl.h bindtextdom.$lo dcgettext.$lo dcigettext.$lo dcngettext.$lo dgettext.$lo dngettext.$lo finddomain.$lo gettext.$lo intl-compat.$lo loadmsgcat.$lo localealias.$lo ngettext.$lo textdomain.$lo: gettextP.h gmo.h loadinfo.h dcigettext.$lo: hash-string.h explodename.$lo l10nflist.$lo: loadinfo.h diff --git a/lib/cfgfile.c b/lib/cfgfile.c index 8fbcfc5..7cf2e45 100644 --- a/lib/cfgfile.c +++ b/lib/cfgfile.c @@ -127,8 +127,18 @@ sstart:; while ((cc = *cptr++) != 0) { if (cc == '\n') break; - if (!ec && isspace(cc)) - break; + if (!ec && isspace(cc)) { + char* cp = sptr; + + do { + *cp++ = cc; + cc = *cptr++; + } while (cc && cc != '\n' && isspace(cc)); + if (!cc || cc == '\n' || cc == '#' || cc == ';') { + break; + } + sptr = cp; + } if (cc == ec) break; if (cc == '\\') { @@ -138,6 +148,13 @@ sstart:; if (cc == '\n') break; switch (cc) { + case '#': + case ';': + case ' ': + /* List these explicitly so it is clear that they are used/supported */ + break; + case 't': + cc = '\t'; break; case 'n': cc = '\n'; break; case 'r': diff --git a/lib/ds/setkeys.c b/lib/ds/setkeys.c index 210bed7..4799ce6 100644 --- a/lib/ds/setkeys.c +++ b/lib/ds/setkeys.c @@ -488,7 +488,7 @@ NWDSCCODE NWDSChangeObjectPassword( NWDSCCODE nds_login( NWDSContextHandle ctx, - const wchar_t* objectName, + const NWDSChar* objectName, const char *objectPassword) { NWCONN_HANDLE conn; NWObjectID objectID; @@ -503,23 +503,23 @@ NWDSCCODE nds_login( nuint8 logindata[8]; NWDSCCODE grace_err; wchar_t unaliasedName[MAX_DN_CHARS + 1]; + NWDSContextHandle wctx; - err = __NWDSGenerateObjectKeyPairStep1(ctx, (const NWDSChar*)objectName, + err = __NWDSGenerateObjectKeyPairStep1(ctx, objectName, &conn, &objectID, &pseudoID, rndseed, &serverPublicKey); if (err) return err; - { - NWDSContextHandle wctx; - - err = NWDSDuplicateContextHandleInt(ctx, &wctx); - if (!err) { - err = NWDSMapIDToName(wctx, conn, objectID, - (NWDSChar*)unaliasedName); - NWDSFreeContext(wctx); - } - if (err) - wcscpy(unaliasedName, objectName); + err = NWDSDuplicateContextHandleInt(ctx, &wctx); + if (err) { + __NWDSGenerateObjectKeyPairStep3(conn, serverPublicKey); + return err; + } + err = NWDSMapIDToName(wctx, conn, objectID, (NWDSChar*)unaliasedName); + if (err) { + NWDSFreeContext(wctx); + __NWDSGenerateObjectKeyPairStep3(conn, serverPublicKey); + return err; } /* compute key... */ pwdLen = strlen(objectPassword); @@ -541,7 +541,7 @@ NWDSCCODE nds_login( rndseed, objectID, pwdHash, logindata, &privKey, &privKeyLen); __NWDSGenerateObjectKeyPairStep3(conn, serverPublicKey); if (!grace_err || grace_err == NWE_PASSWORD_EXPIRED) { - err = NWDSSetKeys(ctx, logindata, unaliasedName, privKey, privKeyLen); + err = NWDSSetKeys(wctx, logindata, unaliasedName, privKey, privKeyLen); memset(privKey, 0, privKeyLen); free(privKey); if (err) @@ -549,6 +549,7 @@ NWDSCCODE nds_login( } err = grace_err; err_exit: + NWDSFreeContext(wctx); memset(logindata, 0, sizeof(logindata)); return err; } diff --git a/lib/ncplib.c b/lib/ncplib.c index 1f1044b..c334fca 100644 --- a/lib/ncplib.c +++ b/lib/ncplib.c @@ -151,6 +151,7 @@ int bindery_only = 0; #include #include #include +#include #ifdef NCP_KERNEL_NCPFS_AVAILABLE #include #endif @@ -167,6 +168,7 @@ int bindery_only = 0; #include "private/ncp-new.h" #include "ncpcode.h" +#include "cfgfile.h" #include "private/libintl.h" #define _(X) dgettext(NCPFS_PACKAGE, (X)) @@ -1578,11 +1580,12 @@ ncp_find_fileserver(const char *server_name, struct sockaddr* addr, socklen_t le return ncp_find_server(&server_name, OT_FILE_SERVER, addr, len); } -NWCCODE -ncp_login_conn(struct ncp_conn* conn, const char* object_name, NWObjectType object_type, const char* password) { - int err; - #ifdef NDS_SUPPORT +static NWCCODE +ncp_login_nds(struct ncp_conn* conn, const char* object_name, const char* password) { + NWCCODE err; + + err = NWE_NCP_NOT_SUPPORTED; if (NWIsDSServer(conn, NULL)) { err = nds_login_auth(conn, object_name, password); if (!err) return 0; @@ -1590,14 +1593,47 @@ ncp_login_conn(struct ncp_conn* conn, const char* object_name, NWObjectType obje fprintf(stderr, _("Your password has expired\n")); return 0; } -// fprintf(stderr, _("Unable to NDS log-in (error %d [0x%04X]), trying bindery...\n"), err, err); } -#endif - err = ncp_login_object(conn, object_name, object_type, password); - if (err != 0) { - return err; + return err; +} +#endif + +NWCCODE +ncp_login_conn(struct ncp_conn* conn, const char* object_name, NWObjectType object_type, const char* password) { + NWCCODE err; + char* auth; + + auth = cfgGetItem("Requester", "NetWare Protocol"); + if (auth) { + char* ptr = auth; + char* curr; + + err = NWE_UNSUPPORTED_AUTHENTICATOR; + while ((curr = strsep(&ptr, " \t,")) != NULL) { + if (!strcasecmp(curr, "BIND")) { + err = ncp_login_object(conn, object_name, object_type, password); +#ifdef NDS_SUPPORT + } else if (!strcasecmp(curr, "NDS")) { + err = ncp_login_nds(conn, object_name, password); +#endif + } else { + /* Leave error code as is... */ + } + if (!err) { + break; + } + } + free(auth); + } else { +#ifdef NDS_SUPPORT + err = ncp_login_nds(conn, object_name, password); + if (!err) { + return 0; + } +#endif + err = ncp_login_object(conn, object_name, object_type, password); } - return 0; + return err; } static long @@ -1956,6 +1992,11 @@ ncp_do_close(struct ncp_conn *conn) conn->ncp_reply_buffer = NULL; conn->ncp_reply_alloc = 0; } + if (conn->private_key) { + free(conn->private_key); + conn->private_key = NULL; + conn->private_key_len = 0; + } ncpt_mutex_destroy(&conn->serverInfo.mutex); ncpt_mutex_destroy(&conn->buffer_mutex); free(conn); @@ -3969,8 +4010,8 @@ ncp_set_dentry_ttl(struct ncp_conn* conn, unsigned int ttl) { #endif } -NWCCODE -ncp_get_private_key(struct ncp_conn* conn, void* pk, size_t* pk_len) { +static NWCCODE +ncp_get_private_key_perm(struct ncp_conn* conn, void* pk, size_t* pk_len) { #ifdef NCP_KERNEL_NCPFS_AVAILABLE int fd = ncp_get_fid(conn); struct ncp_privatedata_ioctl npi; @@ -3995,8 +4036,35 @@ ncp_get_private_key(struct ncp_conn* conn, void* pk, size_t* pk_len) { #endif } +static NWCCODE +ncp_get_private_key_temp(struct ncp_conn* conn, void* pk, size_t* pk_len) { + NWCCODE err = 0; + + ncp_lock_conn(conn); + if (pk) { + size_t maxln = *pk_len; + if (maxln > conn->private_key_len) { + maxln = conn->private_key_len; + } + memcpy(pk, conn->private_key, maxln); + } + *pk_len = conn->private_key_len; + ncp_unlock_conn(conn); + return err; +} + NWCCODE -ncp_set_private_key(struct ncp_conn* conn, const void* pk, size_t pk_len) { +ncp_get_private_key(struct ncp_conn* conn, void* pk, size_t* pk_len) { + switch (ncp_get_conn_type(conn)) { + case NCP_CONN_TEMPORARY: + return ncp_get_private_key_temp(conn, pk, pk_len); + default: + return ncp_get_private_key_perm(conn, pk, pk_len); + } +} + +static NWCCODE +ncp_set_private_key_perm(struct ncp_conn* conn, const void* pk, size_t pk_len) { #ifdef NCP_KERNEL_NCPFS_AVAILABLE int fd = ncp_get_fid(conn); struct ncp_privatedata_ioctl npi; @@ -4015,6 +4083,37 @@ ncp_set_private_key(struct ncp_conn* conn, const void* pk, size_t pk_len) { #endif } +static NWCCODE +ncp_set_private_key_temp(struct ncp_conn* conn, const void* pk, size_t pk_len) { + void *keydata; + void *oldkeydata; + + keydata = malloc(pk_len); + if (!keydata) + return ENOMEM; + mlock(keydata, pk_len); + memcpy(keydata, pk, pk_len); + + ncp_lock_conn(conn); + oldkeydata = conn->private_key; + conn->private_key = keydata; + conn->private_key_len = pk_len; + ncp_unlock_conn(conn); + + free(oldkeydata); + return 0; +} + +NWCCODE +ncp_set_private_key(struct ncp_conn* conn, const void* pk, size_t pk_len) { + switch (ncp_get_conn_type(conn)) { + case NCP_CONN_TEMPORARY: + return ncp_set_private_key_temp(conn, pk, pk_len); + default: + return ncp_set_private_key_perm(conn, pk, pk_len); + } +} + NWCCODE ncp_next_conn(NWCONN_HANDLE conn, NWCONN_HANDLE* next_conn) { struct list_head* h; diff --git a/lib/ncplib_i.h b/lib/ncplib_i.h index 5a4d773..45fa5f6 100644 --- a/lib/ncplib_i.h +++ b/lib/ncplib_i.h @@ -110,6 +110,9 @@ struct ncp_conn { int has_subfunction; int verbose; size_t ncp_reply_size; + + void *private_key; + size_t private_key_len; int lock; diff --git a/lib/ndslib.c b/lib/ndslib.c index 7299a62..1ed24ce 100644 --- a/lib/ndslib.c +++ b/lib/ndslib.c @@ -1327,15 +1327,18 @@ long nds_login_auth(struct ncp_conn *conn, const char *user, err = NWDSCreateContextHandle(&ctx); if (err) return err; - ctx->dck.flags = DCV_XLATE_STRINGS | DCV_TYPELESS_NAMES | DCV_DEREF_ALIASES; + ctx->dck.flags = DCV_XLATE_STRINGS | DCV_TYPELESS_NAMES | DCV_DEREF_ALIASES | DCV_CANONICALIZE_NAMES; ctx->priv_flags |= DCV_PRIV_AUTHENTICATING; + err = NWDSXlateFromCtx(ctx, user_w, sizeof(user_w), user); + if (err) + goto err_exit; err = NWDSSetContext(ctx, DCK_LOCAL_CHARSET, "WCHAR_T//"); if (err) goto err_exit; NWDSAddConnection(ctx, conn); - strcpy_cw(user_w, user); - err = nds_login(ctx, (const wchar_t*)user_w, pwd); + err = nds_login(ctx, (const NWDSChar*)user_w, pwd); if ((err == ERR_NO_SUCH_ENTRY) && + (user_w[0] != '.') && (user_w[wcslen(user_w)-1] != '.')) { #ifdef ERR_MSG printf(_("User %s not found in current context.\n" @@ -1354,7 +1357,8 @@ long nds_login_auth(struct ncp_conn *conn, const char *user, memcpy(user_w + wcslen(user_w), server_name + i, (wcslen(server_name + i) + 1) * sizeof(wchar_t)); - err = nds_login(ctx, user_w, pwd); + ctx->dck.flags &= ~DCV_CANONICALIZE_NAMES; + err = nds_login(ctx, (const NWDSChar*)user_w, pwd); } if (err) { if (err != NWE_PASSWORD_EXPIRED) { diff --git a/lib/ndslib_i.h b/lib/ndslib_i.h index 0387f71..f17bbe5 100644 --- a/lib/ndslib_i.h +++ b/lib/ndslib_i.h @@ -48,7 +48,7 @@ NWDSCCODE __NWDSGetPrivateKey(NWCONN_HANDLE conn, const nuint8* connPublicKey, const nuint8 rndseed[4], NWObjectID objectID, const nuint8 pwdHash[16], nuint8 logindata[8], nuint8** privateKey, size_t* privateKeyLen); -NWDSCCODE nds_login(NWDSContextHandle ctx, const wchar_t* objectName, +NWDSCCODE nds_login(NWDSContextHandle ctx, const NWDSChar* objectName, const char* objectPassword); #endif diff --git a/lib/strops.c b/lib/strops.c index 3d0f93a..a313dbd 100644 --- a/lib/strops.c +++ b/lib/strops.c @@ -277,6 +277,9 @@ strrqerror(int err) {NWE_UNSUPPORTED_TRAN_TYPE, /* 8870 */ N_("Unsupported transport type")}, /* ... */ + {NWE_UNSUPPORTED_AUTHENTICATOR, /* 8873 */ + N_("Unsupported authenticator")}, + /* ... */ {0x10000, NULL}}; const struct errxlat* eptr = rqerrors; diff --git a/po/cs.gmo b/po/cs.gmo index 48b19bf..c7dc4e7 100644 Binary files a/po/cs.gmo and b/po/cs.gmo differ diff --git a/po/cs.po b/po/cs.po index 0dc4a34..1358c31 100644 --- a/po/cs.po +++ b/po/cs.po @@ -5,7 +5,7 @@ msgid "" msgstr "" "Project-Id-Version: ncpfs 2.2.0.13\n" -"POT-Creation-Date: 2002-11-25 19:27+0100\n" +"POT-Creation-Date: 2003-02-15 10:00+0100\n" "PO-Revision-Date: 2002-01-20 16:00+0100\n" "Last-Translator: Petr Vandrovec \n" "Language-Team: Why is new gettext so stupid? " +msgstr "Neznámý:<%s>" + +#: util/nwdir.c:223 msgid "User:" msgstr "Uživatel:" -#: util/nwdir.c:213 +#: util/nwdir.c:224 msgid "Group:" msgstr "Skupina:" -#: util/nwdir.c:214 +#: util/nwdir.c:225 msgid "FileServer:" msgstr "SouborovýServer:" -#: util/nwdir.c:215 +#: util/nwdir.c:226 #, c-format msgid "Unknown(%04X):" msgstr "Neznámý(%04X):" -#: util/nwdir.c:256 +#: util/nwdir.c:267 msgid "never" msgstr "nikdy" -#: util/nwdir.c:296 +#: util/nwdir.c:307 #, c-format msgid "" "Extended attributes: %u attributes\n" @@ -3005,7 +3017,7 @@ msgstr "" "Rozšířené attributy: %u attributů\n" " %u bajtů v klíčích, %u bajtů v datech\n" -#: util/nwdir.c:312 +#: util/nwdir.c:323 #, c-format msgid "" " Key %u:\n" @@ -3018,125 +3030,125 @@ msgstr "" " Přístup: 0x%08X\n" " Délka hodnoty: %u\n" -#: util/nwdir.c:350 util/nwdir.c:373 +#: util/nwdir.c:361 util/nwdir.c:384 #, c-format msgid " Cannot determine file size: %s\n" msgstr " Nemohu zjistit velikost souboru: %s\n" -#: util/nwdir.c:352 util/nwdir.c:402 +#: util/nwdir.c:363 util/nwdir.c:413 #, c-format msgid " File size: %10Lu" msgstr " Velikost souboru:%10Lu" -#: util/nwdir.c:357 util/nwdir.c:408 +#: util/nwdir.c:368 util/nwdir.c:419 #, c-format msgid " (allocated %Lu)" msgstr " (alokováno %Lu)" -#: util/nwdir.c:375 +#: util/nwdir.c:386 msgid " No datastream exist\n" msgstr " Neexistuje žádný datový proud\n" -#: util/nwdir.c:399 +#: util/nwdir.c:410 #, c-format msgid " Stream %3u size: %10Lu" msgstr " Velikost p. %3u: %10Lu" -#: util/nwdir.c:430 +#: util/nwdir.c:441 #, c-format msgid "Cannot retrieve file attributes: %s\n" msgstr "Nemohu zjistit attributy: %s\n" -#: util/nwdir.c:436 +#: util/nwdir.c:447 #, c-format msgid "Cannot retrieve file number: %s\n" msgstr "Nemohu zjistit číslo souboru: %s\n" -#: util/nwdir.c:442 +#: util/nwdir.c:453 #, c-format msgid "Cannot retrieve file name: %s\n" msgstr "Nemohu zjistit jméno souboru: %s\n" -#: util/nwdir.c:447 +#: util/nwdir.c:458 msgid "Directory:\n" msgstr "Adresář:\n" -#: util/nwdir.c:449 +#: util/nwdir.c:460 msgid "File:\n" msgstr "Soubor:\n" -#: util/nwdir.c:463 +#: util/nwdir.c:474 msgid " DOS: " msgstr "" -#: util/nwdir.c:468 +#: util/nwdir.c:479 msgid " OS/2: " msgstr "" -#: util/nwdir.c:474 +#: util/nwdir.c:485 msgid " NFS: " msgstr "" -#: util/nwdir.c:480 +#: util/nwdir.c:491 msgid " MAC: " msgstr "" -#: util/nwdir.c:489 +#: util/nwdir.c:500 msgid "Rights:\n" msgstr "Práva:\n" -#: util/nwdir.c:490 +#: util/nwdir.c:501 msgid " Inherited: " msgstr " Děděná: " -#: util/nwdir.c:494 util/nwdir.c:513 util/nwdir.c:529 util/nwdir.c:547 -#: util/nwdir.c:555 util/nwdir.c:562 util/nwdir.c:571 +#: util/nwdir.c:505 util/nwdir.c:524 util/nwdir.c:540 util/nwdir.c:558 +#: util/nwdir.c:566 util/nwdir.c:573 util/nwdir.c:582 #, c-format msgid "Cannot determine: %s\n" msgstr "Nemohu zjistit: %s\n" -#: util/nwdir.c:511 +#: util/nwdir.c:522 msgid " Effective: " msgstr " Efektivní: " -#: util/nwdir.c:525 +#: util/nwdir.c:536 msgid "Owning namespace: " msgstr "Namespace vlast.: " -#: util/nwdir.c:542 +#: util/nwdir.c:553 msgid "Miscellaneous NetWare Information:\n" msgstr "Různé informace NetWare:\n" -#: util/nwdir.c:543 +#: util/nwdir.c:554 msgid " Last update: " msgstr " Poslední změna: " -#: util/nwdir.c:551 +#: util/nwdir.c:562 msgid " Last archived: " msgstr " Posl. archiv.: " -#: util/nwdir.c:560 +#: util/nwdir.c:571 msgid " Last accessed: " msgstr " Posl. přístup: " -#: util/nwdir.c:567 +#: util/nwdir.c:578 msgid " Created/Copied: " msgstr " Vytvořen/Zkop.: " -#: util/nwdir.c:575 +#: util/nwdir.c:586 #, c-format msgid " Flags: [%s%s%s%s]" msgstr " Vlajky: [%s%s%s%s]" -#: util/nwdir.c:625 +#: util/nwdir.c:636 msgid "Trustees:\n" msgstr "Pověření:\n" -#: util/nwdir.c:651 +#: util/nwdir.c:662 msgid "File Usage:\n" msgstr "Využití souboru:\n" -#: util/nwdir.c:652 +#: util/nwdir.c:663 #, c-format msgid "" " Use Count: %5u Open Count: %5u\n" @@ -3149,148 +3161,148 @@ msgstr "" " Počet zakázání čtení: %5u Počet zakázání zápisu: %5u\n" " Zamknuto: %-15s Fork Count: %5u\n" -#: util/nwdir.c:659 +#: util/nwdir.c:670 #, c-format msgid " Connection Count: %10u\n" msgstr " Počet připojení: %10u\n" -#: util/nwdir.c:663 util/nwdir.c:755 +#: util/nwdir.c:674 util/nwdir.c:766 #, c-format msgid " Connection: %u/%u" msgstr " Připojení: %u/%u" -#: util/nwdir.c:666 util/nwdir.c:758 +#: util/nwdir.c:677 util/nwdir.c:769 msgid ", " msgstr ", " -#: util/nwdir.c:671 util/nwuserlist.c:380 +#: util/nwdir.c:682 util/nwuserlist.c:380 msgid "locked" msgstr "zamčeno" -#: util/nwdir.c:671 util/nwuserlist.c:380 +#: util/nwdir.c:682 util/nwuserlist.c:380 msgid "open shareable" msgstr "otevřeno ke sdílení" -#: util/nwdir.c:672 util/nwuserlist.c:381 +#: util/nwdir.c:683 util/nwuserlist.c:381 msgid "logged" msgstr "logged" -#: util/nwdir.c:672 util/nwuserlist.c:381 +#: util/nwdir.c:683 util/nwuserlist.c:381 msgid "open normal" msgstr "otevřen" -#: util/nwdir.c:673 util/nwdir.c:678 util/nwuserlist.c:382 +#: util/nwdir.c:684 util/nwdir.c:689 util/nwuserlist.c:382 #: util/nwuserlist.c:387 msgid "rsvd" msgstr "rsvd" -#: util/nwdir.c:674 util/nwuserlist.c:383 +#: util/nwdir.c:685 util/nwuserlist.c:383 msgid "TTS locked" msgstr "zamčeno TTS" -#: util/nwdir.c:674 util/nwuserlist.c:383 +#: util/nwdir.c:685 util/nwuserlist.c:383 msgid "TTS" msgstr "TTS" -#: util/nwdir.c:675 util/nwuserlist.c:384 +#: util/nwdir.c:686 util/nwuserlist.c:384 msgid "read" msgstr "čtení" -#: util/nwdir.c:675 util/nwuserlist.c:384 +#: util/nwdir.c:686 util/nwuserlist.c:384 msgid "write" msgstr "zápis" -#: util/nwdir.c:676 util/nwuserlist.c:385 +#: util/nwdir.c:687 util/nwuserlist.c:385 msgid "deny read" msgstr "zákaz čtení" -#: util/nwdir.c:676 util/nwuserlist.c:385 +#: util/nwdir.c:687 util/nwuserlist.c:385 msgid "deny write" msgstr "zákaz zápisu" -#: util/nwdir.c:677 util/nwuserlist.c:386 +#: util/nwdir.c:688 util/nwuserlist.c:386 msgid "detached" msgstr "odpojen" -#: util/nwdir.c:677 util/nwuserlist.c:386 +#: util/nwdir.c:688 util/nwuserlist.c:386 msgid "TTS holding detach" msgstr "TTS pozdržuje odpojení" -#: util/nwdir.c:678 util/nwuserlist.c:387 +#: util/nwdir.c:689 util/nwuserlist.c:387 msgid "TTS holding open" msgstr "TTS pozdržuje otevření" -#: util/nwdir.c:699 util/nwdir.c:721 util/nwuserlist.c:409 +#: util/nwdir.c:710 util/nwdir.c:732 util/nwuserlist.c:409 #: util/nwuserlist.c:432 msgid "unlocked" msgstr "odemčen" -#: util/nwdir.c:702 util/nwuserlist.c:412 +#: util/nwdir.c:713 util/nwuserlist.c:412 msgid "Not locked" msgstr "Nezamčen" -#: util/nwdir.c:703 util/nwuserlist.c:413 +#: util/nwdir.c:714 util/nwuserlist.c:413 msgid "Locked by a file lock" msgstr "Uzamčen souborovým zámkem" -#: util/nwdir.c:704 util/nwuserlist.c:414 +#: util/nwdir.c:715 util/nwuserlist.c:414 msgid "Locked by Begin Share File Set" msgstr "Uzamčen pomocí Begin Share File Set" -#: util/nwdir.c:705 util/nwuserlist.c:415 +#: util/nwdir.c:716 util/nwuserlist.c:415 msgid "Unknown lock state" msgstr "Neznámý stav uzamknutí" -#: util/nwdir.c:724 +#: util/nwdir.c:735 #, c-format msgid " Lock: (%02X) %s\n" msgstr " Zámek: (%02X) %s\n" -#: util/nwdir.c:725 +#: util/nwdir.c:736 #, c-format msgid " (%02X) %s\n" msgstr "" -#: util/nwdir.c:726 +#: util/nwdir.c:737 #, c-format msgid " Access: (%02X) %s\n" msgstr " Příst.: (%02X) %s\n" -#: util/nwdir.c:728 +#: util/nwdir.c:739 #, c-format msgid " Lock: %s\n" msgstr " Zámek: %s\n" -#: util/nwdir.c:729 +#: util/nwdir.c:740 #, c-format msgid " %s\n" msgstr "" -#: util/nwdir.c:730 +#: util/nwdir.c:741 #, c-format msgid " Access: %s\n" msgstr " Příst.: %s\n" -#: util/nwdir.c:751 +#: util/nwdir.c:762 msgid "File Physical Locks:\n" msgstr "Fyzické zámky:\n" -#: util/nwdir.c:762 +#: util/nwdir.c:773 #, c-format msgid " Range: 0x%08LX-0x%08LX\n" msgstr " Rozsah: 0x%08LX-0x%08LX\n" -#: util/nwdir.c:780 +#: util/nwdir.c:791 #, c-format msgid "Unable to begin scandir: 0x%04X\n" msgstr "Nemohu začít prohledávat adresář: 0x%04X\n" -#: util/nwdir.c:792 +#: util/nwdir.c:803 #, c-format msgid "Unexpected error in NextDir: %s\n" msgstr "Neočekávaná chyba v NextDir: %s\n" -#: util/nwdir.c:810 +#: util/nwdir.c:821 msgid "" "nwdir [options] [path]\n" "\n" @@ -3321,31 +3333,31 @@ msgstr "" "\n" "(c) 1998 Milan Vandrovec pro ncpfs-2.0.12.8\n" -#: util/nwdir.c:888 +#: util/nwdir.c:899 #, c-format msgid "Unable to initialize: 0x%04X\n" msgstr "Nepovedla se inicializace: 0x%04X\n" -#: util/nwdir.c:921 +#: util/nwdir.c:932 #, c-format msgid "Invalid path: %s\n" msgstr "Chybná cesta: %s\n" -#: util/nwdir.c:925 +#: util/nwdir.c:936 msgid "Specified path is not remote\n" msgstr "Uvedená cesta není síťová\n" -#: util/nwdir.c:937 +#: util/nwdir.c:948 #, c-format msgid "Directory %s\n" msgstr "Adresář %s\n" -#: util/nwdir.c:943 +#: util/nwdir.c:954 #, c-format msgid "Path does not exist: %s\n" msgstr "Cesta neexistuje: %s\n" -#: util/nwdir.c:991 +#: util/nwdir.c:1002 #, c-format msgid "Cannot retrieve info: %s\n" msgstr "Nemohu zjistit informace: %s\n" @@ -3589,12 +3601,12 @@ msgstr "%s: Nedostatek pam msgid "%s: Missing command\n" msgstr "%s: Chybí příkaz\n" -#: util/nwfsinfo.c:44 util/nwfstime.c:46 util/nwuserlist.c:62 util/slist.c:54 +#: util/nwfsinfo.c:45 util/nwfstime.c:46 util/nwuserlist.c:62 util/slist.c:54 #, c-format msgid "usage: %s [pattern]\n" msgstr "použití: %s [vzorek]\n" -#: util/nwfsinfo.c:52 +#: util/nwfsinfo.c:53 msgid "" "\n" "-h Print this help text\n" @@ -3616,20 +3628,20 @@ msgstr "" "-e Vypiš informace o rozšířeních NCP\n" "\n" -#: util/nwfsinfo.c:65 +#: util/nwfsinfo.c:66 msgid "no" msgstr "ne" -#: util/nwfsinfo.c:66 +#: util/nwfsinfo.c:67 msgid "yes" msgstr "ano" -#: util/nwfsinfo.c:68 +#: util/nwfsinfo.c:69 #, c-format msgid "unknown (%02X)" msgstr "neznámý (%02X)" -#: util/nwfsinfo.c:77 +#: util/nwfsinfo.c:78 #, c-format msgid "" "\n" @@ -3640,114 +3652,114 @@ msgstr "" "Jméno serveru %-48s\n" "\n" -#: util/nwfsinfo.c:79 +#: util/nwfsinfo.c:80 #, c-format msgid "Version %d.%d Revision %c\n" msgstr "Verze %d.%d Revize %c\n" -#: util/nwfsinfo.c:82 +#: util/nwfsinfo.c:83 #, c-format msgid "Max. Connections %d\n" msgstr "Max. připojení %d\n" -#: util/nwfsinfo.c:84 +#: util/nwfsinfo.c:85 #, c-format msgid "currently in use %d\n" msgstr "nyní využito %d\n" -#: util/nwfsinfo.c:86 +#: util/nwfsinfo.c:87 #, c-format msgid "peak connections %d\n" msgstr "špičkově využito %d\n" -#: util/nwfsinfo.c:88 +#: util/nwfsinfo.c:89 #, c-format msgid "Max. Volumes %d\n" msgstr "Max. svazků %d\n" -#: util/nwfsinfo.c:90 +#: util/nwfsinfo.c:91 #, c-format msgid "SFTLevel %d\n" msgstr "Úroveň SFT %d\n" -#: util/nwfsinfo.c:92 +#: util/nwfsinfo.c:93 #, c-format msgid "TTSLevel %d\n" msgstr "Úroveň TTS %d\n" -#: util/nwfsinfo.c:94 +#: util/nwfsinfo.c:95 #, c-format msgid "Accountversion %d\n" msgstr "Verze accountingu %d\n" -#: util/nwfsinfo.c:96 +#: util/nwfsinfo.c:97 #, c-format msgid "Queueversion %d\n" msgstr "Verze Queue %d\n" -#: util/nwfsinfo.c:98 +#: util/nwfsinfo.c:99 #, c-format msgid "Printversion %d\n" msgstr "Verze tisku %d\n" -#: util/nwfsinfo.c:100 +#: util/nwfsinfo.c:101 #, c-format msgid "Virt.Consolvers. %d\n" msgstr "" -#: util/nwfsinfo.c:102 +#: util/nwfsinfo.c:103 #, c-format msgid "RestrictionLevel %d\n" msgstr "Úroveň omezení %d\n" -#: util/nwfsinfo.c:104 +#: util/nwfsinfo.c:105 #, c-format msgid "VAP Version %d\n" msgstr "Verze VAP %d\n" -#: util/nwfsinfo.c:105 +#: util/nwfsinfo.c:106 #, c-format msgid "Internet Bridge %d\n" msgstr "" -#: util/nwfsinfo.c:106 +#: util/nwfsinfo.c:107 #, c-format msgid "Mixed Mode Path %s\n" msgstr "" -#: util/nwfsinfo.c:107 +#: util/nwfsinfo.c:108 #, c-format msgid "Local Login Code 0x%02X\n" msgstr "" -#: util/nwfsinfo.c:108 +#: util/nwfsinfo.c:109 #, c-format msgid "Product Version %u.%u.%u\n" msgstr "Verze produktu %u.%u.%u\n" -#: util/nwfsinfo.c:110 +#: util/nwfsinfo.c:111 #, c-format msgid "OS Language %u\n" msgstr "Jazyk systému %u\n" -#: util/nwfsinfo.c:111 +#: util/nwfsinfo.c:112 #, c-format msgid "Large files %s\n" msgstr "Max. souborů %s\n" -#: util/nwfsinfo.c:151 +#: util/nwfsinfo.c:152 msgid "could not get strings" msgstr "nemohu přečíst popis" -#: util/nwfsinfo.c:175 +#: util/nwfsinfo.c:176 msgid "could not get server time" msgstr "nemohu zjistit čas serveru" -#: util/nwfsinfo.c:197 util/nwuserlist.c:257 +#: util/nwfsinfo.c:198 util/nwuserlist.c:257 msgid "Could not get server information" msgstr "Nemohu zjistit informace o serveru" -#: util/nwfsinfo.c:218 +#: util/nwfsinfo.c:219 msgid "" "Installed NCP Extensions:\n" " Name Number Version\n" @@ -3757,12 +3769,12 @@ msgstr "" " Jméno Číslo Verze\n" " -------------------------------------------------------\n" -#: util/nwfsinfo.c:223 +#: util/nwfsinfo.c:224 #, c-format msgid " %-33s %08X %u.%u.%u\n" msgstr "" -#: util/nwfsinfo.c:226 +#: util/nwfsinfo.c:227 msgid "No NCP Extensions registered\n" msgstr "Žádné rozšíření NCP není instalováno\n" @@ -3863,18 +3875,18 @@ msgstr "%s: Mus msgid "%s: Could not find directory %s\n" msgstr "%s: Nemohu najít adresář %s\n" -#: util/nwgrant.c:191 util/nwgrant.c:205 util/nwgrant.c:212 -#: util/nwrevoke.c:160 util/nwrevoke.c:176 util/nwrevoke.c:183 +#: util/nwgrant.c:192 util/nwgrant.c:210 util/nwgrant.c:217 +#: util/nwrevoke.c:161 util/nwrevoke.c:180 util/nwrevoke.c:187 #, c-format msgid "%s: Could not find object %s: %s\n" msgstr "%s: Nemohu najít objekt %s: %s\n" -#: util/nwgrant.c:219 util/nwrevoke.c:190 +#: util/nwgrant.c:224 util/nwrevoke.c:194 #, c-format msgid "%s: Invalid path: %s\n" msgstr "%s: Chybná cesta: %s\n" -#: util/nwgrant.c:229 +#: util/nwgrant.c:234 #, c-format msgid "%s: Could not add trustee rights: %s\n" msgstr "%s: Nemohu přidat pověření: %s\n" @@ -4090,7 +4102,7 @@ msgstr "" "soubor/adresář\n" "\n" -#: util/nwrevoke.c:198 +#: util/nwrevoke.c:202 #, c-format msgid "%s: Could not remove trustee rights: %s\n" msgstr "%s: Nemohu odstranit svěřená práva: %s\n" @@ -4222,7 +4234,7 @@ msgstr "%s: Nemohu naj msgid "%s: Could not find Netware information about directory %s: %s\n" msgstr "%s: Nemohu najít adresář %s: %s\n" -#: util/nwtrustee2.c:196 +#: util/nwtrustee2.c:199 #, c-format msgid "Trustee scan failed, %s\n" msgstr "Chyba %s při prohledávání pověření\n" @@ -4271,19 +4283,19 @@ msgstr "p #: util/nwuserlist.c:118 msgid "being aborted" -msgstr "" +msgstr "přerušováno" #: util/nwuserlist.c:119 msgid "audited" -msgstr "" +msgstr "auditováno" #: util/nwuserlist.c:120 msgid "needs security change" -msgstr "" +msgstr "vyžaduje změnu zabezpečení" #: util/nwuserlist.c:121 msgid "MAC station" -msgstr "" +msgstr "stanice MAC" #: util/nwuserlist.c:122 msgid "temporary authenticated" @@ -4569,7 +4581,7 @@ msgstr "Adres msgid "Free dirs: %d\n" msgstr "Volných : %d\n" -#: util/pqlist.c:202 +#: util/pqlist.c:203 #, c-format msgid "" "\n" @@ -4578,22 +4590,22 @@ msgstr "" "\n" "Server: Neznámý (%s)\n" -#: util/pqlist.c:204 +#: util/pqlist.c:205 #, c-format msgid "" "\n" "Server: %s\n" msgstr "" -#: util/pqlist.c:208 +#: util/pqlist.c:209 msgid "Print queue name" msgstr "Jméno tiskové fronty" -#: util/pqlist.c:209 +#: util/pqlist.c:210 msgid "Queue ID" msgstr "ID fronty" -#: util/pqlist.c:230 +#: util/pqlist.c:231 msgid "No queues found\n" msgstr "Žádná fronta nebyla nalezena\n" @@ -4602,7 +4614,7 @@ msgstr " msgid "usage: %s [ ...]\n" msgstr "použití: %s <úloha> [<úloha> ...]\n" -#: util/pqrm.c:85 util/pqstat.c:137 +#: util/pqrm.c:85 util/pqstat.c:157 #, c-format msgid "Queue \"%s\" on server %s not found.\n" msgstr "Tisková fronta \"%s\" nebyla na serveru %s nalezena.\n" @@ -4627,12 +4639,12 @@ msgstr "Nem msgid "Cannot cancel job %08X: %s\n" msgstr "Nemohu ukončit úlohu %08X: %s\n" -#: util/pqstat.c:118 +#: util/pqstat.c:138 #, c-format msgid "usage: %s []\n" msgstr "použití: %s []\n" -#: util/pqstat.c:156 +#: util/pqstat.c:178 #, c-format msgid "" "\n" @@ -4641,75 +4653,71 @@ msgstr "" "\n" "Server: %s\tFronta: %s\tID fronty: %8.8X\n" -#: util/pqstat.c:158 +#: util/pqstat.c:180 #, c-format msgid "" " %5s %-12s %-32s %-7s %-4s %-8s\n" "-------------------------------------------------------------------------------\n" msgstr "" -#: util/pqstat.c:161 +#: util/pqstat.c:183 msgid "Seq" msgstr "" -#: util/pqstat.c:161 +#: util/pqstat.c:183 msgid "Name" msgstr "Jméno" -#: util/pqstat.c:162 +#: util/pqstat.c:184 msgid "Description" msgstr "Popis" -#: util/pqstat.c:162 +#: util/pqstat.c:184 msgid "Status" msgstr "Stav" -#: util/pqstat.c:162 +#: util/pqstat.c:184 msgid "Form" msgstr "" -#: util/pqstat.c:162 +#: util/pqstat.c:184 msgid "Job ID" msgstr "Úloha" -#: util/pqstat.c:169 +#: util/pqstat.c:191 msgid "You have insufficient rights to list queue jobs\n" msgstr "Nemáte dostatek práv pro vypisování úloh v tiskové frontě\n" -#: util/pqstat.c:171 +#: util/pqstat.c:193 msgid ": cannot get queue length" msgstr ": nemohu zjistit délku fronty" -#: util/pqstat.c:184 +#: util/pqstat.c:206 #, c-format msgid "Error getting queue jobs ids: %ld\n" msgstr "Chyba %ld při čtení úloh ve frontě\n" -#: util/pqstat.c:205 util/pserver.c:239 -msgid "" -msgstr "" - -#: util/pqstat.c:211 +#: util/pqstat.c:223 msgid "Held" msgstr "Pozastaven" -#: util/pqstat.c:213 +#: util/pqstat.c:225 msgid "Adding" msgstr "Přidává se" -#: util/pqstat.c:215 +#: util/pqstat.c:227 msgid "Active" msgstr "Aktivní" -#: util/pqstat.c:219 +#: util/pqstat.c:231 msgid "Ready" msgstr "Připraven" -#: util/pqstat.c:228 +#: util/pqstat.c:240 msgid "Waiting" msgstr "Čeká" -#: util/pqstat.c:232 +#: util/pqstat.c:244 #, c-format msgid " %5d %-12s %-32.32s %-7s %4d %08X\n" msgstr "" @@ -4759,6 +4767,10 @@ msgstr "Nemohu se p msgid "Cannot service print job: %s\n" msgstr "Nemohu zpracovat tiskovou úlohu: %s\n" +#: util/pserver.c:239 +msgid "" +msgstr "" + #: util/pserver.c:244 #, c-format msgid "pipe error: %m" diff --git a/po/ncpfs.pot b/po/ncpfs.pot index 199e780..7ea5598 100644 --- a/po/ncpfs.pot +++ b/po/ncpfs.pot @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2002-11-25 19:27+0100\n" +"POT-Creation-Date: 2003-02-15 10:00+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -219,62 +219,62 @@ msgstr "" msgid "%s: Network %08lX is directly connected.\n" msgstr "" -#: lib/ncplib.c:984 lib/ncplib.c:1015 lib/ncplib.c:1052 +#: lib/ncplib.c:986 lib/ncplib.c:1017 lib/ncplib.c:1054 #, c-format msgid "ncp_request_error: %d\n" msgstr "" -#: lib/ncplib.c:1590 lib/ncplib.c:3562 sutil/ncpmount.c:560 +#: lib/ncplib.c:1593 lib/ncplib.c:3624 sutil/ncpmount.c:560 #: sutil/ncpmount.c:580 sutil/ncplogin.c:878 sutil/ncplogin.c:896 msgid "Your password has expired\n" msgstr "" -#: lib/ncplib.c:2245 +#: lib/ncplib.c:2286 #, c-format msgid "Logging into %s as %s\n" msgstr "" -#: lib/ncplib.c:2248 +#: lib/ncplib.c:2289 msgid "Password: " msgstr "" -#: lib/ncplib.c:2474 +#: lib/ncplib.c:2536 #, c-format msgid "ncpfs: string too long: %s\n" msgstr "" -#: lib/ncplib.c:3568 sutil/ncpmount.c:586 sutil/ncplogin.c:901 +#: lib/ncplib.c:3630 sutil/ncpmount.c:586 sutil/ncplogin.c:901 #, c-format msgid "You have %d login attempts left\n" msgstr "" -#: lib/ncplib.c:3689 +#: lib/ncplib.c:3751 msgid "Error in ncp_request\n" msgstr "" -#: lib/ncplib.c:3695 +#: lib/ncplib.c:3757 msgid "Fragment too short\n" msgstr "" -#: lib/ncplib.c:3713 +#: lib/ncplib.c:3775 #, c-format msgid "Fragment too large, len=%d, max=%d\n" msgstr "" -#: lib/ncplib.c:3726 +#: lib/ncplib.c:3788 msgid "Why next fragment?\n" msgstr "" -#: lib/ncplib.c:3732 +#: lib/ncplib.c:3794 msgid "Fragmented\n" msgstr "" -#: lib/ncplib.c:3736 +#: lib/ncplib.c:3798 #, c-format msgid "InBufLen after request=%d, FirstReply=%d\n" msgstr "" -#: lib/ncplib.c:3741 +#: lib/ncplib.c:3803 #, c-format msgid "NDS error %d\n" msgstr "" @@ -284,19 +284,19 @@ msgstr "" msgid "ncpfs: volume name too long: %d\n" msgstr "" -#: lib/ndslib.c:1341 +#: lib/ndslib.c:1344 #, c-format msgid "" "User %s not found in current context.\n" "Trying server context...\n" msgstr "" -#: lib/ndslib.c:1362 +#: lib/ndslib.c:1366 #, c-format msgid "error %d logging in\n" msgstr "" -#: lib/ndslib.c:1370 +#: lib/ndslib.c:1374 #, c-format msgid "error %d authenticating\n" msgstr "" @@ -521,143 +521,151 @@ msgstr "" msgid "Permanent connection broken" msgstr "" -#: lib/strops.c:222 +#: lib/strops.c:219 +msgid "Password required" +msgstr "" + +#: lib/strops.c:224 msgid "Unknown ncpfs error" msgstr "" -#: lib/strops.c:243 +#: lib/strops.c:245 msgid "Too many request/reply fragments" msgstr "" -#: lib/strops.c:246 +#: lib/strops.c:248 msgid "Server reply too long" msgstr "" -#: lib/strops.c:248 +#: lib/strops.c:250 msgid "Connection to specified server does not exist" msgstr "" -#: lib/strops.c:251 +#: lib/strops.c:253 msgid "Scan complete" msgstr "" -#: lib/strops.c:253 +#: lib/strops.c:255 msgid "Unsupported name format type" msgstr "" -#: lib/strops.c:256 +#: lib/strops.c:258 msgid "Invalid NCP packet length" msgstr "" -#: lib/strops.c:259 +#: lib/strops.c:261 msgid "Invalid buffer length" msgstr "" -#: lib/strops.c:261 +#: lib/strops.c:263 msgid "User name is not specified" msgstr "" -#: lib/strops.c:264 +#: lib/strops.c:266 msgid "Invalid parameter" msgstr "" -#: lib/strops.c:267 +#: lib/strops.c:269 msgid "Server not found" msgstr "" -#: lib/strops.c:270 +#: lib/strops.c:272 msgid "Signature level conflict" msgstr "" -#: lib/strops.c:273 +#: lib/strops.c:275 msgid "Invalid information level" msgstr "" -#: lib/strops.c:276 +#: lib/strops.c:278 msgid "Unsupported transport type" msgstr "" #: lib/strops.c:281 +msgid "Unsupported authenticator" +msgstr "" + +#: lib/strops.c:286 msgid "Unknown Requester error" msgstr "" -#: lib/strops.c:302 +#: lib/strops.c:307 msgid "Invalid volume" msgstr "" -#: lib/strops.c:305 +#: lib/strops.c:310 msgid "Invalid directory handle" msgstr "" -#: lib/strops.c:308 +#: lib/strops.c:313 msgid "Intruder detection lockout" msgstr "" -#: lib/strops.c:311 +#: lib/strops.c:316 msgid "No job in queue" msgstr "" -#: lib/strops.c:313 +#: lib/strops.c:318 msgid "Password unencrypted" msgstr "" -#: lib/strops.c:315 +#: lib/strops.c:320 msgid "Password not unique" msgstr "" -#: lib/strops.c:317 +#: lib/strops.c:322 msgid "Password too short" msgstr "" -#: lib/strops.c:319 +#: lib/strops.c:324 msgid "Connection limit count exceeded" msgstr "" -#: lib/strops.c:321 +#: lib/strops.c:326 msgid "Unauthorized time" msgstr "" -#: lib/strops.c:323 +#: lib/strops.c:328 msgid "Unauthorized station" msgstr "" -#: lib/strops.c:325 +#: lib/strops.c:330 msgid "Account disabled" msgstr "" -#: lib/strops.c:328 +#: lib/strops.c:333 msgid "Password really expired" msgstr "" -#: lib/strops.c:330 +#: lib/strops.c:335 msgid "Password expired" msgstr "" -#: lib/strops.c:333 +#: lib/strops.c:338 msgid "Member already exists" msgstr "" -#: lib/strops.c:336 +#: lib/strops.c:341 msgid "NCP not supported" msgstr "" -#: lib/strops.c:338 +#: lib/strops.c:343 msgid "Unknown user" msgstr "" -#: lib/strops.c:340 +#: lib/strops.c:345 msgid "Invalid connection number" msgstr "" -#: lib/strops.c:343 +#: lib/strops.c:348 msgid "Server failure" msgstr "" -#: lib/strops.c:348 +#: lib/strops.c:353 msgid "Unknown Server error" msgstr "" -#: lib/strops.c:379 +#: lib/strops.c:384 #, c-format msgid "Unknown error %d (0x%X)" msgstr "" @@ -667,45 +675,45 @@ msgstr "" msgid "Specified tree name `%s' is too long\n" msgstr "" -#: sutil/ncpmount.c:284 sutil/ncplogin.c:457 +#: sutil/ncpmount.c:283 sutil/ncplogin.c:457 #, c-format msgid "Unknown namespace \"%s\"\n" msgstr "" -#: sutil/ncpmount.c:323 sutil/ncplogin.c:499 +#: sutil/ncpmount.c:322 sutil/ncplogin.c:499 #, c-format msgid "ncpfs version %s\n" msgstr "" -#: sutil/ncpmount.c:340 +#: sutil/ncpmount.c:339 msgid "Both tree and server name were specified. It is not allowed.\n" msgstr "" -#: sutil/ncpmount.c:344 sutil/ncpumount.c:428 sutil/ncplogin.c:343 +#: sutil/ncpmount.c:343 sutil/ncpumount.c:428 sutil/ncplogin.c:343 #, c-format msgid "%s must be installed suid root\n" msgstr "" -#: sutil/ncpmount.c:355 sutil/ncplogin.c:705 +#: sutil/ncpmount.c:354 sutil/ncplogin.c:705 #, c-format msgid "Could not find mount point %s: %s\n" msgstr "" -#: sutil/ncpmount.c:360 +#: sutil/ncpmount.c:359 #, c-format msgid "Cannot to mount on %s: %s\n" msgstr "" -#: sutil/ncpmount.c:368 sutil/ncplogin.c:525 +#: sutil/ncpmount.c:367 sutil/ncplogin.c:525 #, c-format msgid "Cannot impersonate as requested: %s\n" msgstr "" -#: sutil/ncpmount.c:379 +#: sutil/ncpmount.c:378 msgid "You must specify NDS volume name if you specified tree name.\n" msgstr "" -#: sutil/ncpmount.c:383 +#: sutil/ncpmount.c:382 msgid "in create context" msgstr "" @@ -1174,7 +1182,7 @@ msgstr "" #: sutil/ncplogin.c:964 util/ncptest.c:317 util/nwborm.c:45 #: util/nwbpcreate.c:50 util/nwbprm.c:46 util/nwbpvalues.c:58 -#: util/nwfsinfo.c:50 util/nwfstime.c:52 util/nwpasswd.c:45 +#: util/nwfsinfo.c:51 util/nwfstime.c:52 util/nwpasswd.c:45 #: util/nwtrustee.c:48 util/nwuserlist.c:80 util/nwvolinfo.c:47 #: util/pserver.c:65 #, c-format @@ -2165,9 +2173,9 @@ msgstr "" #: util/nsend.c:162 util/nwbocreate.c:115 util/nwboprops.c:83 util/nwborm.c:80 #: util/nwbpadd.c:95 util/nwbpcreate.c:119 util/nwbprm.c:83 util/nwbpset.c:91 -#: util/nwfsinfo.c:131 util/nwfstime.c:86 util/nwrights.c:102 -#: util/nwtrustee.c:98 util/nwuserlist.c:201 util/pqlist.c:175 util/pqrm.c:59 -#: util/pqstat.c:103 util/pserver.c:365 +#: util/nwfsinfo.c:132 util/nwfstime.c:86 util/nwrights.c:102 +#: util/nwtrustee.c:98 util/nwuserlist.c:201 util/pqlist.c:176 util/pqrm.c:59 +#: util/pqstat.c:124 util/pserver.c:365 msgid "when initializing" msgstr "" @@ -2443,7 +2451,7 @@ msgstr "" msgid "%s: Could not create the property\n" msgstr "" -#: util/nwbprm.c:40 util/pqlist.c:181 +#: util/nwbprm.c:40 util/pqlist.c:182 #, c-format msgid "usage: %s [options] [pattern]\n" msgstr "" @@ -2552,134 +2560,139 @@ msgstr "" msgid "%s: Could not read property value: %s\n" msgstr "" -#: util/nwbpvalues.c:371 +#: util/nwbpvalues.c:372 #, c-format msgid "Last Login: %x, %X" msgstr "" -#: util/nwbpvalues.c:375 +#: util/nwbpvalues.c:376 msgid "Never logged in\n" msgstr "" -#: util/nwbpvalues.c:379 +#: util/nwbpvalues.c:380 msgid " --- Account disabled ---\n" msgstr "" -#: util/nwbpvalues.c:394 +#: util/nwbpvalues.c:395 #, c-format msgid "Account expires on: %x" msgstr "" -#: util/nwbpvalues.c:410 +#: util/nwbpvalues.c:411 #, c-format msgid "Password expires on: %x" msgstr "" -#: util/nwbpvalues.c:412 +#: util/nwbpvalues.c:413 #, c-format msgid "" "GraceLogins left: %d\n" "of max. : %d\n" msgstr "" -#: util/nwbpvalues.c:414 +#: util/nwbpvalues.c:415 #, c-format msgid "PasswortChangeInterval : %d days\n" msgstr "" -#: util/nwbpvalues.c:419 +#: util/nwbpvalues.c:420 msgid "New password must be different when changing\n" msgstr "" -#: util/nwbpvalues.c:423 +#: util/nwbpvalues.c:424 msgid "User is not allowed to change password\n" msgstr "" -#: util/nwbpvalues.c:425 +#: util/nwbpvalues.c:426 #, c-format msgid "Minimal password length : %d\n" msgstr "" -#: util/nwbpvalues.c:428 +#: util/nwbpvalues.c:429 #, c-format msgid "Maximum no of connections: %d\n" msgstr "" -#: util/nwbpvalues.c:433 +#: util/nwbpvalues.c:434 #, c-format msgid "Maximum DiskQuota : %8d blocks\n" msgstr "" -#: util/nwbpvalues.c:436 +#: util/nwbpvalues.c:437 #, c-format msgid "Failed Logins: %5d\n" msgstr "" -#: util/nwbpvalues.c:440 +#: util/nwbpvalues.c:441 #, c-format msgid "Account disabled still %8d seconds\n" msgstr "" -#: util/nwbpvalues.c:445 +#: util/nwbpvalues.c:446 #, c-format msgid "Last 'intruder' address: %s\n" msgstr "" -#: util/nwbpvalues.c:451 +#: util/nwbpvalues.c:452 #, c-format msgid "RestrictionMask : %02X\n" msgstr "" -#: util/nwbpvalues.c:465 +#: util/nwbpvalues.c:466 msgid "Time restrictions: 1 1 1 1 1 1 1 1 1 1 2 2 2 2 ]\n" msgstr "" -#: util/nwbpvalues.c:466 +#: util/nwbpvalues.c:467 msgid " Day [0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 ]\n" msgstr "" -#: util/nwbpvalues.c:561 +#: util/nwbpvalues.c:507 #, c-format msgid "Segment: %03d\n" msgstr "" -#: util/nwdir.c:202 +#: util/nwdir.c:203 msgid "Nobody" msgstr "" -#: util/nwdir.c:209 +#: util/nwdir.c:212 msgid "Unknown:N/A" msgstr "" -#: util/nwdir.c:212 +#: util/nwdir.c:218 +#, c-format +msgid "Unknown:<%s>" +msgstr "" + +#: util/nwdir.c:223 msgid "User:" msgstr "" -#: util/nwdir.c:213 +#: util/nwdir.c:224 msgid "Group:" msgstr "" -#: util/nwdir.c:214 +#: util/nwdir.c:225 msgid "FileServer:" msgstr "" -#: util/nwdir.c:215 +#: util/nwdir.c:226 #, c-format msgid "Unknown(%04X):" msgstr "" -#: util/nwdir.c:256 +#: util/nwdir.c:267 msgid "never" msgstr "" -#: util/nwdir.c:296 +#: util/nwdir.c:307 #, c-format msgid "" "Extended attributes: %u attributes\n" " %u bytes in keys, %u bytes in data\n" msgstr "" -#: util/nwdir.c:312 +#: util/nwdir.c:323 #, c-format msgid "" " Key %u:\n" @@ -2688,125 +2701,125 @@ msgid "" " Value Length: %u\n" msgstr "" -#: util/nwdir.c:350 util/nwdir.c:373 +#: util/nwdir.c:361 util/nwdir.c:384 #, c-format msgid " Cannot determine file size: %s\n" msgstr "" -#: util/nwdir.c:352 util/nwdir.c:402 +#: util/nwdir.c:363 util/nwdir.c:413 #, c-format msgid " File size: %10Lu" msgstr "" -#: util/nwdir.c:357 util/nwdir.c:408 +#: util/nwdir.c:368 util/nwdir.c:419 #, c-format msgid " (allocated %Lu)" msgstr "" -#: util/nwdir.c:375 +#: util/nwdir.c:386 msgid " No datastream exist\n" msgstr "" -#: util/nwdir.c:399 +#: util/nwdir.c:410 #, c-format msgid " Stream %3u size: %10Lu" msgstr "" -#: util/nwdir.c:430 +#: util/nwdir.c:441 #, c-format msgid "Cannot retrieve file attributes: %s\n" msgstr "" -#: util/nwdir.c:436 +#: util/nwdir.c:447 #, c-format msgid "Cannot retrieve file number: %s\n" msgstr "" -#: util/nwdir.c:442 +#: util/nwdir.c:453 #, c-format msgid "Cannot retrieve file name: %s\n" msgstr "" -#: util/nwdir.c:447 +#: util/nwdir.c:458 msgid "Directory:\n" msgstr "" -#: util/nwdir.c:449 +#: util/nwdir.c:460 msgid "File:\n" msgstr "" -#: util/nwdir.c:463 +#: util/nwdir.c:474 msgid " DOS: " msgstr "" -#: util/nwdir.c:468 +#: util/nwdir.c:479 msgid " OS/2: " msgstr "" -#: util/nwdir.c:474 +#: util/nwdir.c:485 msgid " NFS: " msgstr "" -#: util/nwdir.c:480 +#: util/nwdir.c:491 msgid " MAC: " msgstr "" -#: util/nwdir.c:489 +#: util/nwdir.c:500 msgid "Rights:\n" msgstr "" -#: util/nwdir.c:490 +#: util/nwdir.c:501 msgid " Inherited: " msgstr "" -#: util/nwdir.c:494 util/nwdir.c:513 util/nwdir.c:529 util/nwdir.c:547 -#: util/nwdir.c:555 util/nwdir.c:562 util/nwdir.c:571 +#: util/nwdir.c:505 util/nwdir.c:524 util/nwdir.c:540 util/nwdir.c:558 +#: util/nwdir.c:566 util/nwdir.c:573 util/nwdir.c:582 #, c-format msgid "Cannot determine: %s\n" msgstr "" -#: util/nwdir.c:511 +#: util/nwdir.c:522 msgid " Effective: " msgstr "" -#: util/nwdir.c:525 +#: util/nwdir.c:536 msgid "Owning namespace: " msgstr "" -#: util/nwdir.c:542 +#: util/nwdir.c:553 msgid "Miscellaneous NetWare Information:\n" msgstr "" -#: util/nwdir.c:543 +#: util/nwdir.c:554 msgid " Last update: " msgstr "" -#: util/nwdir.c:551 +#: util/nwdir.c:562 msgid " Last archived: " msgstr "" -#: util/nwdir.c:560 +#: util/nwdir.c:571 msgid " Last accessed: " msgstr "" -#: util/nwdir.c:567 +#: util/nwdir.c:578 msgid " Created/Copied: " msgstr "" -#: util/nwdir.c:575 +#: util/nwdir.c:586 #, c-format msgid " Flags: [%s%s%s%s]" msgstr "" -#: util/nwdir.c:625 +#: util/nwdir.c:636 msgid "Trustees:\n" msgstr "" -#: util/nwdir.c:651 +#: util/nwdir.c:662 msgid "File Usage:\n" msgstr "" -#: util/nwdir.c:652 +#: util/nwdir.c:663 #, c-format msgid "" " Use Count: %5u Open Count: %5u\n" @@ -2815,148 +2828,148 @@ msgid "" " Locked: %-15s Fork Count: %5u\n" msgstr "" -#: util/nwdir.c:659 +#: util/nwdir.c:670 #, c-format msgid " Connection Count: %10u\n" msgstr "" -#: util/nwdir.c:663 util/nwdir.c:755 +#: util/nwdir.c:674 util/nwdir.c:766 #, c-format msgid " Connection: %u/%u" msgstr "" -#: util/nwdir.c:666 util/nwdir.c:758 +#: util/nwdir.c:677 util/nwdir.c:769 msgid ", " msgstr "" -#: util/nwdir.c:671 util/nwuserlist.c:380 +#: util/nwdir.c:682 util/nwuserlist.c:380 msgid "locked" msgstr "" -#: util/nwdir.c:671 util/nwuserlist.c:380 +#: util/nwdir.c:682 util/nwuserlist.c:380 msgid "open shareable" msgstr "" -#: util/nwdir.c:672 util/nwuserlist.c:381 +#: util/nwdir.c:683 util/nwuserlist.c:381 msgid "logged" msgstr "" -#: util/nwdir.c:672 util/nwuserlist.c:381 +#: util/nwdir.c:683 util/nwuserlist.c:381 msgid "open normal" msgstr "" -#: util/nwdir.c:673 util/nwdir.c:678 util/nwuserlist.c:382 +#: util/nwdir.c:684 util/nwdir.c:689 util/nwuserlist.c:382 #: util/nwuserlist.c:387 msgid "rsvd" msgstr "" -#: util/nwdir.c:674 util/nwuserlist.c:383 +#: util/nwdir.c:685 util/nwuserlist.c:383 msgid "TTS locked" msgstr "" -#: util/nwdir.c:674 util/nwuserlist.c:383 +#: util/nwdir.c:685 util/nwuserlist.c:383 msgid "TTS" msgstr "" -#: util/nwdir.c:675 util/nwuserlist.c:384 +#: util/nwdir.c:686 util/nwuserlist.c:384 msgid "read" msgstr "" -#: util/nwdir.c:675 util/nwuserlist.c:384 +#: util/nwdir.c:686 util/nwuserlist.c:384 msgid "write" msgstr "" -#: util/nwdir.c:676 util/nwuserlist.c:385 +#: util/nwdir.c:687 util/nwuserlist.c:385 msgid "deny read" msgstr "" -#: util/nwdir.c:676 util/nwuserlist.c:385 +#: util/nwdir.c:687 util/nwuserlist.c:385 msgid "deny write" msgstr "" -#: util/nwdir.c:677 util/nwuserlist.c:386 +#: util/nwdir.c:688 util/nwuserlist.c:386 msgid "detached" msgstr "" -#: util/nwdir.c:677 util/nwuserlist.c:386 +#: util/nwdir.c:688 util/nwuserlist.c:386 msgid "TTS holding detach" msgstr "" -#: util/nwdir.c:678 util/nwuserlist.c:387 +#: util/nwdir.c:689 util/nwuserlist.c:387 msgid "TTS holding open" msgstr "" -#: util/nwdir.c:699 util/nwdir.c:721 util/nwuserlist.c:409 +#: util/nwdir.c:710 util/nwdir.c:732 util/nwuserlist.c:409 #: util/nwuserlist.c:432 msgid "unlocked" msgstr "" -#: util/nwdir.c:702 util/nwuserlist.c:412 +#: util/nwdir.c:713 util/nwuserlist.c:412 msgid "Not locked" msgstr "" -#: util/nwdir.c:703 util/nwuserlist.c:413 +#: util/nwdir.c:714 util/nwuserlist.c:413 msgid "Locked by a file lock" msgstr "" -#: util/nwdir.c:704 util/nwuserlist.c:414 +#: util/nwdir.c:715 util/nwuserlist.c:414 msgid "Locked by Begin Share File Set" msgstr "" -#: util/nwdir.c:705 util/nwuserlist.c:415 +#: util/nwdir.c:716 util/nwuserlist.c:415 msgid "Unknown lock state" msgstr "" -#: util/nwdir.c:724 +#: util/nwdir.c:735 #, c-format msgid " Lock: (%02X) %s\n" msgstr "" -#: util/nwdir.c:725 +#: util/nwdir.c:736 #, c-format msgid " (%02X) %s\n" msgstr "" -#: util/nwdir.c:726 +#: util/nwdir.c:737 #, c-format msgid " Access: (%02X) %s\n" msgstr "" -#: util/nwdir.c:728 +#: util/nwdir.c:739 #, c-format msgid " Lock: %s\n" msgstr "" -#: util/nwdir.c:729 +#: util/nwdir.c:740 #, c-format msgid " %s\n" msgstr "" -#: util/nwdir.c:730 +#: util/nwdir.c:741 #, c-format msgid " Access: %s\n" msgstr "" -#: util/nwdir.c:751 +#: util/nwdir.c:762 msgid "File Physical Locks:\n" msgstr "" -#: util/nwdir.c:762 +#: util/nwdir.c:773 #, c-format msgid " Range: 0x%08LX-0x%08LX\n" msgstr "" -#: util/nwdir.c:780 +#: util/nwdir.c:791 #, c-format msgid "Unable to begin scandir: 0x%04X\n" msgstr "" -#: util/nwdir.c:792 +#: util/nwdir.c:803 #, c-format msgid "Unexpected error in NextDir: %s\n" msgstr "" -#: util/nwdir.c:810 +#: util/nwdir.c:821 msgid "" "nwdir [options] [path]\n" "\n" @@ -2974,31 +2987,31 @@ msgid "" "(c) 1998 Milan Vandrovec for ncpfs-2.0.12.8\n" msgstr "" -#: util/nwdir.c:888 +#: util/nwdir.c:899 #, c-format msgid "Unable to initialize: 0x%04X\n" msgstr "" -#: util/nwdir.c:921 +#: util/nwdir.c:932 #, c-format msgid "Invalid path: %s\n" msgstr "" -#: util/nwdir.c:925 +#: util/nwdir.c:936 msgid "Specified path is not remote\n" msgstr "" -#: util/nwdir.c:937 +#: util/nwdir.c:948 #, c-format msgid "Directory %s\n" msgstr "" -#: util/nwdir.c:943 +#: util/nwdir.c:954 #, c-format msgid "Path does not exist: %s\n" msgstr "" -#: util/nwdir.c:991 +#: util/nwdir.c:1002 #, c-format msgid "Cannot retrieve info: %s\n" msgstr "" @@ -3196,12 +3209,12 @@ msgstr "" msgid "%s: Missing command\n" msgstr "" -#: util/nwfsinfo.c:44 util/nwfstime.c:46 util/nwuserlist.c:62 util/slist.c:54 +#: util/nwfsinfo.c:45 util/nwfstime.c:46 util/nwuserlist.c:62 util/slist.c:54 #, c-format msgid "usage: %s [pattern]\n" msgstr "" -#: util/nwfsinfo.c:52 +#: util/nwfsinfo.c:53 msgid "" "\n" "-h Print this help text\n" @@ -3214,20 +3227,20 @@ msgid "" "\n" msgstr "" -#: util/nwfsinfo.c:65 +#: util/nwfsinfo.c:66 msgid "no" msgstr "" -#: util/nwfsinfo.c:66 +#: util/nwfsinfo.c:67 msgid "yes" msgstr "" -#: util/nwfsinfo.c:68 +#: util/nwfsinfo.c:69 #, c-format msgid "unknown (%02X)" msgstr "" -#: util/nwfsinfo.c:77 +#: util/nwfsinfo.c:78 #, c-format msgid "" "\n" @@ -3235,126 +3248,126 @@ msgid "" "\n" msgstr "" -#: util/nwfsinfo.c:79 +#: util/nwfsinfo.c:80 #, c-format msgid "Version %d.%d Revision %c\n" msgstr "" -#: util/nwfsinfo.c:82 +#: util/nwfsinfo.c:83 #, c-format msgid "Max. Connections %d\n" msgstr "" -#: util/nwfsinfo.c:84 +#: util/nwfsinfo.c:85 #, c-format msgid "currently in use %d\n" msgstr "" -#: util/nwfsinfo.c:86 +#: util/nwfsinfo.c:87 #, c-format msgid "peak connections %d\n" msgstr "" -#: util/nwfsinfo.c:88 +#: util/nwfsinfo.c:89 #, c-format msgid "Max. Volumes %d\n" msgstr "" -#: util/nwfsinfo.c:90 +#: util/nwfsinfo.c:91 #, c-format msgid "SFTLevel %d\n" msgstr "" -#: util/nwfsinfo.c:92 +#: util/nwfsinfo.c:93 #, c-format msgid "TTSLevel %d\n" msgstr "" -#: util/nwfsinfo.c:94 +#: util/nwfsinfo.c:95 #, c-format msgid "Accountversion %d\n" msgstr "" -#: util/nwfsinfo.c:96 +#: util/nwfsinfo.c:97 #, c-format msgid "Queueversion %d\n" msgstr "" -#: util/nwfsinfo.c:98 +#: util/nwfsinfo.c:99 #, c-format msgid "Printversion %d\n" msgstr "" -#: util/nwfsinfo.c:100 +#: util/nwfsinfo.c:101 #, c-format msgid "Virt.Consolvers. %d\n" msgstr "" -#: util/nwfsinfo.c:102 +#: util/nwfsinfo.c:103 #, c-format msgid "RestrictionLevel %d\n" msgstr "" -#: util/nwfsinfo.c:104 +#: util/nwfsinfo.c:105 #, c-format msgid "VAP Version %d\n" msgstr "" -#: util/nwfsinfo.c:105 +#: util/nwfsinfo.c:106 #, c-format msgid "Internet Bridge %d\n" msgstr "" -#: util/nwfsinfo.c:106 +#: util/nwfsinfo.c:107 #, c-format msgid "Mixed Mode Path %s\n" msgstr "" -#: util/nwfsinfo.c:107 +#: util/nwfsinfo.c:108 #, c-format msgid "Local Login Code 0x%02X\n" msgstr "" -#: util/nwfsinfo.c:108 +#: util/nwfsinfo.c:109 #, c-format msgid "Product Version %u.%u.%u\n" msgstr "" -#: util/nwfsinfo.c:110 +#: util/nwfsinfo.c:111 #, c-format msgid "OS Language %u\n" msgstr "" -#: util/nwfsinfo.c:111 +#: util/nwfsinfo.c:112 #, c-format msgid "Large files %s\n" msgstr "" -#: util/nwfsinfo.c:151 +#: util/nwfsinfo.c:152 msgid "could not get strings" msgstr "" -#: util/nwfsinfo.c:175 +#: util/nwfsinfo.c:176 msgid "could not get server time" msgstr "" -#: util/nwfsinfo.c:197 util/nwuserlist.c:257 +#: util/nwfsinfo.c:198 util/nwuserlist.c:257 msgid "Could not get server information" msgstr "" -#: util/nwfsinfo.c:218 +#: util/nwfsinfo.c:219 msgid "" "Installed NCP Extensions:\n" " Name Number Version\n" " -------------------------------------------------------\n" msgstr "" -#: util/nwfsinfo.c:223 +#: util/nwfsinfo.c:224 #, c-format msgid " %-33s %08X %u.%u.%u\n" msgstr "" -#: util/nwfsinfo.c:226 +#: util/nwfsinfo.c:227 msgid "No NCP Extensions registered\n" msgstr "" @@ -3427,18 +3440,18 @@ msgstr "" msgid "%s: Could not find directory %s\n" msgstr "" -#: util/nwgrant.c:191 util/nwgrant.c:205 util/nwgrant.c:212 -#: util/nwrevoke.c:160 util/nwrevoke.c:176 util/nwrevoke.c:183 +#: util/nwgrant.c:192 util/nwgrant.c:210 util/nwgrant.c:217 +#: util/nwrevoke.c:161 util/nwrevoke.c:180 util/nwrevoke.c:187 #, c-format msgid "%s: Could not find object %s: %s\n" msgstr "" -#: util/nwgrant.c:219 util/nwrevoke.c:190 +#: util/nwgrant.c:224 util/nwrevoke.c:194 #, c-format msgid "%s: Invalid path: %s\n" msgstr "" -#: util/nwgrant.c:229 +#: util/nwgrant.c:234 #, c-format msgid "%s: Could not add trustee rights: %s\n" msgstr "" @@ -3622,7 +3635,7 @@ msgid "" "\n" msgstr "" -#: util/nwrevoke.c:198 +#: util/nwrevoke.c:202 #, c-format msgid "%s: Could not remove trustee rights: %s\n" msgstr "" @@ -3727,7 +3740,7 @@ msgstr "" msgid "%s: Could not find Netware information about directory %s: %s\n" msgstr "" -#: util/nwtrustee2.c:196 +#: util/nwtrustee2.c:199 #, c-format msgid "Trustee scan failed, %s\n" msgstr "" @@ -4048,29 +4061,29 @@ msgstr "" msgid "Free dirs: %d\n" msgstr "" -#: util/pqlist.c:202 +#: util/pqlist.c:203 #, c-format msgid "" "\n" "Server: Unknown (%s)\n" msgstr "" -#: util/pqlist.c:204 +#: util/pqlist.c:205 #, c-format msgid "" "\n" "Server: %s\n" msgstr "" -#: util/pqlist.c:208 +#: util/pqlist.c:209 msgid "Print queue name" msgstr "" -#: util/pqlist.c:209 +#: util/pqlist.c:210 msgid "Queue ID" msgstr "" -#: util/pqlist.c:230 +#: util/pqlist.c:231 msgid "No queues found\n" msgstr "" @@ -4079,7 +4092,7 @@ msgstr "" msgid "usage: %s [ ...]\n" msgstr "" -#: util/pqrm.c:85 util/pqstat.c:137 +#: util/pqrm.c:85 util/pqstat.c:157 #, c-format msgid "Queue \"%s\" on server %s not found.\n" msgstr "" @@ -4104,87 +4117,83 @@ msgstr "" msgid "Cannot cancel job %08X: %s\n" msgstr "" -#: util/pqstat.c:118 +#: util/pqstat.c:138 #, c-format msgid "usage: %s []\n" msgstr "" -#: util/pqstat.c:156 +#: util/pqstat.c:178 #, c-format msgid "" "\n" "Server: %s\tQueue: %s\tQueue ID: %8.8X\n" msgstr "" -#: util/pqstat.c:158 +#: util/pqstat.c:180 #, c-format msgid "" " %5s %-12s %-32s %-7s %-4s %-8s\n" "-------------------------------------------------------------------------------\n" msgstr "" -#: util/pqstat.c:161 +#: util/pqstat.c:183 msgid "Seq" msgstr "" -#: util/pqstat.c:161 +#: util/pqstat.c:183 msgid "Name" msgstr "" -#: util/pqstat.c:162 +#: util/pqstat.c:184 msgid "Description" msgstr "" -#: util/pqstat.c:162 +#: util/pqstat.c:184 msgid "Status" msgstr "" -#: util/pqstat.c:162 +#: util/pqstat.c:184 msgid "Form" msgstr "" -#: util/pqstat.c:162 +#: util/pqstat.c:184 msgid "Job ID" msgstr "" -#: util/pqstat.c:169 +#: util/pqstat.c:191 msgid "You have insufficient rights to list queue jobs\n" msgstr "" -#: util/pqstat.c:171 +#: util/pqstat.c:193 msgid ": cannot get queue length" msgstr "" -#: util/pqstat.c:184 +#: util/pqstat.c:206 #, c-format msgid "Error getting queue jobs ids: %ld\n" msgstr "" -#: util/pqstat.c:205 util/pserver.c:239 -msgid "" -msgstr "" - -#: util/pqstat.c:211 +#: util/pqstat.c:223 msgid "Held" msgstr "" -#: util/pqstat.c:213 +#: util/pqstat.c:225 msgid "Adding" msgstr "" -#: util/pqstat.c:215 +#: util/pqstat.c:227 msgid "Active" msgstr "" -#: util/pqstat.c:219 +#: util/pqstat.c:231 msgid "Ready" msgstr "" -#: util/pqstat.c:228 +#: util/pqstat.c:240 msgid "Waiting" msgstr "" -#: util/pqstat.c:232 +#: util/pqstat.c:244 #, c-format msgid " %5d %-12s %-32.32s %-7s %4d %08X\n" msgstr "" @@ -4221,6 +4230,10 @@ msgstr "" msgid "Cannot service print job: %s\n" msgstr "" +#: util/pserver.c:239 +msgid "" +msgstr "" + #: util/pserver.c:244 #, c-format msgid "pipe error: %m" diff --git a/sutil/ncpmount.c b/sutil/ncpmount.c index cbf35f1..53bb9c4 100644 --- a/sutil/ncpmount.c +++ b/sutil/ncpmount.c @@ -382,9 +382,10 @@ main(int argc, char *argv[]) mycom_err(err, _("in create context")); exit(68); } - ctxf = DCV_XLATE_STRINGS | DCV_DEREF_ALIASES | DCV_CANONICALIZE_NAMES | DCV_TYPELESS_NAMES - | DCV_DEREF_BASE_CLASS; - NWDSSetContext(ctx, DCK_FLAGS, &ctxf); + if (!NWDSGetContext(ctx, DCK_FLAGS, &ctxf)) { + ctxf |= DCV_XLATE_STRINGS | DCV_DEREF_ALIASES | DCV_TYPELESS_NAMES | DCV_DEREF_BASE_CLASS; + NWDSSetContext(ctx, DCK_FLAGS, &ctxf); + } err = NWCCOpenConnByName(NULL, info.tree, NWCC_NAME_FORMAT_NDS_TREE, NWCC_OPEN_NEW_CONN, NWCC_RESERVED, &conn); diff --git a/util/dsqueue.c b/util/dsqueue.c index 35019dd..77b49ab 100644 --- a/util/dsqueue.c +++ b/util/dsqueue.c @@ -53,7 +53,7 @@ NWDSCCODE try_nds_queue(NWCONN_HANDLE* conn, const char* name, NWObjectID* id) { err = NWDSGetContext(ctx, DCK_FLAGS, &flags); if (err) goto freectx; - flags &= ~DCV_CANONICALIZE_NAMES; + flags |= DCV_TYPELESS_NAMES; err = NWDSSetContext(ctx, DCK_FLAGS, &flags); if (err) goto freectx; diff --git a/util/nwbpvalues.c b/util/nwbpvalues.c index ae3656a..09a1e7b 100644 --- a/util/nwbpvalues.c +++ b/util/nwbpvalues.c @@ -292,9 +292,10 @@ print_unknown(u_int8_t * val) } static void -print_string(u_int8_t * val) +print_string(u_int8_t * val, int segments) { puts(val); + (void)segments; } static char * @@ -345,7 +346,7 @@ print_station_addr(const char *fmt, const struct ncp_station_addr *addr, char *b } static void -print_login_control(u_int8_t * val) +print_login_control(u_int8_t * val, int segments) { static const time_t zero_time_t = 0; int i, j, mask; @@ -485,62 +486,52 @@ print_login_control(u_int8_t * val) } printf("]\n"); } + (void)segments; } static void -print_addr(u_int8_t * val) +print_addr(u_int8_t * val, int segments) { char buff[50]; print_station_addr("(%L): %N[%S]", (struct ncp_station_addr *) val, buff); printf("%s\n", buff); + (void)segments; +} + +static void +print_hex(u_int8_t *val, int segments) { + int i; + + for (i = 0; i < segments; i++) { + printf(_("Segment: %03d\n"), i + 1); + print_unknown(val + i * 128); + printf("\n"); + } } static const struct { + void (*func) (u_int8_t *, int); const char *pname; - void (*func) (u_int8_t *); } formats[] = { - { - "DESCRIPTION", print_string - } - , - { - "SURNAME", print_string - } - , - { - "OBJECT_CLASS", print_string - } - , - { - "IDENTIFICATION", print_string - } - , - { - "Q_DIRECTORY", print_string - } - , - { - "LOGIN_CONTROL", print_login_control - } - , - { - "NET_ADDRESS", print_addr - } - , - { - NULL, NULL - } + { print_string, "DESCRIPTION" }, + { print_string, "SURNAME" }, + { print_string, "GIVEN_NAME" }, + { print_string, "OBJECT_CLASS" }, + { print_string, "IDENTIFICATION" }, + { print_string, "Q_DIRECTORY" }, + { print_login_control, "LOGIN_CONTROL" }, + { print_addr, "NET_ADDRESS" }, + { NULL, NULL }, }; static void print_property(char *prop_name, u_int8_t * val, int segments) { int i; - void (*f) (u_int8_t *); for (i = 0; formats[i].pname != NULL; i++) { @@ -549,17 +540,5 @@ print_property(char *prop_name, u_int8_t * val, int segments) break; } } - f = formats[i].func; - - if (f != NULL) - { - f(val); - return; - } - for (i = 0; i < segments; i++) - { - printf(_("Segment: %03d\n"), i + 1); - print_unknown(&(val[i * 128])); - printf("\n"); - } + formats[i].func(val, segments); } diff --git a/util/nwgrant.c b/util/nwgrant.c index 199714e..6c4d8d9 100644 --- a/util/nwgrant.c +++ b/util/nwgrant.c @@ -183,6 +183,7 @@ main(int argc, char *argv[]) if (object_type < 0) { #ifdef NDS_SUPPORT + u_int32_t flags; NWDSContextHandle ctx; nwerr = NWDSCreateContextHandle(&ctx); @@ -196,6 +197,10 @@ failDS:; if (nwerr) { goto failDS; } + if (!NWDSGetContext(ctx, DCK_FLAGS, &flags)) { + flags |= DCV_XLATE_STRINGS | DCV_TYPELESS_NAMES; + NWDSSetContext(ctx, DCK_FLAGS, &flags); + } nwerr = NWDSMapNameToID(ctx, conn, object_name, &o.object_id); if (nwerr) { goto failDS; diff --git a/util/nwrevoke.c b/util/nwrevoke.c index 2df53e1..8df69cd 100644 --- a/util/nwrevoke.c +++ b/util/nwrevoke.c @@ -152,6 +152,7 @@ main(int argc, char *argv[]) } if (object_type < 0) { #ifdef NDS_SUPPORT + u_int32_t flags; NWDSContextHandle ctx; nwerr = NWDSCreateContextHandle(&ctx); @@ -166,6 +167,9 @@ failDS:; NWDSFreeContext(ctx); goto failDS; } + if (!NWDSGetContext(ctx, DCK_FLAGS, &flags)) { + flags |= DCV_XLATE_STRINGS | DCV_TYPELESS_NAMES; + } nwerr = NWDSMapNameToID(ctx, conn, object_name, &o.object_id); if (nwerr) { NWDSFreeContext(ctx); diff --git a/util/nwtrustee2.c b/util/nwtrustee2.c index 53e7767..dda3021 100644 --- a/util/nwtrustee2.c +++ b/util/nwtrustee2.c @@ -154,7 +154,10 @@ main(int argc, char *argv[]) if (!err && (ver >= 0x0400)) { errctx = NWDSCreateContextHandle(&ctx); if (!errctx) { - static const u_int32_t flags = DCV_XLATE_STRINGS; + u_int32_t flags; + NWDSAddConnection(ctx, conn); + NWDSGetContext(ctx, DCK_FLAGS, &flags); + flags |= DCV_XLATE_STRINGS; NWDSSetContext(ctx, DCK_FLAGS, &flags); } } diff --git a/util/pqlist.c b/util/pqlist.c index deb5f28..3fbcb12 100644 --- a/util/pqlist.c +++ b/util/pqlist.c @@ -79,6 +79,7 @@ static int nds_qlist(NWCONN_HANDLE conn, char* pattern) { NWDSContextHandle ctx; NWDSCCODE err; nuint32 dsi; + nuint32 dckflags; Buf_T* buf; nuint32 iter = NO_MORE_ITERATIONS; @@ -88,11 +89,11 @@ static int nds_qlist(NWCONN_HANDLE conn, char* pattern) { err = NWDSAddConnection(ctx, conn); if (err) goto freectx; - err = NWDSGetContext(ctx, DCK_FLAGS, &dsi); + err = NWDSGetContext(ctx, DCK_FLAGS, &dckflags); if (err) goto freectx; - dsi &= ~DCV_CANONICALIZE_NAMES; - err = NWDSSetContext(ctx, DCK_FLAGS, &dsi); + dckflags |= DCV_TYPELESS_NAMES; + err = NWDSSetContext(ctx, DCK_FLAGS, &dckflags); if (err) goto freectx; dsi = DSI_OUTPUT_FIELDS | DSI_ENTRY_DN; diff --git a/util/pqstat.c b/util/pqstat.c index 40b874e..838e79e 100644 --- a/util/pqstat.c +++ b/util/pqstat.c @@ -83,16 +83,37 @@ ncp_cmp_time(struct tm* tm1, struct tm* tm2) return 0; } +static void get_object_name(NWCONN_HANDLE conn, NWObjectID objID, char* buff) { + NWCCODE err; + + err = NWGetObjectName(conn, objID, buff, NULL); + if (err) { + NWDSContextHandle ctx; + + err = NWDSCreateContextHandle(&ctx); + if (!err) { + err = NWDSAddConnection(ctx, conn); + if (!err) { + err = NWDSMapIDToName(ctx, conn, objID, buff); + } + NWDSFreeContext(ctx); + } + } + if (err) { + sprintf(buff, "<%s>", strnwerror(err)); + } +} + int main(int argc, char **argv) { struct ncp_conn *conn; - struct ncp_bindery_object q,u; - unsigned long maxqlen=~0; + struct ncp_bindery_object q; + unsigned long maxqlen=~0; long err; - u_int32_t qlen, idl1,idl2, job_id; - struct nw_queue_job_entry j; + u_int32_t qlen, idl1,idl2, job_id; + struct nw_queue_job_entry j; setlocale(LC_ALL, ""); bindtextdomain(NCPFS_PACKAGE, LOCALEDIR); @@ -104,8 +125,7 @@ main(int argc, char **argv) return 1; } - if (argc == 3) - { + if (argc == 3) { char *end; maxqlen=strtoul(argv[2], &end, 10); @@ -145,6 +165,7 @@ main(int argc, char **argv) if (isatty(1)) { char server[NW_MAX_SERVER_NAME_LEN]; + char qname[MAX_DN_BYTES]; const char* sptr = server; NWCCODE err2; @@ -153,8 +174,9 @@ main(int argc, char **argv) if (err2) sptr = "?"; + get_object_name(conn, q.object_id, qname); printf(_("\nServer: %s\tQueue: %s\tQueue ID: %8.8X\n"), sptr, - q.object_name, q.object_id); + qname, q.object_id); printf(_(" %5s %-12s %-32s %-7s %-4s %-8s\n" "-----------------------------------------------" "--------------------------------\n"), @@ -191,19 +213,9 @@ main(int argc, char **argv) while (maxqlen-- && job_id && (ncp_get_queue_job_info(conn, q.object_id, job_id, &j) == 0)) { const char* jst; + char user[MAX_DN_BYTES]; - char user[50]; - if ((ncp_get_bindery_object_name - (conn, ntohl(j.ClientObjectID), &u)) - == 0) - { - memcpy(user,u.object_name,48); - user[48]=0; - } - else - { - sprintf(user,_("")); - } + get_object_name(conn, ntohl(j.ClientObjectID), user); j.JobFileName[j.FileNameLen]=0;