diff options
Diffstat (limited to 'source3')
93 files changed, 16751 insertions, 31858 deletions
diff --git a/source3/Makefile.in b/source3/Makefile.in index ecfbcd0b9c..650e2081c7 100644 --- a/source3/Makefile.in +++ b/source3/Makefile.in @@ -1138,6 +1138,11 @@ WINBINDD_OBJ1 = \ winbindd/winbindd_ads.o \ winbindd/winbindd_passdb.o \ winbindd/winbindd_dual.o \ + winbindd/winbindd_dual_ndr.o \ + winbindd/winbindd_dual_srv.o \ + librpc/gen_ndr/cli_wbint.o \ + librpc/gen_ndr/srv_wbint.o \ + librpc/gen_ndr/ndr_wbint.o \ winbindd/winbindd_async.o \ winbindd/winbindd_creds.o \ winbindd/winbindd_cred_cache.o \ @@ -1147,6 +1152,29 @@ WINBINDD_OBJ1 = \ winbindd/winbindd_locator.o \ winbindd/winbindd_ndr.o \ winbindd/wb_ping.o \ + winbindd/wb_lookupsid.o \ + winbindd/wb_lookupname.o \ + winbindd/wb_sid2uid.o \ + winbindd/wb_sid2gid.o \ + winbindd/wb_uid2sid.o \ + winbindd/wb_gid2sid.o \ + winbindd/wb_queryuser.o \ + winbindd/wb_lookupuseraliases.o \ + winbindd/wb_lookupusergroups.o \ + winbindd/wb_getpwsid.o \ + winbindd/wb_gettoken.o \ + winbindd/winbindd_lookupsid.o \ + winbindd/winbindd_lookupname.o \ + winbindd/winbindd_sid_to_uid.o \ + winbindd/winbindd_sid_to_gid.o \ + winbindd/winbindd_uid_to_sid.o \ + winbindd/winbindd_gid_to_sid.o \ + winbindd/winbindd_getpwsid.o \ + winbindd/winbindd_getpwnam.o \ + winbindd/winbindd_getpwuid.o \ + winbindd/winbindd_getsidaliases.o \ + winbindd/winbindd_getuserdomgroups.o \ + winbindd/winbindd_getgroups.o \ auth/token_util.o \ ../nsswitch/libwbclient/wb_reqtrans.o \ smbd/connection.o @@ -1322,7 +1350,8 @@ samba3-idl:: srcdir="$(srcdir)" ../librpc/build_idl.sh ../librpc/idl/*.idl @PIDL_OUTPUTDIR="librpc/gen_ndr" PIDL_ARGS="$(PIDL_ARGS)" CPP="$(CPP)" PIDL="../pidl/pidl" \ srcdir="$(srcdir)" $(srcdir)/script/build_idl.sh \ - librpc/idl/messaging.idl librpc/idl/libnetapi.idl librpc/idl/notify.idl + librpc/idl/messaging.idl librpc/idl/libnetapi.idl librpc/idl/notify.idl \ + librpc/idl/wbint.idl ##################################################################### diff --git a/source3/include/includes.h b/source3/include/includes.h index 8fb240f26c..2d82e6e57e 100644 --- a/source3/include/includes.h +++ b/source3/include/includes.h @@ -207,7 +207,11 @@ typedef int ber_int_t; #endif #ifndef ENOATTR +#if defined(ENODATA) #define ENOATTR ENODATA +#else +#define ENOATTR ENOENT +#endif #endif /* mutually exclusive (SuSE 8.2) */ @@ -1112,4 +1116,7 @@ void in6_addr_to_sockaddr_storage(struct sockaddr_storage *ss, struct in6_addr ip); #endif +/* samba3 doesn't use uwrap yet */ +#define uwrap_enabled() 0 + #endif /* _INCLUDES_H */ diff --git a/source3/include/proto.h b/source3/include/proto.h index 00cfd6129e..e8bfe8efae 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -6144,9 +6144,7 @@ connection_struct *conn_new(struct smbd_server_connection *sconn); bool conn_close_all(struct smbd_server_connection *sconn); bool conn_idle_all(struct smbd_server_connection *sconn, time_t t); void conn_clear_vuid_caches(struct smbd_server_connection *sconn, uint16 vuid); -void conn_free_internal(connection_struct *conn); -void conn_free(struct smbd_server_connection *sconn, - connection_struct *conn); +void conn_free(connection_struct *conn); void msg_force_tdis(struct messaging_context *msg, void *private_data, uint32_t msg_type, @@ -6183,14 +6181,15 @@ bool make_dir_struct(TALLOC_CTX *ctx, uint32 mode, time_t date, bool uc); -void init_dptrs(void); -char *dptr_path(int key); -char *dptr_wcard(int key); -uint16 dptr_attr(int key); -void dptr_close(int *key); +bool init_dptrs(struct smbd_server_connection *sconn); +char *dptr_path(struct smbd_server_connection *sconn, int key); +char *dptr_wcard(struct smbd_server_connection *sconn, int key); +uint16 dptr_attr(struct smbd_server_connection *sconn, int key); +void dptr_close(struct smbd_server_connection *sconn, int *key); void dptr_closecnum(connection_struct *conn); void dptr_idlecnum(connection_struct *conn); -void dptr_closepath(char *path,uint16 spid); +void dptr_closepath(struct smbd_server_connection *sconn, + char *path,uint16 spid); NTSTATUS dptr_create(connection_struct *conn, const char *path, bool old_handle, bool expect_close,uint16 spid, const char *wcard, bool wcard_has_wild, uint32 attr, struct dptr_struct **dptr_ret); int dptr_CloseDir(struct dptr_struct *dptr); @@ -6205,12 +6204,15 @@ char *dptr_ReadDirName(TALLOC_CTX *ctx, bool dptr_SearchDir(struct dptr_struct *dptr, const char *name, long *poffset, SMB_STRUCT_STAT *pst); void dptr_DirCacheAdd(struct dptr_struct *dptr, const char *name, long offset); void dptr_init_search_op(struct dptr_struct *dptr); -bool dptr_fill(char *buf1,unsigned int key); -struct dptr_struct *dptr_fetch(char *buf,int *num); -struct dptr_struct *dptr_fetch_lanman2(int dptr_num); +bool dptr_fill(struct smbd_server_connection *sconn, + char *buf1,unsigned int key); +struct dptr_struct *dptr_fetch(struct smbd_server_connection *sconn, + char *buf,int *num); +struct dptr_struct *dptr_fetch_lanman2(struct smbd_server_connection *sconn, + int dptr_num); bool dir_check_ftype(connection_struct *conn, uint32 mode, uint32 dirtype); bool get_dir_entry(TALLOC_CTX *ctx, - connection_struct *conn, + struct dptr_struct *dirptr, const char *mask, uint32 dirtype, char **pp_fname_out, @@ -6745,7 +6747,8 @@ int chmod_acl(connection_struct *conn, const char *name, mode_t mode); int inherit_access_posix_acl(connection_struct *conn, const char *inherit_from_dir, const char *name, mode_t mode); int fchmod_acl(files_struct *fsp, mode_t mode); -bool set_unix_posix_default_acl(connection_struct *conn, const char *fname, SMB_STRUCT_STAT *psbuf, +bool set_unix_posix_default_acl(connection_struct *conn, const char *fname, + const SMB_STRUCT_STAT *psbuf, uint16 num_def_acls, const char *pdata); bool set_unix_posix_acl(connection_struct *conn, files_struct *fsp, const char *fname, uint16 num_acls, const char *pdata); SEC_DESC *get_nt_acl_no_snum( TALLOC_CTX *ctx, const char *fname); @@ -6983,8 +6986,7 @@ connection_struct *make_connection(struct smbd_server_connection *sconn, const char *service_in, DATA_BLOB password, const char *pdev, uint16 vuid, NTSTATUS *status); -void close_cnum(struct smbd_server_connection *sconn, - connection_struct *conn, uint16 vuid); +void close_cnum(connection_struct *conn, uint16 vuid); /* The following definitions come from smbd/session.c */ diff --git a/source3/include/smb.h b/source3/include/smb.h index e2d670fa04..b53735d36d 100644 --- a/source3/include/smb.h +++ b/source3/include/smb.h @@ -546,16 +546,15 @@ struct share_iterator { typedef struct connection_struct { struct connection_struct *next, *prev; + struct smbd_server_connection *sconn; /* can be NULL */ unsigned cnum; /* an index passed over the wire */ struct share_params *params; bool force_user; struct vuid_cache vuid_cache; - struct dptr_struct *dirptr; bool printer; bool ipc; bool read_only; /* Attributes for the current user of the share. */ bool admin_user; /* Attributes for the current user of the share. */ - char *dirpath; char *connectpath; char *origpath; diff --git a/source3/lib/bitmap.c b/source3/lib/bitmap.c index 5e623f474a..f753ffd534 100644 --- a/source3/lib/bitmap.c +++ b/source3/lib/bitmap.c @@ -32,7 +32,7 @@ struct bitmap *bitmap_allocate(int n) bm = SMB_MALLOC_P(struct bitmap); if (!bm) return NULL; - + bm->n = n; bm->b = SMB_MALLOC_ARRAY(uint32, (n+31)/32); if (!bm->b) { @@ -70,7 +70,7 @@ struct bitmap *bitmap_talloc(TALLOC_CTX *mem_ctx, int n) bm = TALLOC_P(mem_ctx, struct bitmap); if (!bm) return NULL; - + bm->n = n; bm->b = TALLOC_ARRAY(mem_ctx, uint32, (n+31)/32); if (!bm->b) { diff --git a/source3/lib/conn_tdb.c b/source3/lib/conn_tdb.c index 22d85c873d..fc35361cac 100644 --- a/source3/lib/conn_tdb.c +++ b/source3/lib/conn_tdb.c @@ -2,17 +2,17 @@ Unix SMB/CIFS implementation. Low-level connections.tdb access functions Copyright (C) Volker Lendecke 2007 - + This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 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 General Public License for more details. - + You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ diff --git a/source3/lib/ctdbd_conn.c b/source3/lib/ctdbd_conn.c index 449e049ffa..0af420412b 100644 --- a/source3/lib/ctdbd_conn.c +++ b/source3/lib/ctdbd_conn.c @@ -3,17 +3,17 @@ Samba internal messaging functions Copyright (C) 2007 by Volker Lendecke Copyright (C) 2007 by Andrew Tridgell - + This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 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 General Public License for more details. - + You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ @@ -36,7 +36,7 @@ struct ctdbd_connection { uint64 rand_srvid; struct packet_context *pkt; struct fd_event *fde; - + void (*release_ip_handler)(const char *ip_addr, void *private_data); void *release_ip_priv; }; @@ -339,7 +339,7 @@ static NTSTATUS ctdb_read_req(struct ctdbd_connection *conn, uint32 reqid, (long long unsigned)msg->srvid)); goto next_pkt; } - + if ((conn->release_ip_handler != NULL) && (msg->srvid == CTDB_SRVID_RELEASE_IP)) { /* must be dispatched immediately */ @@ -375,7 +375,7 @@ static NTSTATUS ctdb_read_req(struct ctdbd_connection *conn, uint32 reqid, TALLOC_FREE(hdr); msg_state->msg_ctx = conn->msg_ctx; - + /* * We're waiting for a call reply, but an async message has * crossed. Defer dispatching to the toplevel event loop. @@ -391,7 +391,7 @@ static NTSTATUS ctdb_read_req(struct ctdbd_connection *conn, uint32 reqid, TALLOC_FREE(hdr); goto next_pkt; } - + goto next_pkt; } @@ -541,7 +541,6 @@ static NTSTATUS ctdb_handle_message(uint8_t *buf, size_t length, TALLOC_FREE(buf); return NT_STATUS_OK; - } /* only messages to our pid or the broadcast are valid here */ @@ -895,7 +894,7 @@ NTSTATUS ctdbd_migrate(struct ctdbd_connection *conn, uint32 db_id, NTSTATUS status; ZERO_STRUCT(req); - + req.hdr.length = offsetof(struct ctdb_req_call, data) + key.dsize; req.hdr.ctdb_magic = CTDB_MAGIC; req.hdr.ctdb_version = CTDB_VERSION; @@ -957,7 +956,7 @@ NTSTATUS ctdbd_fetch(struct ctdbd_connection *conn, uint32 db_id, NTSTATUS status; ZERO_STRUCT(req); - + req.hdr.length = offsetof(struct ctdb_req_call, data) + key.dsize; req.hdr.ctdb_magic = CTDB_MAGIC; req.hdr.ctdb_version = CTDB_VERSION; diff --git a/source3/lib/smbldap.c b/source3/lib/smbldap.c index 4833b96c5f..c96801a72b 100644 --- a/source3/lib/smbldap.c +++ b/source3/lib/smbldap.c @@ -1449,7 +1449,7 @@ int smbldap_search_paged(struct smbldap_state *ldap_state, goto done; } - DEBUG(3,("smbldap_search_paged: search was successfull\n")); + DEBUG(3,("smbldap_search_paged: search was successful\n")); rc = ldap_parse_result(ldap_state->ldap_struct, *res, NULL, NULL, NULL, NULL, &rcontrols, 0); diff --git a/source3/lib/util_tdb.c b/source3/lib/util_tdb.c index 5b3d94dabe..1d210a1e57 100644 --- a/source3/lib/util_tdb.c +++ b/source3/lib/util_tdb.c @@ -4,17 +4,17 @@ Copyright (C) Andrew Tridgell 1992-1998 Copyright (C) Rafal Szczesniak 2002 Copyright (C) Michael Adam 2007 - + This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 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 General Public License for more details. - + You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ @@ -91,7 +91,7 @@ int tdb_lock_bystring_with_timeout(TDB_CONTEXT *tdb, const char *keyval, int timeout) { TDB_DATA key = string_term_tdb_data(keyval); - + return tdb_chainlock_with_timeout(tdb, key, timeout); } @@ -102,7 +102,7 @@ int tdb_lock_bystring_with_timeout(TDB_CONTEXT *tdb, const char *keyval, int tdb_read_lock_bystring_with_timeout(TDB_CONTEXT *tdb, const char *keyval, unsigned int timeout) { TDB_DATA key = string_term_tdb_data(keyval); - + return tdb_chainlock_with_timeout_internal(tdb, key, timeout, F_RDLCK); } @@ -113,7 +113,7 @@ int tdb_trans_store_bystring(TDB_CONTEXT *tdb, const char *keystr, TDB_DATA data, int flags) { TDB_DATA key = string_term_tdb_data(keystr); - + return tdb_trans_store(tdb, key, data, flags); } @@ -202,7 +202,7 @@ static size_t tdb_pack_va(uint8 *buf, int bufsize, const char *fmt, va_list ap) DEBUG(18,("tdb_pack_va(%s, %d) -> %d\n", fmt0, bufsize0, (int)PTR_DIFF(buf, buf0))); - + return PTR_DIFF(buf, buf0); } diff --git a/source3/lib/winbind_util.c b/source3/lib/winbind_util.c index df095b9e91..0c904ac569 100644 --- a/source3/lib/winbind_util.c +++ b/source3/lib/winbind_util.c @@ -3,17 +3,17 @@ Winbind Utility functions Copyright (C) Gerald (Jerry) Carter 2007 - + This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 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 General Public License for more details. - + You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ @@ -113,7 +113,7 @@ bool winbind_lookup_sid(TALLOC_CTX *mem_ctx, const DOM_SID *sid, wbcFreeMemory(domain_name); wbcFreeMemory(account_name); - + if ((domain && !*domain) || (name && !*name)) { DEBUG(0,("winbind_lookup_sid: talloc() failed!\n")); return false; @@ -200,7 +200,7 @@ wbcErr wb_is_trusted_domain(const char *domain) { wbcErr result; struct wbcDomainInfo *info = NULL; - + result = wbcDomainInfo(domain, &info); if (WBC_ERROR_IS_OK(result)) { @@ -224,15 +224,15 @@ bool winbind_lookup_rids(TALLOC_CTX *mem_ctx, struct wbcDomainSid dom_sid; wbcErr ret; int i; - + memcpy(&dom_sid, domain_sid, sizeof(struct wbcDomainSid)); - + ret = wbcLookupRids(&dom_sid, num_rids, rids, &dom_name, &namelist, &name_types); if (ret != WBC_ERR_SUCCESS) { return false; } - + *domain_name = talloc_strdup(mem_ctx, dom_name); *names = TALLOC_ARRAY(mem_ctx, const char*, num_rids); *types = TALLOC_ARRAY(mem_ctx, enum lsa_SidType, num_rids); @@ -245,7 +245,7 @@ bool winbind_lookup_rids(TALLOC_CTX *mem_ctx, wbcFreeMemory(CONST_DISCARD(char*, dom_name)); wbcFreeMemory(namelist); wbcFreeMemory(name_types); - + return true; } @@ -254,9 +254,9 @@ bool winbind_lookup_rids(TALLOC_CTX *mem_ctx, bool winbind_allocate_uid(uid_t *uid) { wbcErr ret; - + ret = wbcAllocateUid(uid); - + return (ret == WBC_ERR_SUCCESS); } @@ -265,9 +265,9 @@ bool winbind_allocate_uid(uid_t *uid) bool winbind_allocate_gid(gid_t *gid) { wbcErr ret; - + ret = wbcAllocateGid(gid); - + return (ret == WBC_ERR_SUCCESS); } diff --git a/source3/lib/wins_srv.c b/source3/lib/wins_srv.c index b2c0bf8b87..6676f02e94 100644 --- a/source3/lib/wins_srv.c +++ b/source3/lib/wins_srv.c @@ -227,7 +227,7 @@ char **wins_srv_tags(void) /* yes, this is O(n^2) but n is very small */ for (i=0;list[i];i++) { struct tagged_ip t_ip; - + parse_ip(&t_ip, list[i]); /* see if we already have it */ @@ -313,7 +313,7 @@ struct in_addr wins_srv_ip_tag(const char *tag, struct in_addr src_ip) return t_ip.ip; } } - + /* they're all dead - try the first one until they revive */ for (i=0; list[i]; i++) { parse_ip(&t_ip, list[i]); diff --git a/source3/librpc/gen_ndr/cli_wbint.c b/source3/librpc/gen_ndr/cli_wbint.c new file mode 100644 index 0000000000..de6b345a0e --- /dev/null +++ b/source3/librpc/gen_ndr/cli_wbint.c @@ -0,0 +1,1647 @@ +/* + * Unix SMB/CIFS implementation. + * client auto-generated by pidl. DO NOT MODIFY! + */ + +#include "includes.h" +#include "librpc/gen_ndr/cli_wbint.h" + +struct rpccli_wbint_Ping_state { + struct wbint_Ping orig; + struct wbint_Ping tmp; + TALLOC_CTX *out_mem_ctx; + NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); +}; + +static void rpccli_wbint_Ping_done(struct tevent_req *subreq); + +struct tevent_req *rpccli_wbint_Ping_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct rpc_pipe_client *cli, + uint32_t _in_data /* [in] */, + uint32_t *_out_data /* [out] [ref] */) +{ + struct tevent_req *req; + struct rpccli_wbint_Ping_state *state; + struct tevent_req *subreq; + + req = tevent_req_create(mem_ctx, &state, + struct rpccli_wbint_Ping_state); + if (req == NULL) { + return NULL; + } + state->out_mem_ctx = NULL; + state->dispatch_recv = cli->dispatch_recv; + + /* In parameters */ + state->orig.in.in_data = _in_data; + + /* Out parameters */ + state->orig.out.out_data = _out_data; + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_IN_DEBUG(wbint_Ping, &state->orig); + } + + state->out_mem_ctx = talloc_named_const(state, 0, + "rpccli_wbint_Ping_out_memory"); + if (tevent_req_nomem(state->out_mem_ctx, req)) { + return tevent_req_post(req, ev); + } + + /* make a temporary copy, that we pass to the dispatch function */ + state->tmp = state->orig; + + subreq = cli->dispatch_send(state, ev, cli, + &ndr_table_wbint, + NDR_WBINT_PING, + &state->tmp); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, rpccli_wbint_Ping_done, req); + return req; +} + +static void rpccli_wbint_Ping_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct rpccli_wbint_Ping_state *state = tevent_req_data( + req, struct rpccli_wbint_Ping_state); + NTSTATUS status; + TALLOC_CTX *mem_ctx; + + if (state->out_mem_ctx) { + mem_ctx = state->out_mem_ctx; + } else { + mem_ctx = state; + } + + status = state->dispatch_recv(subreq, mem_ctx); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + + /* Copy out parameters */ + *state->orig.out.out_data = *state->tmp.out.out_data; + + /* Reset temporary structure */ + ZERO_STRUCT(state->tmp); + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_OUT_DEBUG(wbint_Ping, &state->orig); + } + + tevent_req_done(req); +} + +NTSTATUS rpccli_wbint_Ping_recv(struct tevent_req *req, + TALLOC_CTX *mem_ctx) +{ + struct rpccli_wbint_Ping_state *state = tevent_req_data( + req, struct rpccli_wbint_Ping_state); + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + tevent_req_received(req); + return status; + } + + /* Steal possbile out parameters to the callers context */ + talloc_steal(mem_ctx, state->out_mem_ctx); + + tevent_req_received(req); + return NT_STATUS_OK; +} + +NTSTATUS rpccli_wbint_Ping(struct rpc_pipe_client *cli, + TALLOC_CTX *mem_ctx, + uint32_t in_data /* [in] */, + uint32_t *out_data /* [out] [ref] */) +{ + struct wbint_Ping r; + NTSTATUS status; + + /* In parameters */ + r.in.in_data = in_data; + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_IN_DEBUG(wbint_Ping, &r); + } + + status = cli->dispatch(cli, + mem_ctx, + &ndr_table_wbint, + NDR_WBINT_PING, + &r); + + if (!NT_STATUS_IS_OK(status)) { + return status; + } + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_OUT_DEBUG(wbint_Ping, &r); + } + + if (NT_STATUS_IS_ERR(status)) { + return status; + } + + /* Return variables */ + *out_data = *r.out.out_data; + + /* Return result */ + return NT_STATUS_OK; +} + +struct rpccli_wbint_LookupSid_state { + struct wbint_LookupSid orig; + struct wbint_LookupSid tmp; + TALLOC_CTX *out_mem_ctx; + NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); +}; + +static void rpccli_wbint_LookupSid_done(struct tevent_req *subreq); + +struct tevent_req *rpccli_wbint_LookupSid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct rpc_pipe_client *cli, + struct dom_sid *_sid /* [in] [ref] */, + enum lsa_SidType *_type /* [out] [ref] */, + const char **_domain /* [out] [ref,charset(UTF8)] */, + const char **_name /* [out] [ref,charset(UTF8)] */) +{ + struct tevent_req *req; + struct rpccli_wbint_LookupSid_state *state; + struct tevent_req *subreq; + + req = tevent_req_create(mem_ctx, &state, + struct rpccli_wbint_LookupSid_state); + if (req == NULL) { + return NULL; + } + state->out_mem_ctx = NULL; + state->dispatch_recv = cli->dispatch_recv; + + /* In parameters */ + state->orig.in.sid = _sid; + + /* Out parameters */ + state->orig.out.type = _type; + state->orig.out.domain = _domain; + state->orig.out.name = _name; + + /* Result */ + ZERO_STRUCT(state->orig.out.result); + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_IN_DEBUG(wbint_LookupSid, &state->orig); + } + + state->out_mem_ctx = talloc_named_const(state, 0, + "rpccli_wbint_LookupSid_out_memory"); + if (tevent_req_nomem(state->out_mem_ctx, req)) { + return tevent_req_post(req, ev); + } + + /* make a temporary copy, that we pass to the dispatch function */ + state->tmp = state->orig; + + subreq = cli->dispatch_send(state, ev, cli, + &ndr_table_wbint, + NDR_WBINT_LOOKUPSID, + &state->tmp); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, rpccli_wbint_LookupSid_done, req); + return req; +} + +static void rpccli_wbint_LookupSid_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct rpccli_wbint_LookupSid_state *state = tevent_req_data( + req, struct rpccli_wbint_LookupSid_state); + NTSTATUS status; + TALLOC_CTX *mem_ctx; + + if (state->out_mem_ctx) { + mem_ctx = state->out_mem_ctx; + } else { + mem_ctx = state; + } + + status = state->dispatch_recv(subreq, mem_ctx); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + + /* Copy out parameters */ + *state->orig.out.type = *state->tmp.out.type; + *state->orig.out.domain = *state->tmp.out.domain; + *state->orig.out.name = *state->tmp.out.name; + + /* Copy result */ + state->orig.out.result = state->tmp.out.result; + + /* Reset temporary structure */ + ZERO_STRUCT(state->tmp); + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_OUT_DEBUG(wbint_LookupSid, &state->orig); + } + + tevent_req_done(req); +} + +NTSTATUS rpccli_wbint_LookupSid_recv(struct tevent_req *req, + TALLOC_CTX *mem_ctx, + NTSTATUS *result) +{ + struct rpccli_wbint_LookupSid_state *state = tevent_req_data( + req, struct rpccli_wbint_LookupSid_state); + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + tevent_req_received(req); + return status; + } + + /* Steal possbile out parameters to the callers context */ + talloc_steal(mem_ctx, state->out_mem_ctx); + + /* Return result */ + *result = state->orig.out.result; + + tevent_req_received(req); + return NT_STATUS_OK; +} + +NTSTATUS rpccli_wbint_LookupSid(struct rpc_pipe_client *cli, + TALLOC_CTX *mem_ctx, + struct dom_sid *sid /* [in] [ref] */, + enum lsa_SidType *type /* [out] [ref] */, + const char **domain /* [out] [ref,charset(UTF8)] */, + const char **name /* [out] [ref,charset(UTF8)] */) +{ + struct wbint_LookupSid r; + NTSTATUS status; + + /* In parameters */ + r.in.sid = sid; + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_IN_DEBUG(wbint_LookupSid, &r); + } + + status = cli->dispatch(cli, + mem_ctx, + &ndr_table_wbint, + NDR_WBINT_LOOKUPSID, + &r); + + if (!NT_STATUS_IS_OK(status)) { + return status; + } + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_OUT_DEBUG(wbint_LookupSid, &r); + } + + if (NT_STATUS_IS_ERR(status)) { + return status; + } + + /* Return variables */ + *type = *r.out.type; + *domain = *r.out.domain; + *name = *r.out.name; + + /* Return result */ + return r.out.result; +} + +struct rpccli_wbint_LookupName_state { + struct wbint_LookupName orig; + struct wbint_LookupName tmp; + TALLOC_CTX *out_mem_ctx; + NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); +}; + +static void rpccli_wbint_LookupName_done(struct tevent_req *subreq); + +struct tevent_req *rpccli_wbint_LookupName_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct rpc_pipe_client *cli, + const char *_domain /* [in] [ref,charset(UTF8)] */, + const char *_name /* [in] [ref,charset(UTF8)] */, + uint32_t _flags /* [in] */, + enum lsa_SidType *_type /* [out] [ref] */, + struct dom_sid *_sid /* [out] [ref] */) +{ + struct tevent_req *req; + struct rpccli_wbint_LookupName_state *state; + struct tevent_req *subreq; + + req = tevent_req_create(mem_ctx, &state, + struct rpccli_wbint_LookupName_state); + if (req == NULL) { + return NULL; + } + state->out_mem_ctx = NULL; + state->dispatch_recv = cli->dispatch_recv; + + /* In parameters */ + state->orig.in.domain = _domain; + state->orig.in.name = _name; + state->orig.in.flags = _flags; + + /* Out parameters */ + state->orig.out.type = _type; + state->orig.out.sid = _sid; + + /* Result */ + ZERO_STRUCT(state->orig.out.result); + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_IN_DEBUG(wbint_LookupName, &state->orig); + } + + state->out_mem_ctx = talloc_named_const(state, 0, + "rpccli_wbint_LookupName_out_memory"); + if (tevent_req_nomem(state->out_mem_ctx, req)) { + return tevent_req_post(req, ev); + } + + /* make a temporary copy, that we pass to the dispatch function */ + state->tmp = state->orig; + + subreq = cli->dispatch_send(state, ev, cli, + &ndr_table_wbint, + NDR_WBINT_LOOKUPNAME, + &state->tmp); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, rpccli_wbint_LookupName_done, req); + return req; +} + +static void rpccli_wbint_LookupName_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct rpccli_wbint_LookupName_state *state = tevent_req_data( + req, struct rpccli_wbint_LookupName_state); + NTSTATUS status; + TALLOC_CTX *mem_ctx; + + if (state->out_mem_ctx) { + mem_ctx = state->out_mem_ctx; + } else { + mem_ctx = state; + } + + status = state->dispatch_recv(subreq, mem_ctx); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + + /* Copy out parameters */ + *state->orig.out.type = *state->tmp.out.type; + *state->orig.out.sid = *state->tmp.out.sid; + + /* Copy result */ + state->orig.out.result = state->tmp.out.result; + + /* Reset temporary structure */ + ZERO_STRUCT(state->tmp); + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_OUT_DEBUG(wbint_LookupName, &state->orig); + } + + tevent_req_done(req); +} + +NTSTATUS rpccli_wbint_LookupName_recv(struct tevent_req *req, + TALLOC_CTX *mem_ctx, + NTSTATUS *result) +{ + struct rpccli_wbint_LookupName_state *state = tevent_req_data( + req, struct rpccli_wbint_LookupName_state); + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + tevent_req_received(req); + return status; + } + + /* Steal possbile out parameters to the callers context */ + talloc_steal(mem_ctx, state->out_mem_ctx); + + /* Return result */ + *result = state->orig.out.result; + + tevent_req_received(req); + return NT_STATUS_OK; +} + +NTSTATUS rpccli_wbint_LookupName(struct rpc_pipe_client *cli, + TALLOC_CTX *mem_ctx, + const char *domain /* [in] [ref,charset(UTF8)] */, + const char *name /* [in] [ref,charset(UTF8)] */, + uint32_t flags /* [in] */, + enum lsa_SidType *type /* [out] [ref] */, + struct dom_sid *sid /* [out] [ref] */) +{ + struct wbint_LookupName r; + NTSTATUS status; + + /* In parameters */ + r.in.domain = domain; + r.in.name = name; + r.in.flags = flags; + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_IN_DEBUG(wbint_LookupName, &r); + } + + status = cli->dispatch(cli, + mem_ctx, + &ndr_table_wbint, + NDR_WBINT_LOOKUPNAME, + &r); + + if (!NT_STATUS_IS_OK(status)) { + return status; + } + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_OUT_DEBUG(wbint_LookupName, &r); + } + + if (NT_STATUS_IS_ERR(status)) { + return status; + } + + /* Return variables */ + *type = *r.out.type; + *sid = *r.out.sid; + + /* Return result */ + return r.out.result; +} + +struct rpccli_wbint_Sid2Uid_state { + struct wbint_Sid2Uid orig; + struct wbint_Sid2Uid tmp; + TALLOC_CTX *out_mem_ctx; + NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); +}; + +static void rpccli_wbint_Sid2Uid_done(struct tevent_req *subreq); + +struct tevent_req *rpccli_wbint_Sid2Uid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct rpc_pipe_client *cli, + const char *_dom_name /* [in] [unique,charset(UTF8)] */, + struct dom_sid *_sid /* [in] [ref] */, + uint64_t *_uid /* [out] [ref] */) +{ + struct tevent_req *req; + struct rpccli_wbint_Sid2Uid_state *state; + struct tevent_req *subreq; + + req = tevent_req_create(mem_ctx, &state, + struct rpccli_wbint_Sid2Uid_state); + if (req == NULL) { + return NULL; + } + state->out_mem_ctx = NULL; + state->dispatch_recv = cli->dispatch_recv; + + /* In parameters */ + state->orig.in.dom_name = _dom_name; + state->orig.in.sid = _sid; + + /* Out parameters */ + state->orig.out.uid = _uid; + + /* Result */ + ZERO_STRUCT(state->orig.out.result); + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_IN_DEBUG(wbint_Sid2Uid, &state->orig); + } + + state->out_mem_ctx = talloc_named_const(state, 0, + "rpccli_wbint_Sid2Uid_out_memory"); + if (tevent_req_nomem(state->out_mem_ctx, req)) { + return tevent_req_post(req, ev); + } + + /* make a temporary copy, that we pass to the dispatch function */ + state->tmp = state->orig; + + subreq = cli->dispatch_send(state, ev, cli, + &ndr_table_wbint, + NDR_WBINT_SID2UID, + &state->tmp); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, rpccli_wbint_Sid2Uid_done, req); + return req; +} + +static void rpccli_wbint_Sid2Uid_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct rpccli_wbint_Sid2Uid_state *state = tevent_req_data( + req, struct rpccli_wbint_Sid2Uid_state); + NTSTATUS status; + TALLOC_CTX *mem_ctx; + + if (state->out_mem_ctx) { + mem_ctx = state->out_mem_ctx; + } else { + mem_ctx = state; + } + + status = state->dispatch_recv(subreq, mem_ctx); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + + /* Copy out parameters */ + *state->orig.out.uid = *state->tmp.out.uid; + + /* Copy result */ + state->orig.out.result = state->tmp.out.result; + + /* Reset temporary structure */ + ZERO_STRUCT(state->tmp); + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_OUT_DEBUG(wbint_Sid2Uid, &state->orig); + } + + tevent_req_done(req); +} + +NTSTATUS rpccli_wbint_Sid2Uid_recv(struct tevent_req *req, + TALLOC_CTX *mem_ctx, + NTSTATUS *result) +{ + struct rpccli_wbint_Sid2Uid_state *state = tevent_req_data( + req, struct rpccli_wbint_Sid2Uid_state); + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + tevent_req_received(req); + return status; + } + + /* Steal possbile out parameters to the callers context */ + talloc_steal(mem_ctx, state->out_mem_ctx); + + /* Return result */ + *result = state->orig.out.result; + + tevent_req_received(req); + return NT_STATUS_OK; +} + +NTSTATUS rpccli_wbint_Sid2Uid(struct rpc_pipe_client *cli, + TALLOC_CTX *mem_ctx, + const char *dom_name /* [in] [unique,charset(UTF8)] */, + struct dom_sid *sid /* [in] [ref] */, + uint64_t *uid /* [out] [ref] */) +{ + struct wbint_Sid2Uid r; + NTSTATUS status; + + /* In parameters */ + r.in.dom_name = dom_name; + r.in.sid = sid; + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_IN_DEBUG(wbint_Sid2Uid, &r); + } + + status = cli->dispatch(cli, + mem_ctx, + &ndr_table_wbint, + NDR_WBINT_SID2UID, + &r); + + if (!NT_STATUS_IS_OK(status)) { + return status; + } + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_OUT_DEBUG(wbint_Sid2Uid, &r); + } + + if (NT_STATUS_IS_ERR(status)) { + return status; + } + + /* Return variables */ + *uid = *r.out.uid; + + /* Return result */ + return r.out.result; +} + +struct rpccli_wbint_Sid2Gid_state { + struct wbint_Sid2Gid orig; + struct wbint_Sid2Gid tmp; + TALLOC_CTX *out_mem_ctx; + NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); +}; + +static void rpccli_wbint_Sid2Gid_done(struct tevent_req *subreq); + +struct tevent_req *rpccli_wbint_Sid2Gid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct rpc_pipe_client *cli, + const char *_dom_name /* [in] [unique,charset(UTF8)] */, + struct dom_sid *_sid /* [in] [ref] */, + uint64_t *_gid /* [out] [ref] */) +{ + struct tevent_req *req; + struct rpccli_wbint_Sid2Gid_state *state; + struct tevent_req *subreq; + + req = tevent_req_create(mem_ctx, &state, + struct rpccli_wbint_Sid2Gid_state); + if (req == NULL) { + return NULL; + } + state->out_mem_ctx = NULL; + state->dispatch_recv = cli->dispatch_recv; + + /* In parameters */ + state->orig.in.dom_name = _dom_name; + state->orig.in.sid = _sid; + + /* Out parameters */ + state->orig.out.gid = _gid; + + /* Result */ + ZERO_STRUCT(state->orig.out.result); + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_IN_DEBUG(wbint_Sid2Gid, &state->orig); + } + + state->out_mem_ctx = talloc_named_const(state, 0, + "rpccli_wbint_Sid2Gid_out_memory"); + if (tevent_req_nomem(state->out_mem_ctx, req)) { + return tevent_req_post(req, ev); + } + + /* make a temporary copy, that we pass to the dispatch function */ + state->tmp = state->orig; + + subreq = cli->dispatch_send(state, ev, cli, + &ndr_table_wbint, + NDR_WBINT_SID2GID, + &state->tmp); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, rpccli_wbint_Sid2Gid_done, req); + return req; +} + +static void rpccli_wbint_Sid2Gid_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct rpccli_wbint_Sid2Gid_state *state = tevent_req_data( + req, struct rpccli_wbint_Sid2Gid_state); + NTSTATUS status; + TALLOC_CTX *mem_ctx; + + if (state->out_mem_ctx) { + mem_ctx = state->out_mem_ctx; + } else { + mem_ctx = state; + } + + status = state->dispatch_recv(subreq, mem_ctx); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + + /* Copy out parameters */ + *state->orig.out.gid = *state->tmp.out.gid; + + /* Copy result */ + state->orig.out.result = state->tmp.out.result; + + /* Reset temporary structure */ + ZERO_STRUCT(state->tmp); + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_OUT_DEBUG(wbint_Sid2Gid, &state->orig); + } + + tevent_req_done(req); +} + +NTSTATUS rpccli_wbint_Sid2Gid_recv(struct tevent_req *req, + TALLOC_CTX *mem_ctx, + NTSTATUS *result) +{ + struct rpccli_wbint_Sid2Gid_state *state = tevent_req_data( + req, struct rpccli_wbint_Sid2Gid_state); + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + tevent_req_received(req); + return status; + } + + /* Steal possbile out parameters to the callers context */ + talloc_steal(mem_ctx, state->out_mem_ctx); + + /* Return result */ + *result = state->orig.out.result; + + tevent_req_received(req); + return NT_STATUS_OK; +} + +NTSTATUS rpccli_wbint_Sid2Gid(struct rpc_pipe_client *cli, + TALLOC_CTX *mem_ctx, + const char *dom_name /* [in] [unique,charset(UTF8)] */, + struct dom_sid *sid /* [in] [ref] */, + uint64_t *gid /* [out] [ref] */) +{ + struct wbint_Sid2Gid r; + NTSTATUS status; + + /* In parameters */ + r.in.dom_name = dom_name; + r.in.sid = sid; + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_IN_DEBUG(wbint_Sid2Gid, &r); + } + + status = cli->dispatch(cli, + mem_ctx, + &ndr_table_wbint, + NDR_WBINT_SID2GID, + &r); + + if (!NT_STATUS_IS_OK(status)) { + return status; + } + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_OUT_DEBUG(wbint_Sid2Gid, &r); + } + + if (NT_STATUS_IS_ERR(status)) { + return status; + } + + /* Return variables */ + *gid = *r.out.gid; + + /* Return result */ + return r.out.result; +} + +struct rpccli_wbint_Uid2Sid_state { + struct wbint_Uid2Sid orig; + struct wbint_Uid2Sid tmp; + TALLOC_CTX *out_mem_ctx; + NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); +}; + +static void rpccli_wbint_Uid2Sid_done(struct tevent_req *subreq); + +struct tevent_req *rpccli_wbint_Uid2Sid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct rpc_pipe_client *cli, + const char *_dom_name /* [in] [unique,charset(UTF8)] */, + uint64_t _uid /* [in] */, + struct dom_sid *_sid /* [out] [ref] */) +{ + struct tevent_req *req; + struct rpccli_wbint_Uid2Sid_state *state; + struct tevent_req *subreq; + + req = tevent_req_create(mem_ctx, &state, + struct rpccli_wbint_Uid2Sid_state); + if (req == NULL) { + return NULL; + } + state->out_mem_ctx = NULL; + state->dispatch_recv = cli->dispatch_recv; + + /* In parameters */ + state->orig.in.dom_name = _dom_name; + state->orig.in.uid = _uid; + + /* Out parameters */ + state->orig.out.sid = _sid; + + /* Result */ + ZERO_STRUCT(state->orig.out.result); + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_IN_DEBUG(wbint_Uid2Sid, &state->orig); + } + + state->out_mem_ctx = talloc_named_const(state, 0, + "rpccli_wbint_Uid2Sid_out_memory"); + if (tevent_req_nomem(state->out_mem_ctx, req)) { + return tevent_req_post(req, ev); + } + + /* make a temporary copy, that we pass to the dispatch function */ + state->tmp = state->orig; + + subreq = cli->dispatch_send(state, ev, cli, + &ndr_table_wbint, + NDR_WBINT_UID2SID, + &state->tmp); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, rpccli_wbint_Uid2Sid_done, req); + return req; +} + +static void rpccli_wbint_Uid2Sid_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct rpccli_wbint_Uid2Sid_state *state = tevent_req_data( + req, struct rpccli_wbint_Uid2Sid_state); + NTSTATUS status; + TALLOC_CTX *mem_ctx; + + if (state->out_mem_ctx) { + mem_ctx = state->out_mem_ctx; + } else { + mem_ctx = state; + } + + status = state->dispatch_recv(subreq, mem_ctx); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + + /* Copy out parameters */ + *state->orig.out.sid = *state->tmp.out.sid; + + /* Copy result */ + state->orig.out.result = state->tmp.out.result; + + /* Reset temporary structure */ + ZERO_STRUCT(state->tmp); + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_OUT_DEBUG(wbint_Uid2Sid, &state->orig); + } + + tevent_req_done(req); +} + +NTSTATUS rpccli_wbint_Uid2Sid_recv(struct tevent_req *req, + TALLOC_CTX *mem_ctx, + NTSTATUS *result) +{ + struct rpccli_wbint_Uid2Sid_state *state = tevent_req_data( + req, struct rpccli_wbint_Uid2Sid_state); + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + tevent_req_received(req); + return status; + } + + /* Steal possbile out parameters to the callers context */ + talloc_steal(mem_ctx, state->out_mem_ctx); + + /* Return result */ + *result = state->orig.out.result; + + tevent_req_received(req); + return NT_STATUS_OK; +} + +NTSTATUS rpccli_wbint_Uid2Sid(struct rpc_pipe_client *cli, + TALLOC_CTX *mem_ctx, + const char *dom_name /* [in] [unique,charset(UTF8)] */, + uint64_t uid /* [in] */, + struct dom_sid *sid /* [out] [ref] */) +{ + struct wbint_Uid2Sid r; + NTSTATUS status; + + /* In parameters */ + r.in.dom_name = dom_name; + r.in.uid = uid; + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_IN_DEBUG(wbint_Uid2Sid, &r); + } + + status = cli->dispatch(cli, + mem_ctx, + &ndr_table_wbint, + NDR_WBINT_UID2SID, + &r); + + if (!NT_STATUS_IS_OK(status)) { + return status; + } + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_OUT_DEBUG(wbint_Uid2Sid, &r); + } + + if (NT_STATUS_IS_ERR(status)) { + return status; + } + + /* Return variables */ + *sid = *r.out.sid; + + /* Return result */ + return r.out.result; +} + +struct rpccli_wbint_Gid2Sid_state { + struct wbint_Gid2Sid orig; + struct wbint_Gid2Sid tmp; + TALLOC_CTX *out_mem_ctx; + NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); +}; + +static void rpccli_wbint_Gid2Sid_done(struct tevent_req *subreq); + +struct tevent_req *rpccli_wbint_Gid2Sid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct rpc_pipe_client *cli, + const char *_dom_name /* [in] [unique,charset(UTF8)] */, + uint64_t _gid /* [in] */, + struct dom_sid *_sid /* [out] [ref] */) +{ + struct tevent_req *req; + struct rpccli_wbint_Gid2Sid_state *state; + struct tevent_req *subreq; + + req = tevent_req_create(mem_ctx, &state, + struct rpccli_wbint_Gid2Sid_state); + if (req == NULL) { + return NULL; + } + state->out_mem_ctx = NULL; + state->dispatch_recv = cli->dispatch_recv; + + /* In parameters */ + state->orig.in.dom_name = _dom_name; + state->orig.in.gid = _gid; + + /* Out parameters */ + state->orig.out.sid = _sid; + + /* Result */ + ZERO_STRUCT(state->orig.out.result); + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_IN_DEBUG(wbint_Gid2Sid, &state->orig); + } + + state->out_mem_ctx = talloc_named_const(state, 0, + "rpccli_wbint_Gid2Sid_out_memory"); + if (tevent_req_nomem(state->out_mem_ctx, req)) { + return tevent_req_post(req, ev); + } + + /* make a temporary copy, that we pass to the dispatch function */ + state->tmp = state->orig; + + subreq = cli->dispatch_send(state, ev, cli, + &ndr_table_wbint, + NDR_WBINT_GID2SID, + &state->tmp); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, rpccli_wbint_Gid2Sid_done, req); + return req; +} + +static void rpccli_wbint_Gid2Sid_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct rpccli_wbint_Gid2Sid_state *state = tevent_req_data( + req, struct rpccli_wbint_Gid2Sid_state); + NTSTATUS status; + TALLOC_CTX *mem_ctx; + + if (state->out_mem_ctx) { + mem_ctx = state->out_mem_ctx; + } else { + mem_ctx = state; + } + + status = state->dispatch_recv(subreq, mem_ctx); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + + /* Copy out parameters */ + *state->orig.out.sid = *state->tmp.out.sid; + + /* Copy result */ + state->orig.out.result = state->tmp.out.result; + + /* Reset temporary structure */ + ZERO_STRUCT(state->tmp); + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_OUT_DEBUG(wbint_Gid2Sid, &state->orig); + } + + tevent_req_done(req); +} + +NTSTATUS rpccli_wbint_Gid2Sid_recv(struct tevent_req *req, + TALLOC_CTX *mem_ctx, + NTSTATUS *result) +{ + struct rpccli_wbint_Gid2Sid_state *state = tevent_req_data( + req, struct rpccli_wbint_Gid2Sid_state); + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + tevent_req_received(req); + return status; + } + + /* Steal possbile out parameters to the callers context */ + talloc_steal(mem_ctx, state->out_mem_ctx); + + /* Return result */ + *result = state->orig.out.result; + + tevent_req_received(req); + return NT_STATUS_OK; +} + +NTSTATUS rpccli_wbint_Gid2Sid(struct rpc_pipe_client *cli, + TALLOC_CTX *mem_ctx, + const char *dom_name /* [in] [unique,charset(UTF8)] */, + uint64_t gid /* [in] */, + struct dom_sid *sid /* [out] [ref] */) +{ + struct wbint_Gid2Sid r; + NTSTATUS status; + + /* In parameters */ + r.in.dom_name = dom_name; + r.in.gid = gid; + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_IN_DEBUG(wbint_Gid2Sid, &r); + } + + status = cli->dispatch(cli, + mem_ctx, + &ndr_table_wbint, + NDR_WBINT_GID2SID, + &r); + + if (!NT_STATUS_IS_OK(status)) { + return status; + } + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_OUT_DEBUG(wbint_Gid2Sid, &r); + } + + if (NT_STATUS_IS_ERR(status)) { + return status; + } + + /* Return variables */ + *sid = *r.out.sid; + + /* Return result */ + return r.out.result; +} + +struct rpccli_wbint_QueryUser_state { + struct wbint_QueryUser orig; + struct wbint_QueryUser tmp; + TALLOC_CTX *out_mem_ctx; + NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); +}; + +static void rpccli_wbint_QueryUser_done(struct tevent_req *subreq); + +struct tevent_req *rpccli_wbint_QueryUser_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct rpc_pipe_client *cli, + struct dom_sid *_sid /* [in] [ref] */, + struct wbint_userinfo *_info /* [out] [ref] */) +{ + struct tevent_req *req; + struct rpccli_wbint_QueryUser_state *state; + struct tevent_req *subreq; + + req = tevent_req_create(mem_ctx, &state, + struct rpccli_wbint_QueryUser_state); + if (req == NULL) { + return NULL; + } + state->out_mem_ctx = NULL; + state->dispatch_recv = cli->dispatch_recv; + + /* In parameters */ + state->orig.in.sid = _sid; + + /* Out parameters */ + state->orig.out.info = _info; + + /* Result */ + ZERO_STRUCT(state->orig.out.result); + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_IN_DEBUG(wbint_QueryUser, &state->orig); + } + + state->out_mem_ctx = talloc_named_const(state, 0, + "rpccli_wbint_QueryUser_out_memory"); + if (tevent_req_nomem(state->out_mem_ctx, req)) { + return tevent_req_post(req, ev); + } + + /* make a temporary copy, that we pass to the dispatch function */ + state->tmp = state->orig; + + subreq = cli->dispatch_send(state, ev, cli, + &ndr_table_wbint, + NDR_WBINT_QUERYUSER, + &state->tmp); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, rpccli_wbint_QueryUser_done, req); + return req; +} + +static void rpccli_wbint_QueryUser_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct rpccli_wbint_QueryUser_state *state = tevent_req_data( + req, struct rpccli_wbint_QueryUser_state); + NTSTATUS status; + TALLOC_CTX *mem_ctx; + + if (state->out_mem_ctx) { + mem_ctx = state->out_mem_ctx; + } else { + mem_ctx = state; + } + + status = state->dispatch_recv(subreq, mem_ctx); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + + /* Copy out parameters */ + *state->orig.out.info = *state->tmp.out.info; + + /* Copy result */ + state->orig.out.result = state->tmp.out.result; + + /* Reset temporary structure */ + ZERO_STRUCT(state->tmp); + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_OUT_DEBUG(wbint_QueryUser, &state->orig); + } + + tevent_req_done(req); +} + +NTSTATUS rpccli_wbint_QueryUser_recv(struct tevent_req *req, + TALLOC_CTX *mem_ctx, + NTSTATUS *result) +{ + struct rpccli_wbint_QueryUser_state *state = tevent_req_data( + req, struct rpccli_wbint_QueryUser_state); + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + tevent_req_received(req); + return status; + } + + /* Steal possbile out parameters to the callers context */ + talloc_steal(mem_ctx, state->out_mem_ctx); + + /* Return result */ + *result = state->orig.out.result; + + tevent_req_received(req); + return NT_STATUS_OK; +} + +NTSTATUS rpccli_wbint_QueryUser(struct rpc_pipe_client *cli, + TALLOC_CTX *mem_ctx, + struct dom_sid *sid /* [in] [ref] */, + struct wbint_userinfo *info /* [out] [ref] */) +{ + struct wbint_QueryUser r; + NTSTATUS status; + + /* In parameters */ + r.in.sid = sid; + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_IN_DEBUG(wbint_QueryUser, &r); + } + + status = cli->dispatch(cli, + mem_ctx, + &ndr_table_wbint, + NDR_WBINT_QUERYUSER, + &r); + + if (!NT_STATUS_IS_OK(status)) { + return status; + } + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_OUT_DEBUG(wbint_QueryUser, &r); + } + + if (NT_STATUS_IS_ERR(status)) { + return status; + } + + /* Return variables */ + *info = *r.out.info; + + /* Return result */ + return r.out.result; +} + +struct rpccli_wbint_LookupUserAliases_state { + struct wbint_LookupUserAliases orig; + struct wbint_LookupUserAliases tmp; + TALLOC_CTX *out_mem_ctx; + NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); +}; + +static void rpccli_wbint_LookupUserAliases_done(struct tevent_req *subreq); + +struct tevent_req *rpccli_wbint_LookupUserAliases_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct rpc_pipe_client *cli, + struct wbint_SidArray *_sids /* [in] [ref] */, + struct wbint_RidArray *_rids /* [out] [ref] */) +{ + struct tevent_req *req; + struct rpccli_wbint_LookupUserAliases_state *state; + struct tevent_req *subreq; + + req = tevent_req_create(mem_ctx, &state, + struct rpccli_wbint_LookupUserAliases_state); + if (req == NULL) { + return NULL; + } + state->out_mem_ctx = NULL; + state->dispatch_recv = cli->dispatch_recv; + + /* In parameters */ + state->orig.in.sids = _sids; + + /* Out parameters */ + state->orig.out.rids = _rids; + + /* Result */ + ZERO_STRUCT(state->orig.out.result); + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_IN_DEBUG(wbint_LookupUserAliases, &state->orig); + } + + state->out_mem_ctx = talloc_named_const(state, 0, + "rpccli_wbint_LookupUserAliases_out_memory"); + if (tevent_req_nomem(state->out_mem_ctx, req)) { + return tevent_req_post(req, ev); + } + + /* make a temporary copy, that we pass to the dispatch function */ + state->tmp = state->orig; + + subreq = cli->dispatch_send(state, ev, cli, + &ndr_table_wbint, + NDR_WBINT_LOOKUPUSERALIASES, + &state->tmp); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, rpccli_wbint_LookupUserAliases_done, req); + return req; +} + +static void rpccli_wbint_LookupUserAliases_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct rpccli_wbint_LookupUserAliases_state *state = tevent_req_data( + req, struct rpccli_wbint_LookupUserAliases_state); + NTSTATUS status; + TALLOC_CTX *mem_ctx; + + if (state->out_mem_ctx) { + mem_ctx = state->out_mem_ctx; + } else { + mem_ctx = state; + } + + status = state->dispatch_recv(subreq, mem_ctx); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + + /* Copy out parameters */ + *state->orig.out.rids = *state->tmp.out.rids; + + /* Copy result */ + state->orig.out.result = state->tmp.out.result; + + /* Reset temporary structure */ + ZERO_STRUCT(state->tmp); + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_OUT_DEBUG(wbint_LookupUserAliases, &state->orig); + } + + tevent_req_done(req); +} + +NTSTATUS rpccli_wbint_LookupUserAliases_recv(struct tevent_req *req, + TALLOC_CTX *mem_ctx, + NTSTATUS *result) +{ + struct rpccli_wbint_LookupUserAliases_state *state = tevent_req_data( + req, struct rpccli_wbint_LookupUserAliases_state); + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + tevent_req_received(req); + return status; + } + + /* Steal possbile out parameters to the callers context */ + talloc_steal(mem_ctx, state->out_mem_ctx); + + /* Return result */ + *result = state->orig.out.result; + + tevent_req_received(req); + return NT_STATUS_OK; +} + +NTSTATUS rpccli_wbint_LookupUserAliases(struct rpc_pipe_client *cli, + TALLOC_CTX *mem_ctx, + struct wbint_SidArray *sids /* [in] [ref] */, + struct wbint_RidArray *rids /* [out] [ref] */) +{ + struct wbint_LookupUserAliases r; + NTSTATUS status; + + /* In parameters */ + r.in.sids = sids; + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_IN_DEBUG(wbint_LookupUserAliases, &r); + } + + status = cli->dispatch(cli, + mem_ctx, + &ndr_table_wbint, + NDR_WBINT_LOOKUPUSERALIASES, + &r); + + if (!NT_STATUS_IS_OK(status)) { + return status; + } + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_OUT_DEBUG(wbint_LookupUserAliases, &r); + } + + if (NT_STATUS_IS_ERR(status)) { + return status; + } + + /* Return variables */ + *rids = *r.out.rids; + + /* Return result */ + return r.out.result; +} + +struct rpccli_wbint_LookupUserGroups_state { + struct wbint_LookupUserGroups orig; + struct wbint_LookupUserGroups tmp; + TALLOC_CTX *out_mem_ctx; + NTSTATUS (*dispatch_recv)(struct tevent_req *req, TALLOC_CTX *mem_ctx); +}; + +static void rpccli_wbint_LookupUserGroups_done(struct tevent_req *subreq); + +struct tevent_req *rpccli_wbint_LookupUserGroups_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct rpc_pipe_client *cli, + struct dom_sid *_sid /* [in] [ref] */, + struct wbint_SidArray *_sids /* [out] [ref] */) +{ + struct tevent_req *req; + struct rpccli_wbint_LookupUserGroups_state *state; + struct tevent_req *subreq; + + req = tevent_req_create(mem_ctx, &state, + struct rpccli_wbint_LookupUserGroups_state); + if (req == NULL) { + return NULL; + } + state->out_mem_ctx = NULL; + state->dispatch_recv = cli->dispatch_recv; + + /* In parameters */ + state->orig.in.sid = _sid; + + /* Out parameters */ + state->orig.out.sids = _sids; + + /* Result */ + ZERO_STRUCT(state->orig.out.result); + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_IN_DEBUG(wbint_LookupUserGroups, &state->orig); + } + + state->out_mem_ctx = talloc_named_const(state, 0, + "rpccli_wbint_LookupUserGroups_out_memory"); + if (tevent_req_nomem(state->out_mem_ctx, req)) { + return tevent_req_post(req, ev); + } + + /* make a temporary copy, that we pass to the dispatch function */ + state->tmp = state->orig; + + subreq = cli->dispatch_send(state, ev, cli, + &ndr_table_wbint, + NDR_WBINT_LOOKUPUSERGROUPS, + &state->tmp); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, rpccli_wbint_LookupUserGroups_done, req); + return req; +} + +static void rpccli_wbint_LookupUserGroups_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct rpccli_wbint_LookupUserGroups_state *state = tevent_req_data( + req, struct rpccli_wbint_LookupUserGroups_state); + NTSTATUS status; + TALLOC_CTX *mem_ctx; + + if (state->out_mem_ctx) { + mem_ctx = state->out_mem_ctx; + } else { + mem_ctx = state; + } + + status = state->dispatch_recv(subreq, mem_ctx); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + + /* Copy out parameters */ + *state->orig.out.sids = *state->tmp.out.sids; + + /* Copy result */ + state->orig.out.result = state->tmp.out.result; + + /* Reset temporary structure */ + ZERO_STRUCT(state->tmp); + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_OUT_DEBUG(wbint_LookupUserGroups, &state->orig); + } + + tevent_req_done(req); +} + +NTSTATUS rpccli_wbint_LookupUserGroups_recv(struct tevent_req *req, + TALLOC_CTX *mem_ctx, + NTSTATUS *result) +{ + struct rpccli_wbint_LookupUserGroups_state *state = tevent_req_data( + req, struct rpccli_wbint_LookupUserGroups_state); + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + tevent_req_received(req); + return status; + } + + /* Steal possbile out parameters to the callers context */ + talloc_steal(mem_ctx, state->out_mem_ctx); + + /* Return result */ + *result = state->orig.out.result; + + tevent_req_received(req); + return NT_STATUS_OK; +} + +NTSTATUS rpccli_wbint_LookupUserGroups(struct rpc_pipe_client *cli, + TALLOC_CTX *mem_ctx, + struct dom_sid *sid /* [in] [ref] */, + struct wbint_SidArray *sids /* [out] [ref] */) +{ + struct wbint_LookupUserGroups r; + NTSTATUS status; + + /* In parameters */ + r.in.sid = sid; + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_IN_DEBUG(wbint_LookupUserGroups, &r); + } + + status = cli->dispatch(cli, + mem_ctx, + &ndr_table_wbint, + NDR_WBINT_LOOKUPUSERGROUPS, + &r); + + if (!NT_STATUS_IS_OK(status)) { + return status; + } + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_OUT_DEBUG(wbint_LookupUserGroups, &r); + } + + if (NT_STATUS_IS_ERR(status)) { + return status; + } + + /* Return variables */ + *sids = *r.out.sids; + + /* Return result */ + return r.out.result; +} + diff --git a/source3/librpc/gen_ndr/cli_wbint.h b/source3/librpc/gen_ndr/cli_wbint.h new file mode 100644 index 0000000000..e9927c1c35 --- /dev/null +++ b/source3/librpc/gen_ndr/cli_wbint.h @@ -0,0 +1,141 @@ +#include "librpc/gen_ndr/ndr_wbint.h" +#ifndef __CLI_WBINT__ +#define __CLI_WBINT__ +struct tevent_req *rpccli_wbint_Ping_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct rpc_pipe_client *cli, + uint32_t _in_data /* [in] */, + uint32_t *_out_data /* [out] [ref] */); +NTSTATUS rpccli_wbint_Ping_recv(struct tevent_req *req, + TALLOC_CTX *mem_ctx); +NTSTATUS rpccli_wbint_Ping(struct rpc_pipe_client *cli, + TALLOC_CTX *mem_ctx, + uint32_t in_data /* [in] */, + uint32_t *out_data /* [out] [ref] */); +struct tevent_req *rpccli_wbint_LookupSid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct rpc_pipe_client *cli, + struct dom_sid *_sid /* [in] [ref] */, + enum lsa_SidType *_type /* [out] [ref] */, + const char **_domain /* [out] [ref,charset(UTF8)] */, + const char **_name /* [out] [ref,charset(UTF8)] */); +NTSTATUS rpccli_wbint_LookupSid_recv(struct tevent_req *req, + TALLOC_CTX *mem_ctx, + NTSTATUS *result); +NTSTATUS rpccli_wbint_LookupSid(struct rpc_pipe_client *cli, + TALLOC_CTX *mem_ctx, + struct dom_sid *sid /* [in] [ref] */, + enum lsa_SidType *type /* [out] [ref] */, + const char **domain /* [out] [ref,charset(UTF8)] */, + const char **name /* [out] [ref,charset(UTF8)] */); +struct tevent_req *rpccli_wbint_LookupName_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct rpc_pipe_client *cli, + const char *_domain /* [in] [ref,charset(UTF8)] */, + const char *_name /* [in] [ref,charset(UTF8)] */, + uint32_t _flags /* [in] */, + enum lsa_SidType *_type /* [out] [ref] */, + struct dom_sid *_sid /* [out] [ref] */); +NTSTATUS rpccli_wbint_LookupName_recv(struct tevent_req *req, + TALLOC_CTX *mem_ctx, + NTSTATUS *result); +NTSTATUS rpccli_wbint_LookupName(struct rpc_pipe_client *cli, + TALLOC_CTX *mem_ctx, + const char *domain /* [in] [ref,charset(UTF8)] */, + const char *name /* [in] [ref,charset(UTF8)] */, + uint32_t flags /* [in] */, + enum lsa_SidType *type /* [out] [ref] */, + struct dom_sid *sid /* [out] [ref] */); +struct tevent_req *rpccli_wbint_Sid2Uid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct rpc_pipe_client *cli, + const char *_dom_name /* [in] [unique,charset(UTF8)] */, + struct dom_sid *_sid /* [in] [ref] */, + uint64_t *_uid /* [out] [ref] */); +NTSTATUS rpccli_wbint_Sid2Uid_recv(struct tevent_req *req, + TALLOC_CTX *mem_ctx, + NTSTATUS *result); +NTSTATUS rpccli_wbint_Sid2Uid(struct rpc_pipe_client *cli, + TALLOC_CTX *mem_ctx, + const char *dom_name /* [in] [unique,charset(UTF8)] */, + struct dom_sid *sid /* [in] [ref] */, + uint64_t *uid /* [out] [ref] */); +struct tevent_req *rpccli_wbint_Sid2Gid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct rpc_pipe_client *cli, + const char *_dom_name /* [in] [unique,charset(UTF8)] */, + struct dom_sid *_sid /* [in] [ref] */, + uint64_t *_gid /* [out] [ref] */); +NTSTATUS rpccli_wbint_Sid2Gid_recv(struct tevent_req *req, + TALLOC_CTX *mem_ctx, + NTSTATUS *result); +NTSTATUS rpccli_wbint_Sid2Gid(struct rpc_pipe_client *cli, + TALLOC_CTX *mem_ctx, + const char *dom_name /* [in] [unique,charset(UTF8)] */, + struct dom_sid *sid /* [in] [ref] */, + uint64_t *gid /* [out] [ref] */); +struct tevent_req *rpccli_wbint_Uid2Sid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct rpc_pipe_client *cli, + const char *_dom_name /* [in] [unique,charset(UTF8)] */, + uint64_t _uid /* [in] */, + struct dom_sid *_sid /* [out] [ref] */); +NTSTATUS rpccli_wbint_Uid2Sid_recv(struct tevent_req *req, + TALLOC_CTX *mem_ctx, + NTSTATUS *result); +NTSTATUS rpccli_wbint_Uid2Sid(struct rpc_pipe_client *cli, + TALLOC_CTX *mem_ctx, + const char *dom_name /* [in] [unique,charset(UTF8)] */, + uint64_t uid /* [in] */, + struct dom_sid *sid /* [out] [ref] */); +struct tevent_req *rpccli_wbint_Gid2Sid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct rpc_pipe_client *cli, + const char *_dom_name /* [in] [unique,charset(UTF8)] */, + uint64_t _gid /* [in] */, + struct dom_sid *_sid /* [out] [ref] */); +NTSTATUS rpccli_wbint_Gid2Sid_recv(struct tevent_req *req, + TALLOC_CTX *mem_ctx, + NTSTATUS *result); +NTSTATUS rpccli_wbint_Gid2Sid(struct rpc_pipe_client *cli, + TALLOC_CTX *mem_ctx, + const char *dom_name /* [in] [unique,charset(UTF8)] */, + uint64_t gid /* [in] */, + struct dom_sid *sid /* [out] [ref] */); +struct tevent_req *rpccli_wbint_QueryUser_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct rpc_pipe_client *cli, + struct dom_sid *_sid /* [in] [ref] */, + struct wbint_userinfo *_info /* [out] [ref] */); +NTSTATUS rpccli_wbint_QueryUser_recv(struct tevent_req *req, + TALLOC_CTX *mem_ctx, + NTSTATUS *result); +NTSTATUS rpccli_wbint_QueryUser(struct rpc_pipe_client *cli, + TALLOC_CTX *mem_ctx, + struct dom_sid *sid /* [in] [ref] */, + struct wbint_userinfo *info /* [out] [ref] */); +struct tevent_req *rpccli_wbint_LookupUserAliases_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct rpc_pipe_client *cli, + struct wbint_SidArray *_sids /* [in] [ref] */, + struct wbint_RidArray *_rids /* [out] [ref] */); +NTSTATUS rpccli_wbint_LookupUserAliases_recv(struct tevent_req *req, + TALLOC_CTX *mem_ctx, + NTSTATUS *result); +NTSTATUS rpccli_wbint_LookupUserAliases(struct rpc_pipe_client *cli, + TALLOC_CTX *mem_ctx, + struct wbint_SidArray *sids /* [in] [ref] */, + struct wbint_RidArray *rids /* [out] [ref] */); +struct tevent_req *rpccli_wbint_LookupUserGroups_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct rpc_pipe_client *cli, + struct dom_sid *_sid /* [in] [ref] */, + struct wbint_SidArray *_sids /* [out] [ref] */); +NTSTATUS rpccli_wbint_LookupUserGroups_recv(struct tevent_req *req, + TALLOC_CTX *mem_ctx, + NTSTATUS *result); +NTSTATUS rpccli_wbint_LookupUserGroups(struct rpc_pipe_client *cli, + TALLOC_CTX *mem_ctx, + struct dom_sid *sid /* [in] [ref] */, + struct wbint_SidArray *sids /* [out] [ref] */); +#endif /* __CLI_WBINT__ */ diff --git a/source3/librpc/gen_ndr/ndr_wbint.c b/source3/librpc/gen_ndr/ndr_wbint.c new file mode 100644 index 0000000000..5a8c1c33d7 --- /dev/null +++ b/source3/librpc/gen_ndr/ndr_wbint.c @@ -0,0 +1,1405 @@ +/* parser auto-generated by pidl */ + +#include "includes.h" +#include "librpc/gen_ndr/ndr_wbint.h" + +#include "librpc/gen_ndr/ndr_lsa.h" +_PUBLIC_ enum ndr_err_code ndr_push_wbint_userinfo(struct ndr_push *ndr, int ndr_flags, const struct wbint_userinfo *r) +{ + if (ndr_flags & NDR_SCALARS) { + NDR_CHECK(ndr_push_align(ndr, 8)); + NDR_CHECK(ndr_push_unique_ptr(ndr, r->acct_name)); + NDR_CHECK(ndr_push_unique_ptr(ndr, r->full_name)); + NDR_CHECK(ndr_push_unique_ptr(ndr, r->homedir)); + NDR_CHECK(ndr_push_unique_ptr(ndr, r->shell)); + NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->primary_gid)); + NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->user_sid)); + NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->group_sid)); + } + if (ndr_flags & NDR_BUFFERS) { + if (r->acct_name) { + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->acct_name, CH_UTF8))); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->acct_name, CH_UTF8))); + NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->acct_name, ndr_charset_length(r->acct_name, CH_UTF8), sizeof(uint8_t), CH_UTF8)); + } + if (r->full_name) { + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->full_name, CH_UTF8))); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->full_name, CH_UTF8))); + NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->full_name, ndr_charset_length(r->full_name, CH_UTF8), sizeof(uint8_t), CH_UTF8)); + } + if (r->homedir) { + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->homedir, CH_UTF8))); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->homedir, CH_UTF8))); + NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->homedir, ndr_charset_length(r->homedir, CH_UTF8), sizeof(uint8_t), CH_UTF8)); + } + if (r->shell) { + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->shell, CH_UTF8))); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->shell, CH_UTF8))); + NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->shell, ndr_charset_length(r->shell, CH_UTF8), sizeof(uint8_t), CH_UTF8)); + } + } + return NDR_ERR_SUCCESS; +} + +_PUBLIC_ enum ndr_err_code ndr_pull_wbint_userinfo(struct ndr_pull *ndr, int ndr_flags, struct wbint_userinfo *r) +{ + uint32_t _ptr_acct_name; + TALLOC_CTX *_mem_save_acct_name_0; + uint32_t _ptr_full_name; + TALLOC_CTX *_mem_save_full_name_0; + uint32_t _ptr_homedir; + TALLOC_CTX *_mem_save_homedir_0; + uint32_t _ptr_shell; + TALLOC_CTX *_mem_save_shell_0; + if (ndr_flags & NDR_SCALARS) { + NDR_CHECK(ndr_pull_align(ndr, 8)); + NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_acct_name)); + if (_ptr_acct_name) { + NDR_PULL_ALLOC(ndr, r->acct_name); + } else { + r->acct_name = NULL; + } + NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_full_name)); + if (_ptr_full_name) { + NDR_PULL_ALLOC(ndr, r->full_name); + } else { + r->full_name = NULL; + } + NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_homedir)); + if (_ptr_homedir) { + NDR_PULL_ALLOC(ndr, r->homedir); + } else { + r->homedir = NULL; + } + NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_shell)); + if (_ptr_shell) { + NDR_PULL_ALLOC(ndr, r->shell); + } else { + r->shell = NULL; + } + NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->primary_gid)); + NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->user_sid)); + NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->group_sid)); + } + if (ndr_flags & NDR_BUFFERS) { + if (r->acct_name) { + _mem_save_acct_name_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->acct_name, 0); + NDR_CHECK(ndr_pull_array_size(ndr, &r->acct_name)); + NDR_CHECK(ndr_pull_array_length(ndr, &r->acct_name)); + if (ndr_get_array_length(ndr, &r->acct_name) > ndr_get_array_size(ndr, &r->acct_name)) { + return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->acct_name), ndr_get_array_length(ndr, &r->acct_name)); + } + NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->acct_name), sizeof(uint8_t))); + NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->acct_name, ndr_get_array_length(ndr, &r->acct_name), sizeof(uint8_t), CH_UTF8)); + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_acct_name_0, 0); + } + if (r->full_name) { + _mem_save_full_name_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->full_name, 0); + NDR_CHECK(ndr_pull_array_size(ndr, &r->full_name)); + NDR_CHECK(ndr_pull_array_length(ndr, &r->full_name)); + if (ndr_get_array_length(ndr, &r->full_name) > ndr_get_array_size(ndr, &r->full_name)) { + return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->full_name), ndr_get_array_length(ndr, &r->full_name)); + } + NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->full_name), sizeof(uint8_t))); + NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->full_name, ndr_get_array_length(ndr, &r->full_name), sizeof(uint8_t), CH_UTF8)); + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_full_name_0, 0); + } + if (r->homedir) { + _mem_save_homedir_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->homedir, 0); + NDR_CHECK(ndr_pull_array_size(ndr, &r->homedir)); + NDR_CHECK(ndr_pull_array_length(ndr, &r->homedir)); + if (ndr_get_array_length(ndr, &r->homedir) > ndr_get_array_size(ndr, &r->homedir)) { + return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->homedir), ndr_get_array_length(ndr, &r->homedir)); + } + NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->homedir), sizeof(uint8_t))); + NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->homedir, ndr_get_array_length(ndr, &r->homedir), sizeof(uint8_t), CH_UTF8)); + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_homedir_0, 0); + } + if (r->shell) { + _mem_save_shell_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->shell, 0); + NDR_CHECK(ndr_pull_array_size(ndr, &r->shell)); + NDR_CHECK(ndr_pull_array_length(ndr, &r->shell)); + if (ndr_get_array_length(ndr, &r->shell) > ndr_get_array_size(ndr, &r->shell)) { + return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->shell), ndr_get_array_length(ndr, &r->shell)); + } + NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->shell), sizeof(uint8_t))); + NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->shell, ndr_get_array_length(ndr, &r->shell), sizeof(uint8_t), CH_UTF8)); + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_shell_0, 0); + } + } + return NDR_ERR_SUCCESS; +} + +_PUBLIC_ void ndr_print_wbint_userinfo(struct ndr_print *ndr, const char *name, const struct wbint_userinfo *r) +{ + ndr_print_struct(ndr, name, "wbint_userinfo"); + ndr->depth++; + ndr_print_ptr(ndr, "acct_name", r->acct_name); + ndr->depth++; + if (r->acct_name) { + ndr_print_string(ndr, "acct_name", r->acct_name); + } + ndr->depth--; + ndr_print_ptr(ndr, "full_name", r->full_name); + ndr->depth++; + if (r->full_name) { + ndr_print_string(ndr, "full_name", r->full_name); + } + ndr->depth--; + ndr_print_ptr(ndr, "homedir", r->homedir); + ndr->depth++; + if (r->homedir) { + ndr_print_string(ndr, "homedir", r->homedir); + } + ndr->depth--; + ndr_print_ptr(ndr, "shell", r->shell); + ndr->depth++; + if (r->shell) { + ndr_print_string(ndr, "shell", r->shell); + } + ndr->depth--; + ndr_print_hyper(ndr, "primary_gid", r->primary_gid); + ndr_print_dom_sid(ndr, "user_sid", &r->user_sid); + ndr_print_dom_sid(ndr, "group_sid", &r->group_sid); + ndr->depth--; +} + +_PUBLIC_ enum ndr_err_code ndr_push_wbint_SidArray(struct ndr_push *ndr, int ndr_flags, const struct wbint_SidArray *r) +{ + uint32_t cntr_sids_0; + if (ndr_flags & NDR_SCALARS) { + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids)); + NDR_CHECK(ndr_push_align(ndr, 4)); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_sids)); + for (cntr_sids_0 = 0; cntr_sids_0 < r->num_sids; cntr_sids_0++) { + NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, &r->sids[cntr_sids_0])); + } + } + if (ndr_flags & NDR_BUFFERS) { + } + return NDR_ERR_SUCCESS; +} + +_PUBLIC_ enum ndr_err_code ndr_pull_wbint_SidArray(struct ndr_pull *ndr, int ndr_flags, struct wbint_SidArray *r) +{ + uint32_t cntr_sids_0; + TALLOC_CTX *_mem_save_sids_0; + if (ndr_flags & NDR_SCALARS) { + NDR_CHECK(ndr_pull_array_size(ndr, &r->sids)); + NDR_CHECK(ndr_pull_align(ndr, 4)); + NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_sids)); + NDR_PULL_ALLOC_N(ndr, r->sids, ndr_get_array_size(ndr, &r->sids)); + _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->sids, 0); + for (cntr_sids_0 = 0; cntr_sids_0 < r->num_sids; cntr_sids_0++) { + NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, &r->sids[cntr_sids_0])); + } + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, 0); + if (r->sids) { + NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->sids, r->num_sids)); + } + } + if (ndr_flags & NDR_BUFFERS) { + } + return NDR_ERR_SUCCESS; +} + +_PUBLIC_ void ndr_print_wbint_SidArray(struct ndr_print *ndr, const char *name, const struct wbint_SidArray *r) +{ + uint32_t cntr_sids_0; + ndr_print_struct(ndr, name, "wbint_SidArray"); + ndr->depth++; + ndr_print_uint32(ndr, "num_sids", r->num_sids); + ndr->print(ndr, "%s: ARRAY(%d)", "sids", (int)r->num_sids); + ndr->depth++; + for (cntr_sids_0=0;cntr_sids_0<r->num_sids;cntr_sids_0++) { + char *idx_0=NULL; + if (asprintf(&idx_0, "[%d]", cntr_sids_0) != -1) { + ndr_print_dom_sid(ndr, "sids", &r->sids[cntr_sids_0]); + free(idx_0); + } + } + ndr->depth--; + ndr->depth--; +} + +_PUBLIC_ enum ndr_err_code ndr_push_wbint_RidArray(struct ndr_push *ndr, int ndr_flags, const struct wbint_RidArray *r) +{ + uint32_t cntr_rids_0; + if (ndr_flags & NDR_SCALARS) { + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids)); + NDR_CHECK(ndr_push_align(ndr, 4)); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->num_rids)); + for (cntr_rids_0 = 0; cntr_rids_0 < r->num_rids; cntr_rids_0++) { + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->rids[cntr_rids_0])); + } + } + if (ndr_flags & NDR_BUFFERS) { + } + return NDR_ERR_SUCCESS; +} + +_PUBLIC_ enum ndr_err_code ndr_pull_wbint_RidArray(struct ndr_pull *ndr, int ndr_flags, struct wbint_RidArray *r) +{ + uint32_t cntr_rids_0; + TALLOC_CTX *_mem_save_rids_0; + if (ndr_flags & NDR_SCALARS) { + NDR_CHECK(ndr_pull_array_size(ndr, &r->rids)); + NDR_CHECK(ndr_pull_align(ndr, 4)); + NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->num_rids)); + NDR_PULL_ALLOC_N(ndr, r->rids, ndr_get_array_size(ndr, &r->rids)); + _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->rids, 0); + for (cntr_rids_0 = 0; cntr_rids_0 < r->num_rids; cntr_rids_0++) { + NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->rids[cntr_rids_0])); + } + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, 0); + if (r->rids) { + NDR_CHECK(ndr_check_array_size(ndr, (void*)&r->rids, r->num_rids)); + } + } + if (ndr_flags & NDR_BUFFERS) { + } + return NDR_ERR_SUCCESS; +} + +_PUBLIC_ void ndr_print_wbint_RidArray(struct ndr_print *ndr, const char *name, const struct wbint_RidArray *r) +{ + uint32_t cntr_rids_0; + ndr_print_struct(ndr, name, "wbint_RidArray"); + ndr->depth++; + ndr_print_uint32(ndr, "num_rids", r->num_rids); + ndr->print(ndr, "%s: ARRAY(%d)", "rids", (int)r->num_rids); + ndr->depth++; + for (cntr_rids_0=0;cntr_rids_0<r->num_rids;cntr_rids_0++) { + char *idx_0=NULL; + if (asprintf(&idx_0, "[%d]", cntr_rids_0) != -1) { + ndr_print_uint32(ndr, "rids", r->rids[cntr_rids_0]); + free(idx_0); + } + } + ndr->depth--; + ndr->depth--; +} + +static enum ndr_err_code ndr_push_wbint_Ping(struct ndr_push *ndr, int flags, const struct wbint_Ping *r) +{ + if (flags & NDR_IN) { + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.in_data)); + } + if (flags & NDR_OUT) { + if (r->out.out_data == NULL) { + return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); + } + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, *r->out.out_data)); + } + return NDR_ERR_SUCCESS; +} + +static enum ndr_err_code ndr_pull_wbint_Ping(struct ndr_pull *ndr, int flags, struct wbint_Ping *r) +{ + TALLOC_CTX *_mem_save_out_data_0; + if (flags & NDR_IN) { + ZERO_STRUCT(r->out); + + NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.in_data)); + NDR_PULL_ALLOC(ndr, r->out.out_data); + ZERO_STRUCTP(r->out.out_data); + } + if (flags & NDR_OUT) { + if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { + NDR_PULL_ALLOC(ndr, r->out.out_data); + } + _mem_save_out_data_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->out.out_data, LIBNDR_FLAG_REF_ALLOC); + NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, r->out.out_data)); + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_out_data_0, LIBNDR_FLAG_REF_ALLOC); + } + return NDR_ERR_SUCCESS; +} + +_PUBLIC_ void ndr_print_wbint_Ping(struct ndr_print *ndr, const char *name, int flags, const struct wbint_Ping *r) +{ + ndr_print_struct(ndr, name, "wbint_Ping"); + ndr->depth++; + if (flags & NDR_SET_VALUES) { + ndr->flags |= LIBNDR_PRINT_SET_VALUES; + } + if (flags & NDR_IN) { + ndr_print_struct(ndr, "in", "wbint_Ping"); + ndr->depth++; + ndr_print_uint32(ndr, "in_data", r->in.in_data); + ndr->depth--; + } + if (flags & NDR_OUT) { + ndr_print_struct(ndr, "out", "wbint_Ping"); + ndr->depth++; + ndr_print_ptr(ndr, "out_data", r->out.out_data); + ndr->depth++; + ndr_print_uint32(ndr, "out_data", *r->out.out_data); + ndr->depth--; + ndr->depth--; + } + ndr->depth--; +} + +static enum ndr_err_code ndr_push_wbint_LookupSid(struct ndr_push *ndr, int flags, const struct wbint_LookupSid *r) +{ + if (flags & NDR_IN) { + if (r->in.sid == NULL) { + return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); + } + NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->in.sid)); + } + if (flags & NDR_OUT) { + if (r->out.type == NULL) { + return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); + } + NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, *r->out.type)); + if (r->out.domain == NULL) { + return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); + } + NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.domain)); + if (*r->out.domain) { + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.domain, CH_UTF8))); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.domain, CH_UTF8))); + NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.domain, ndr_charset_length(*r->out.domain, CH_UTF8), sizeof(uint8_t), CH_UTF8)); + } + if (r->out.name == NULL) { + return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); + } + NDR_CHECK(ndr_push_unique_ptr(ndr, *r->out.name)); + if (*r->out.name) { + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.name, CH_UTF8))); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(*r->out.name, CH_UTF8))); + NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, *r->out.name, ndr_charset_length(*r->out.name, CH_UTF8), sizeof(uint8_t), CH_UTF8)); + } + NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); + } + return NDR_ERR_SUCCESS; +} + +static enum ndr_err_code ndr_pull_wbint_LookupSid(struct ndr_pull *ndr, int flags, struct wbint_LookupSid *r) +{ + uint32_t _ptr_domain; + uint32_t _ptr_name; + TALLOC_CTX *_mem_save_sid_0; + TALLOC_CTX *_mem_save_type_0; + TALLOC_CTX *_mem_save_domain_0; + TALLOC_CTX *_mem_save_domain_1; + TALLOC_CTX *_mem_save_name_0; + TALLOC_CTX *_mem_save_name_1; + if (flags & NDR_IN) { + ZERO_STRUCT(r->out); + + if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { + NDR_PULL_ALLOC(ndr, r->in.sid); + } + _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC); + NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->in.sid)); + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC); + NDR_PULL_ALLOC(ndr, r->out.type); + ZERO_STRUCTP(r->out.type); + NDR_PULL_ALLOC(ndr, r->out.domain); + ZERO_STRUCTP(r->out.domain); + NDR_PULL_ALLOC(ndr, r->out.name); + ZERO_STRUCTP(r->out.name); + } + if (flags & NDR_OUT) { + if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { + NDR_PULL_ALLOC(ndr, r->out.type); + } + _mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->out.type, LIBNDR_FLAG_REF_ALLOC); + NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, r->out.type)); + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, LIBNDR_FLAG_REF_ALLOC); + if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { + NDR_PULL_ALLOC(ndr, r->out.domain); + } + _mem_save_domain_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->out.domain, LIBNDR_FLAG_REF_ALLOC); + NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_domain)); + if (_ptr_domain) { + NDR_PULL_ALLOC(ndr, *r->out.domain); + } else { + *r->out.domain = NULL; + } + if (*r->out.domain) { + _mem_save_domain_1 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, *r->out.domain, 0); + NDR_CHECK(ndr_pull_array_size(ndr, r->out.domain)); + NDR_CHECK(ndr_pull_array_length(ndr, r->out.domain)); + if (ndr_get_array_length(ndr, r->out.domain) > ndr_get_array_size(ndr, r->out.domain)) { + return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.domain), ndr_get_array_length(ndr, r->out.domain)); + } + NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.domain), sizeof(uint8_t))); + NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.domain, ndr_get_array_length(ndr, r->out.domain), sizeof(uint8_t), CH_UTF8)); + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_1, 0); + } + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_domain_0, LIBNDR_FLAG_REF_ALLOC); + if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { + NDR_PULL_ALLOC(ndr, r->out.name); + } + _mem_save_name_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->out.name, LIBNDR_FLAG_REF_ALLOC); + NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_name)); + if (_ptr_name) { + NDR_PULL_ALLOC(ndr, *r->out.name); + } else { + *r->out.name = NULL; + } + if (*r->out.name) { + _mem_save_name_1 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, *r->out.name, 0); + NDR_CHECK(ndr_pull_array_size(ndr, r->out.name)); + NDR_CHECK(ndr_pull_array_length(ndr, r->out.name)); + if (ndr_get_array_length(ndr, r->out.name) > ndr_get_array_size(ndr, r->out.name)) { + return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, r->out.name), ndr_get_array_length(ndr, r->out.name)); + } + NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, r->out.name), sizeof(uint8_t))); + NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, r->out.name, ndr_get_array_length(ndr, r->out.name), sizeof(uint8_t), CH_UTF8)); + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_1, 0); + } + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_name_0, LIBNDR_FLAG_REF_ALLOC); + NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); + } + return NDR_ERR_SUCCESS; +} + +_PUBLIC_ void ndr_print_wbint_LookupSid(struct ndr_print *ndr, const char *name, int flags, const struct wbint_LookupSid *r) +{ + ndr_print_struct(ndr, name, "wbint_LookupSid"); + ndr->depth++; + if (flags & NDR_SET_VALUES) { + ndr->flags |= LIBNDR_PRINT_SET_VALUES; + } + if (flags & NDR_IN) { + ndr_print_struct(ndr, "in", "wbint_LookupSid"); + ndr->depth++; + ndr_print_ptr(ndr, "sid", r->in.sid); + ndr->depth++; + ndr_print_dom_sid(ndr, "sid", r->in.sid); + ndr->depth--; + ndr->depth--; + } + if (flags & NDR_OUT) { + ndr_print_struct(ndr, "out", "wbint_LookupSid"); + ndr->depth++; + ndr_print_ptr(ndr, "type", r->out.type); + ndr->depth++; + ndr_print_lsa_SidType(ndr, "type", *r->out.type); + ndr->depth--; + ndr_print_ptr(ndr, "domain", r->out.domain); + ndr->depth++; + ndr_print_ptr(ndr, "domain", *r->out.domain); + ndr->depth++; + if (*r->out.domain) { + ndr_print_string(ndr, "domain", *r->out.domain); + } + ndr->depth--; + ndr->depth--; + ndr_print_ptr(ndr, "name", r->out.name); + ndr->depth++; + ndr_print_ptr(ndr, "name", *r->out.name); + ndr->depth++; + if (*r->out.name) { + ndr_print_string(ndr, "name", *r->out.name); + } + ndr->depth--; + ndr->depth--; + ndr_print_NTSTATUS(ndr, "result", r->out.result); + ndr->depth--; + } + ndr->depth--; +} + +static enum ndr_err_code ndr_push_wbint_LookupName(struct ndr_push *ndr, int flags, const struct wbint_LookupName *r) +{ + if (flags & NDR_IN) { + if (r->in.domain == NULL) { + return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); + } + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF8))); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.domain, CH_UTF8))); + NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.domain, ndr_charset_length(r->in.domain, CH_UTF8), sizeof(uint8_t), CH_UTF8)); + if (r->in.name == NULL) { + return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); + } + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.name, CH_UTF8))); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.name, CH_UTF8))); + NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.name, ndr_charset_length(r->in.name, CH_UTF8), sizeof(uint8_t), CH_UTF8)); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, r->in.flags)); + } + if (flags & NDR_OUT) { + if (r->out.type == NULL) { + return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); + } + NDR_CHECK(ndr_push_lsa_SidType(ndr, NDR_SCALARS, *r->out.type)); + if (r->out.sid == NULL) { + return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); + } + NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->out.sid)); + NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); + } + return NDR_ERR_SUCCESS; +} + +static enum ndr_err_code ndr_pull_wbint_LookupName(struct ndr_pull *ndr, int flags, struct wbint_LookupName *r) +{ + TALLOC_CTX *_mem_save_type_0; + TALLOC_CTX *_mem_save_sid_0; + if (flags & NDR_IN) { + ZERO_STRUCT(r->out); + + NDR_CHECK(ndr_pull_array_size(ndr, &r->in.domain)); + NDR_CHECK(ndr_pull_array_length(ndr, &r->in.domain)); + if (ndr_get_array_length(ndr, &r->in.domain) > ndr_get_array_size(ndr, &r->in.domain)) { + return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.domain), ndr_get_array_length(ndr, &r->in.domain)); + } + NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint8_t))); + NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.domain, ndr_get_array_length(ndr, &r->in.domain), sizeof(uint8_t), CH_UTF8)); + NDR_CHECK(ndr_pull_array_size(ndr, &r->in.name)); + NDR_CHECK(ndr_pull_array_length(ndr, &r->in.name)); + if (ndr_get_array_length(ndr, &r->in.name) > ndr_get_array_size(ndr, &r->in.name)) { + return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.name), ndr_get_array_length(ndr, &r->in.name)); + } + NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.name), sizeof(uint8_t))); + NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.name, ndr_get_array_length(ndr, &r->in.name), sizeof(uint8_t), CH_UTF8)); + NDR_CHECK(ndr_pull_uint32(ndr, NDR_SCALARS, &r->in.flags)); + NDR_PULL_ALLOC(ndr, r->out.type); + ZERO_STRUCTP(r->out.type); + NDR_PULL_ALLOC(ndr, r->out.sid); + ZERO_STRUCTP(r->out.sid); + } + if (flags & NDR_OUT) { + if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { + NDR_PULL_ALLOC(ndr, r->out.type); + } + _mem_save_type_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->out.type, LIBNDR_FLAG_REF_ALLOC); + NDR_CHECK(ndr_pull_lsa_SidType(ndr, NDR_SCALARS, r->out.type)); + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_type_0, LIBNDR_FLAG_REF_ALLOC); + if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { + NDR_PULL_ALLOC(ndr, r->out.sid); + } + _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, LIBNDR_FLAG_REF_ALLOC); + NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->out.sid)); + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC); + NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); + } + return NDR_ERR_SUCCESS; +} + +_PUBLIC_ void ndr_print_wbint_LookupName(struct ndr_print *ndr, const char *name, int flags, const struct wbint_LookupName *r) +{ + ndr_print_struct(ndr, name, "wbint_LookupName"); + ndr->depth++; + if (flags & NDR_SET_VALUES) { + ndr->flags |= LIBNDR_PRINT_SET_VALUES; + } + if (flags & NDR_IN) { + ndr_print_struct(ndr, "in", "wbint_LookupName"); + ndr->depth++; + ndr_print_ptr(ndr, "domain", r->in.domain); + ndr->depth++; + ndr_print_string(ndr, "domain", r->in.domain); + ndr->depth--; + ndr_print_ptr(ndr, "name", r->in.name); + ndr->depth++; + ndr_print_string(ndr, "name", r->in.name); + ndr->depth--; + ndr_print_uint32(ndr, "flags", r->in.flags); + ndr->depth--; + } + if (flags & NDR_OUT) { + ndr_print_struct(ndr, "out", "wbint_LookupName"); + ndr->depth++; + ndr_print_ptr(ndr, "type", r->out.type); + ndr->depth++; + ndr_print_lsa_SidType(ndr, "type", *r->out.type); + ndr->depth--; + ndr_print_ptr(ndr, "sid", r->out.sid); + ndr->depth++; + ndr_print_dom_sid(ndr, "sid", r->out.sid); + ndr->depth--; + ndr_print_NTSTATUS(ndr, "result", r->out.result); + ndr->depth--; + } + ndr->depth--; +} + +static enum ndr_err_code ndr_push_wbint_Sid2Uid(struct ndr_push *ndr, int flags, const struct wbint_Sid2Uid *r) +{ + if (flags & NDR_IN) { + NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.dom_name)); + if (r->in.dom_name) { + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dom_name, CH_UTF8))); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dom_name, CH_UTF8))); + NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.dom_name, ndr_charset_length(r->in.dom_name, CH_UTF8), sizeof(uint8_t), CH_UTF8)); + } + if (r->in.sid == NULL) { + return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); + } + NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->in.sid)); + } + if (flags & NDR_OUT) { + if (r->out.uid == NULL) { + return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); + } + NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->out.uid)); + NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); + } + return NDR_ERR_SUCCESS; +} + +static enum ndr_err_code ndr_pull_wbint_Sid2Uid(struct ndr_pull *ndr, int flags, struct wbint_Sid2Uid *r) +{ + uint32_t _ptr_dom_name; + TALLOC_CTX *_mem_save_dom_name_0; + TALLOC_CTX *_mem_save_sid_0; + TALLOC_CTX *_mem_save_uid_0; + if (flags & NDR_IN) { + ZERO_STRUCT(r->out); + + NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dom_name)); + if (_ptr_dom_name) { + NDR_PULL_ALLOC(ndr, r->in.dom_name); + } else { + r->in.dom_name = NULL; + } + if (r->in.dom_name) { + _mem_save_dom_name_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->in.dom_name, 0); + NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dom_name)); + NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dom_name)); + if (ndr_get_array_length(ndr, &r->in.dom_name) > ndr_get_array_size(ndr, &r->in.dom_name)) { + return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dom_name), ndr_get_array_length(ndr, &r->in.dom_name)); + } + NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dom_name), sizeof(uint8_t))); + NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dom_name, ndr_get_array_length(ndr, &r->in.dom_name), sizeof(uint8_t), CH_UTF8)); + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_name_0, 0); + } + if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { + NDR_PULL_ALLOC(ndr, r->in.sid); + } + _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC); + NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->in.sid)); + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC); + NDR_PULL_ALLOC(ndr, r->out.uid); + ZERO_STRUCTP(r->out.uid); + } + if (flags & NDR_OUT) { + if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { + NDR_PULL_ALLOC(ndr, r->out.uid); + } + _mem_save_uid_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->out.uid, LIBNDR_FLAG_REF_ALLOC); + NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->out.uid)); + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_uid_0, LIBNDR_FLAG_REF_ALLOC); + NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); + } + return NDR_ERR_SUCCESS; +} + +_PUBLIC_ void ndr_print_wbint_Sid2Uid(struct ndr_print *ndr, const char *name, int flags, const struct wbint_Sid2Uid *r) +{ + ndr_print_struct(ndr, name, "wbint_Sid2Uid"); + ndr->depth++; + if (flags & NDR_SET_VALUES) { + ndr->flags |= LIBNDR_PRINT_SET_VALUES; + } + if (flags & NDR_IN) { + ndr_print_struct(ndr, "in", "wbint_Sid2Uid"); + ndr->depth++; + ndr_print_ptr(ndr, "dom_name", r->in.dom_name); + ndr->depth++; + if (r->in.dom_name) { + ndr_print_string(ndr, "dom_name", r->in.dom_name); + } + ndr->depth--; + ndr_print_ptr(ndr, "sid", r->in.sid); + ndr->depth++; + ndr_print_dom_sid(ndr, "sid", r->in.sid); + ndr->depth--; + ndr->depth--; + } + if (flags & NDR_OUT) { + ndr_print_struct(ndr, "out", "wbint_Sid2Uid"); + ndr->depth++; + ndr_print_ptr(ndr, "uid", r->out.uid); + ndr->depth++; + ndr_print_hyper(ndr, "uid", *r->out.uid); + ndr->depth--; + ndr_print_NTSTATUS(ndr, "result", r->out.result); + ndr->depth--; + } + ndr->depth--; +} + +static enum ndr_err_code ndr_push_wbint_Sid2Gid(struct ndr_push *ndr, int flags, const struct wbint_Sid2Gid *r) +{ + if (flags & NDR_IN) { + NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.dom_name)); + if (r->in.dom_name) { + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dom_name, CH_UTF8))); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dom_name, CH_UTF8))); + NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.dom_name, ndr_charset_length(r->in.dom_name, CH_UTF8), sizeof(uint8_t), CH_UTF8)); + } + if (r->in.sid == NULL) { + return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); + } + NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->in.sid)); + } + if (flags & NDR_OUT) { + if (r->out.gid == NULL) { + return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); + } + NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, *r->out.gid)); + NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); + } + return NDR_ERR_SUCCESS; +} + +static enum ndr_err_code ndr_pull_wbint_Sid2Gid(struct ndr_pull *ndr, int flags, struct wbint_Sid2Gid *r) +{ + uint32_t _ptr_dom_name; + TALLOC_CTX *_mem_save_dom_name_0; + TALLOC_CTX *_mem_save_sid_0; + TALLOC_CTX *_mem_save_gid_0; + if (flags & NDR_IN) { + ZERO_STRUCT(r->out); + + NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dom_name)); + if (_ptr_dom_name) { + NDR_PULL_ALLOC(ndr, r->in.dom_name); + } else { + r->in.dom_name = NULL; + } + if (r->in.dom_name) { + _mem_save_dom_name_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->in.dom_name, 0); + NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dom_name)); + NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dom_name)); + if (ndr_get_array_length(ndr, &r->in.dom_name) > ndr_get_array_size(ndr, &r->in.dom_name)) { + return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dom_name), ndr_get_array_length(ndr, &r->in.dom_name)); + } + NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dom_name), sizeof(uint8_t))); + NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dom_name, ndr_get_array_length(ndr, &r->in.dom_name), sizeof(uint8_t), CH_UTF8)); + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_name_0, 0); + } + if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { + NDR_PULL_ALLOC(ndr, r->in.sid); + } + _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC); + NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->in.sid)); + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC); + NDR_PULL_ALLOC(ndr, r->out.gid); + ZERO_STRUCTP(r->out.gid); + } + if (flags & NDR_OUT) { + if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { + NDR_PULL_ALLOC(ndr, r->out.gid); + } + _mem_save_gid_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->out.gid, LIBNDR_FLAG_REF_ALLOC); + NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, r->out.gid)); + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_gid_0, LIBNDR_FLAG_REF_ALLOC); + NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); + } + return NDR_ERR_SUCCESS; +} + +_PUBLIC_ void ndr_print_wbint_Sid2Gid(struct ndr_print *ndr, const char *name, int flags, const struct wbint_Sid2Gid *r) +{ + ndr_print_struct(ndr, name, "wbint_Sid2Gid"); + ndr->depth++; + if (flags & NDR_SET_VALUES) { + ndr->flags |= LIBNDR_PRINT_SET_VALUES; + } + if (flags & NDR_IN) { + ndr_print_struct(ndr, "in", "wbint_Sid2Gid"); + ndr->depth++; + ndr_print_ptr(ndr, "dom_name", r->in.dom_name); + ndr->depth++; + if (r->in.dom_name) { + ndr_print_string(ndr, "dom_name", r->in.dom_name); + } + ndr->depth--; + ndr_print_ptr(ndr, "sid", r->in.sid); + ndr->depth++; + ndr_print_dom_sid(ndr, "sid", r->in.sid); + ndr->depth--; + ndr->depth--; + } + if (flags & NDR_OUT) { + ndr_print_struct(ndr, "out", "wbint_Sid2Gid"); + ndr->depth++; + ndr_print_ptr(ndr, "gid", r->out.gid); + ndr->depth++; + ndr_print_hyper(ndr, "gid", *r->out.gid); + ndr->depth--; + ndr_print_NTSTATUS(ndr, "result", r->out.result); + ndr->depth--; + } + ndr->depth--; +} + +static enum ndr_err_code ndr_push_wbint_Uid2Sid(struct ndr_push *ndr, int flags, const struct wbint_Uid2Sid *r) +{ + if (flags & NDR_IN) { + NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.dom_name)); + if (r->in.dom_name) { + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dom_name, CH_UTF8))); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dom_name, CH_UTF8))); + NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.dom_name, ndr_charset_length(r->in.dom_name, CH_UTF8), sizeof(uint8_t), CH_UTF8)); + } + NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->in.uid)); + } + if (flags & NDR_OUT) { + if (r->out.sid == NULL) { + return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); + } + NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->out.sid)); + NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); + } + return NDR_ERR_SUCCESS; +} + +static enum ndr_err_code ndr_pull_wbint_Uid2Sid(struct ndr_pull *ndr, int flags, struct wbint_Uid2Sid *r) +{ + uint32_t _ptr_dom_name; + TALLOC_CTX *_mem_save_dom_name_0; + TALLOC_CTX *_mem_save_sid_0; + if (flags & NDR_IN) { + ZERO_STRUCT(r->out); + + NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dom_name)); + if (_ptr_dom_name) { + NDR_PULL_ALLOC(ndr, r->in.dom_name); + } else { + r->in.dom_name = NULL; + } + if (r->in.dom_name) { + _mem_save_dom_name_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->in.dom_name, 0); + NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dom_name)); + NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dom_name)); + if (ndr_get_array_length(ndr, &r->in.dom_name) > ndr_get_array_size(ndr, &r->in.dom_name)) { + return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dom_name), ndr_get_array_length(ndr, &r->in.dom_name)); + } + NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dom_name), sizeof(uint8_t))); + NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dom_name, ndr_get_array_length(ndr, &r->in.dom_name), sizeof(uint8_t), CH_UTF8)); + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_name_0, 0); + } + NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->in.uid)); + NDR_PULL_ALLOC(ndr, r->out.sid); + ZERO_STRUCTP(r->out.sid); + } + if (flags & NDR_OUT) { + if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { + NDR_PULL_ALLOC(ndr, r->out.sid); + } + _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, LIBNDR_FLAG_REF_ALLOC); + NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->out.sid)); + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC); + NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); + } + return NDR_ERR_SUCCESS; +} + +_PUBLIC_ void ndr_print_wbint_Uid2Sid(struct ndr_print *ndr, const char *name, int flags, const struct wbint_Uid2Sid *r) +{ + ndr_print_struct(ndr, name, "wbint_Uid2Sid"); + ndr->depth++; + if (flags & NDR_SET_VALUES) { + ndr->flags |= LIBNDR_PRINT_SET_VALUES; + } + if (flags & NDR_IN) { + ndr_print_struct(ndr, "in", "wbint_Uid2Sid"); + ndr->depth++; + ndr_print_ptr(ndr, "dom_name", r->in.dom_name); + ndr->depth++; + if (r->in.dom_name) { + ndr_print_string(ndr, "dom_name", r->in.dom_name); + } + ndr->depth--; + ndr_print_hyper(ndr, "uid", r->in.uid); + ndr->depth--; + } + if (flags & NDR_OUT) { + ndr_print_struct(ndr, "out", "wbint_Uid2Sid"); + ndr->depth++; + ndr_print_ptr(ndr, "sid", r->out.sid); + ndr->depth++; + ndr_print_dom_sid(ndr, "sid", r->out.sid); + ndr->depth--; + ndr_print_NTSTATUS(ndr, "result", r->out.result); + ndr->depth--; + } + ndr->depth--; +} + +static enum ndr_err_code ndr_push_wbint_Gid2Sid(struct ndr_push *ndr, int flags, const struct wbint_Gid2Sid *r) +{ + if (flags & NDR_IN) { + NDR_CHECK(ndr_push_unique_ptr(ndr, r->in.dom_name)); + if (r->in.dom_name) { + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dom_name, CH_UTF8))); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, 0)); + NDR_CHECK(ndr_push_uint32(ndr, NDR_SCALARS, ndr_charset_length(r->in.dom_name, CH_UTF8))); + NDR_CHECK(ndr_push_charset(ndr, NDR_SCALARS, r->in.dom_name, ndr_charset_length(r->in.dom_name, CH_UTF8), sizeof(uint8_t), CH_UTF8)); + } + NDR_CHECK(ndr_push_hyper(ndr, NDR_SCALARS, r->in.gid)); + } + if (flags & NDR_OUT) { + if (r->out.sid == NULL) { + return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); + } + NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->out.sid)); + NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); + } + return NDR_ERR_SUCCESS; +} + +static enum ndr_err_code ndr_pull_wbint_Gid2Sid(struct ndr_pull *ndr, int flags, struct wbint_Gid2Sid *r) +{ + uint32_t _ptr_dom_name; + TALLOC_CTX *_mem_save_dom_name_0; + TALLOC_CTX *_mem_save_sid_0; + if (flags & NDR_IN) { + ZERO_STRUCT(r->out); + + NDR_CHECK(ndr_pull_generic_ptr(ndr, &_ptr_dom_name)); + if (_ptr_dom_name) { + NDR_PULL_ALLOC(ndr, r->in.dom_name); + } else { + r->in.dom_name = NULL; + } + if (r->in.dom_name) { + _mem_save_dom_name_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->in.dom_name, 0); + NDR_CHECK(ndr_pull_array_size(ndr, &r->in.dom_name)); + NDR_CHECK(ndr_pull_array_length(ndr, &r->in.dom_name)); + if (ndr_get_array_length(ndr, &r->in.dom_name) > ndr_get_array_size(ndr, &r->in.dom_name)) { + return ndr_pull_error(ndr, NDR_ERR_ARRAY_SIZE, "Bad array size %u should exceed array length %u", ndr_get_array_size(ndr, &r->in.dom_name), ndr_get_array_length(ndr, &r->in.dom_name)); + } + NDR_CHECK(ndr_check_string_terminator(ndr, ndr_get_array_length(ndr, &r->in.dom_name), sizeof(uint8_t))); + NDR_CHECK(ndr_pull_charset(ndr, NDR_SCALARS, &r->in.dom_name, ndr_get_array_length(ndr, &r->in.dom_name), sizeof(uint8_t), CH_UTF8)); + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_dom_name_0, 0); + } + NDR_CHECK(ndr_pull_hyper(ndr, NDR_SCALARS, &r->in.gid)); + NDR_PULL_ALLOC(ndr, r->out.sid); + ZERO_STRUCTP(r->out.sid); + } + if (flags & NDR_OUT) { + if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { + NDR_PULL_ALLOC(ndr, r->out.sid); + } + _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->out.sid, LIBNDR_FLAG_REF_ALLOC); + NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->out.sid)); + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC); + NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); + } + return NDR_ERR_SUCCESS; +} + +_PUBLIC_ void ndr_print_wbint_Gid2Sid(struct ndr_print *ndr, const char *name, int flags, const struct wbint_Gid2Sid *r) +{ + ndr_print_struct(ndr, name, "wbint_Gid2Sid"); + ndr->depth++; + if (flags & NDR_SET_VALUES) { + ndr->flags |= LIBNDR_PRINT_SET_VALUES; + } + if (flags & NDR_IN) { + ndr_print_struct(ndr, "in", "wbint_Gid2Sid"); + ndr->depth++; + ndr_print_ptr(ndr, "dom_name", r->in.dom_name); + ndr->depth++; + if (r->in.dom_name) { + ndr_print_string(ndr, "dom_name", r->in.dom_name); + } + ndr->depth--; + ndr_print_hyper(ndr, "gid", r->in.gid); + ndr->depth--; + } + if (flags & NDR_OUT) { + ndr_print_struct(ndr, "out", "wbint_Gid2Sid"); + ndr->depth++; + ndr_print_ptr(ndr, "sid", r->out.sid); + ndr->depth++; + ndr_print_dom_sid(ndr, "sid", r->out.sid); + ndr->depth--; + ndr_print_NTSTATUS(ndr, "result", r->out.result); + ndr->depth--; + } + ndr->depth--; +} + +static enum ndr_err_code ndr_push_wbint_QueryUser(struct ndr_push *ndr, int flags, const struct wbint_QueryUser *r) +{ + if (flags & NDR_IN) { + if (r->in.sid == NULL) { + return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); + } + NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->in.sid)); + } + if (flags & NDR_OUT) { + if (r->out.info == NULL) { + return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); + } + NDR_CHECK(ndr_push_wbint_userinfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); + NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); + } + return NDR_ERR_SUCCESS; +} + +static enum ndr_err_code ndr_pull_wbint_QueryUser(struct ndr_pull *ndr, int flags, struct wbint_QueryUser *r) +{ + TALLOC_CTX *_mem_save_sid_0; + TALLOC_CTX *_mem_save_info_0; + if (flags & NDR_IN) { + ZERO_STRUCT(r->out); + + if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { + NDR_PULL_ALLOC(ndr, r->in.sid); + } + _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC); + NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->in.sid)); + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC); + NDR_PULL_ALLOC(ndr, r->out.info); + ZERO_STRUCTP(r->out.info); + } + if (flags & NDR_OUT) { + if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { + NDR_PULL_ALLOC(ndr, r->out.info); + } + _mem_save_info_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->out.info, LIBNDR_FLAG_REF_ALLOC); + NDR_CHECK(ndr_pull_wbint_userinfo(ndr, NDR_SCALARS|NDR_BUFFERS, r->out.info)); + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_info_0, LIBNDR_FLAG_REF_ALLOC); + NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); + } + return NDR_ERR_SUCCESS; +} + +_PUBLIC_ void ndr_print_wbint_QueryUser(struct ndr_print *ndr, const char *name, int flags, const struct wbint_QueryUser *r) +{ + ndr_print_struct(ndr, name, "wbint_QueryUser"); + ndr->depth++; + if (flags & NDR_SET_VALUES) { + ndr->flags |= LIBNDR_PRINT_SET_VALUES; + } + if (flags & NDR_IN) { + ndr_print_struct(ndr, "in", "wbint_QueryUser"); + ndr->depth++; + ndr_print_ptr(ndr, "sid", r->in.sid); + ndr->depth++; + ndr_print_dom_sid(ndr, "sid", r->in.sid); + ndr->depth--; + ndr->depth--; + } + if (flags & NDR_OUT) { + ndr_print_struct(ndr, "out", "wbint_QueryUser"); + ndr->depth++; + ndr_print_ptr(ndr, "info", r->out.info); + ndr->depth++; + ndr_print_wbint_userinfo(ndr, "info", r->out.info); + ndr->depth--; + ndr_print_NTSTATUS(ndr, "result", r->out.result); + ndr->depth--; + } + ndr->depth--; +} + +static enum ndr_err_code ndr_push_wbint_LookupUserAliases(struct ndr_push *ndr, int flags, const struct wbint_LookupUserAliases *r) +{ + if (flags & NDR_IN) { + if (r->in.sids == NULL) { + return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); + } + NDR_CHECK(ndr_push_wbint_SidArray(ndr, NDR_SCALARS, r->in.sids)); + } + if (flags & NDR_OUT) { + if (r->out.rids == NULL) { + return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); + } + NDR_CHECK(ndr_push_wbint_RidArray(ndr, NDR_SCALARS, r->out.rids)); + NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); + } + return NDR_ERR_SUCCESS; +} + +static enum ndr_err_code ndr_pull_wbint_LookupUserAliases(struct ndr_pull *ndr, int flags, struct wbint_LookupUserAliases *r) +{ + TALLOC_CTX *_mem_save_sids_0; + TALLOC_CTX *_mem_save_rids_0; + if (flags & NDR_IN) { + ZERO_STRUCT(r->out); + + if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { + NDR_PULL_ALLOC(ndr, r->in.sids); + } + _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->in.sids, LIBNDR_FLAG_REF_ALLOC); + NDR_CHECK(ndr_pull_wbint_SidArray(ndr, NDR_SCALARS, r->in.sids)); + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC); + NDR_PULL_ALLOC(ndr, r->out.rids); + ZERO_STRUCTP(r->out.rids); + } + if (flags & NDR_OUT) { + if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { + NDR_PULL_ALLOC(ndr, r->out.rids); + } + _mem_save_rids_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->out.rids, LIBNDR_FLAG_REF_ALLOC); + NDR_CHECK(ndr_pull_wbint_RidArray(ndr, NDR_SCALARS, r->out.rids)); + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_rids_0, LIBNDR_FLAG_REF_ALLOC); + NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); + } + return NDR_ERR_SUCCESS; +} + +_PUBLIC_ void ndr_print_wbint_LookupUserAliases(struct ndr_print *ndr, const char *name, int flags, const struct wbint_LookupUserAliases *r) +{ + ndr_print_struct(ndr, name, "wbint_LookupUserAliases"); + ndr->depth++; + if (flags & NDR_SET_VALUES) { + ndr->flags |= LIBNDR_PRINT_SET_VALUES; + } + if (flags & NDR_IN) { + ndr_print_struct(ndr, "in", "wbint_LookupUserAliases"); + ndr->depth++; + ndr_print_ptr(ndr, "sids", r->in.sids); + ndr->depth++; + ndr_print_wbint_SidArray(ndr, "sids", r->in.sids); + ndr->depth--; + ndr->depth--; + } + if (flags & NDR_OUT) { + ndr_print_struct(ndr, "out", "wbint_LookupUserAliases"); + ndr->depth++; + ndr_print_ptr(ndr, "rids", r->out.rids); + ndr->depth++; + ndr_print_wbint_RidArray(ndr, "rids", r->out.rids); + ndr->depth--; + ndr_print_NTSTATUS(ndr, "result", r->out.result); + ndr->depth--; + } + ndr->depth--; +} + +static enum ndr_err_code ndr_push_wbint_LookupUserGroups(struct ndr_push *ndr, int flags, const struct wbint_LookupUserGroups *r) +{ + if (flags & NDR_IN) { + if (r->in.sid == NULL) { + return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); + } + NDR_CHECK(ndr_push_dom_sid(ndr, NDR_SCALARS, r->in.sid)); + } + if (flags & NDR_OUT) { + if (r->out.sids == NULL) { + return ndr_push_error(ndr, NDR_ERR_INVALID_POINTER, "NULL [ref] pointer"); + } + NDR_CHECK(ndr_push_wbint_SidArray(ndr, NDR_SCALARS, r->out.sids)); + NDR_CHECK(ndr_push_NTSTATUS(ndr, NDR_SCALARS, r->out.result)); + } + return NDR_ERR_SUCCESS; +} + +static enum ndr_err_code ndr_pull_wbint_LookupUserGroups(struct ndr_pull *ndr, int flags, struct wbint_LookupUserGroups *r) +{ + TALLOC_CTX *_mem_save_sid_0; + TALLOC_CTX *_mem_save_sids_0; + if (flags & NDR_IN) { + ZERO_STRUCT(r->out); + + if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { + NDR_PULL_ALLOC(ndr, r->in.sid); + } + _mem_save_sid_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->in.sid, LIBNDR_FLAG_REF_ALLOC); + NDR_CHECK(ndr_pull_dom_sid(ndr, NDR_SCALARS, r->in.sid)); + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sid_0, LIBNDR_FLAG_REF_ALLOC); + NDR_PULL_ALLOC(ndr, r->out.sids); + ZERO_STRUCTP(r->out.sids); + } + if (flags & NDR_OUT) { + if (ndr->flags & LIBNDR_FLAG_REF_ALLOC) { + NDR_PULL_ALLOC(ndr, r->out.sids); + } + _mem_save_sids_0 = NDR_PULL_GET_MEM_CTX(ndr); + NDR_PULL_SET_MEM_CTX(ndr, r->out.sids, LIBNDR_FLAG_REF_ALLOC); + NDR_CHECK(ndr_pull_wbint_SidArray(ndr, NDR_SCALARS, r->out.sids)); + NDR_PULL_SET_MEM_CTX(ndr, _mem_save_sids_0, LIBNDR_FLAG_REF_ALLOC); + NDR_CHECK(ndr_pull_NTSTATUS(ndr, NDR_SCALARS, &r->out.result)); + } + return NDR_ERR_SUCCESS; +} + +_PUBLIC_ void ndr_print_wbint_LookupUserGroups(struct ndr_print *ndr, const char *name, int flags, const struct wbint_LookupUserGroups *r) +{ + ndr_print_struct(ndr, name, "wbint_LookupUserGroups"); + ndr->depth++; + if (flags & NDR_SET_VALUES) { + ndr->flags |= LIBNDR_PRINT_SET_VALUES; + } + if (flags & NDR_IN) { + ndr_print_struct(ndr, "in", "wbint_LookupUserGroups"); + ndr->depth++; + ndr_print_ptr(ndr, "sid", r->in.sid); + ndr->depth++; + ndr_print_dom_sid(ndr, "sid", r->in.sid); + ndr->depth--; + ndr->depth--; + } + if (flags & NDR_OUT) { + ndr_print_struct(ndr, "out", "wbint_LookupUserGroups"); + ndr->depth++; + ndr_print_ptr(ndr, "sids", r->out.sids); + ndr->depth++; + ndr_print_wbint_SidArray(ndr, "sids", r->out.sids); + ndr->depth--; + ndr_print_NTSTATUS(ndr, "result", r->out.result); + ndr->depth--; + } + ndr->depth--; +} + +static const struct ndr_interface_call wbint_calls[] = { + { + "wbint_Ping", + sizeof(struct wbint_Ping), + (ndr_push_flags_fn_t) ndr_push_wbint_Ping, + (ndr_pull_flags_fn_t) ndr_pull_wbint_Ping, + (ndr_print_function_t) ndr_print_wbint_Ping, + false, + }, + { + "wbint_LookupSid", + sizeof(struct wbint_LookupSid), + (ndr_push_flags_fn_t) ndr_push_wbint_LookupSid, + (ndr_pull_flags_fn_t) ndr_pull_wbint_LookupSid, + (ndr_print_function_t) ndr_print_wbint_LookupSid, + false, + }, + { + "wbint_LookupName", + sizeof(struct wbint_LookupName), + (ndr_push_flags_fn_t) ndr_push_wbint_LookupName, + (ndr_pull_flags_fn_t) ndr_pull_wbint_LookupName, + (ndr_print_function_t) ndr_print_wbint_LookupName, + false, + }, + { + "wbint_Sid2Uid", + sizeof(struct wbint_Sid2Uid), + (ndr_push_flags_fn_t) ndr_push_wbint_Sid2Uid, + (ndr_pull_flags_fn_t) ndr_pull_wbint_Sid2Uid, + (ndr_print_function_t) ndr_print_wbint_Sid2Uid, + false, + }, + { + "wbint_Sid2Gid", + sizeof(struct wbint_Sid2Gid), + (ndr_push_flags_fn_t) ndr_push_wbint_Sid2Gid, + (ndr_pull_flags_fn_t) ndr_pull_wbint_Sid2Gid, + (ndr_print_function_t) ndr_print_wbint_Sid2Gid, + false, + }, + { + "wbint_Uid2Sid", + sizeof(struct wbint_Uid2Sid), + (ndr_push_flags_fn_t) ndr_push_wbint_Uid2Sid, + (ndr_pull_flags_fn_t) ndr_pull_wbint_Uid2Sid, + (ndr_print_function_t) ndr_print_wbint_Uid2Sid, + false, + }, + { + "wbint_Gid2Sid", + sizeof(struct wbint_Gid2Sid), + (ndr_push_flags_fn_t) ndr_push_wbint_Gid2Sid, + (ndr_pull_flags_fn_t) ndr_pull_wbint_Gid2Sid, + (ndr_print_function_t) ndr_print_wbint_Gid2Sid, + false, + }, + { + "wbint_QueryUser", + sizeof(struct wbint_QueryUser), + (ndr_push_flags_fn_t) ndr_push_wbint_QueryUser, + (ndr_pull_flags_fn_t) ndr_pull_wbint_QueryUser, + (ndr_print_function_t) ndr_print_wbint_QueryUser, + false, + }, + { + "wbint_LookupUserAliases", + sizeof(struct wbint_LookupUserAliases), + (ndr_push_flags_fn_t) ndr_push_wbint_LookupUserAliases, + (ndr_pull_flags_fn_t) ndr_pull_wbint_LookupUserAliases, + (ndr_print_function_t) ndr_print_wbint_LookupUserAliases, + false, + }, + { + "wbint_LookupUserGroups", + sizeof(struct wbint_LookupUserGroups), + (ndr_push_flags_fn_t) ndr_push_wbint_LookupUserGroups, + (ndr_pull_flags_fn_t) ndr_pull_wbint_LookupUserGroups, + (ndr_print_function_t) ndr_print_wbint_LookupUserGroups, + false, + }, + { NULL, 0, NULL, NULL, NULL, false } +}; + +static const char * const wbint_endpoint_strings[] = { + "ncalrpc:", +}; + +static const struct ndr_interface_string_array wbint_endpoints = { + .count = 1, + .names = wbint_endpoint_strings +}; + +static const char * const wbint_authservice_strings[] = { + "host", +}; + +static const struct ndr_interface_string_array wbint_authservices = { + .count = 1, + .names = wbint_authservice_strings +}; + + +const struct ndr_interface_table ndr_table_wbint = { + .name = "wbint", + .syntax_id = { + {0xbf09192c,0xed60,0x4928,{0x9d,0xff},{0xd0,0xd7,0xbc,0xb0,0x3e,0xd8}}, + NDR_WBINT_VERSION + }, + .helpstring = NDR_WBINT_HELPSTRING, + .num_calls = 10, + .calls = wbint_calls, + .endpoints = &wbint_endpoints, + .authservices = &wbint_authservices +}; + diff --git a/source3/librpc/gen_ndr/ndr_wbint.h b/source3/librpc/gen_ndr/ndr_wbint.h new file mode 100644 index 0000000000..6fd6b1d74d --- /dev/null +++ b/source3/librpc/gen_ndr/ndr_wbint.h @@ -0,0 +1,54 @@ +/* header auto-generated by pidl */ + +#include "librpc/ndr/libndr.h" +#include "librpc/gen_ndr/wbint.h" + +#ifndef _HEADER_NDR_wbint +#define _HEADER_NDR_wbint + +#define NDR_WBINT_UUID "bf09192c-ed60-4928-9dff-d0d7bcb03ed8" +#define NDR_WBINT_VERSION 1.0 +#define NDR_WBINT_NAME "wbint" +#define NDR_WBINT_HELPSTRING "winbind parent-child protocol" +extern const struct ndr_interface_table ndr_table_wbint; +#define NDR_WBINT_PING (0x00) + +#define NDR_WBINT_LOOKUPSID (0x01) + +#define NDR_WBINT_LOOKUPNAME (0x02) + +#define NDR_WBINT_SID2UID (0x03) + +#define NDR_WBINT_SID2GID (0x04) + +#define NDR_WBINT_UID2SID (0x05) + +#define NDR_WBINT_GID2SID (0x06) + +#define NDR_WBINT_QUERYUSER (0x07) + +#define NDR_WBINT_LOOKUPUSERALIASES (0x08) + +#define NDR_WBINT_LOOKUPUSERGROUPS (0x09) + +#define NDR_WBINT_CALL_COUNT (10) +enum ndr_err_code ndr_push_wbint_userinfo(struct ndr_push *ndr, int ndr_flags, const struct wbint_userinfo *r); +enum ndr_err_code ndr_pull_wbint_userinfo(struct ndr_pull *ndr, int ndr_flags, struct wbint_userinfo *r); +void ndr_print_wbint_userinfo(struct ndr_print *ndr, const char *name, const struct wbint_userinfo *r); +enum ndr_err_code ndr_push_wbint_SidArray(struct ndr_push *ndr, int ndr_flags, const struct wbint_SidArray *r); +enum ndr_err_code ndr_pull_wbint_SidArray(struct ndr_pull *ndr, int ndr_flags, struct wbint_SidArray *r); +void ndr_print_wbint_SidArray(struct ndr_print *ndr, const char *name, const struct wbint_SidArray *r); +enum ndr_err_code ndr_push_wbint_RidArray(struct ndr_push *ndr, int ndr_flags, const struct wbint_RidArray *r); +enum ndr_err_code ndr_pull_wbint_RidArray(struct ndr_pull *ndr, int ndr_flags, struct wbint_RidArray *r); +void ndr_print_wbint_RidArray(struct ndr_print *ndr, const char *name, const struct wbint_RidArray *r); +void ndr_print_wbint_Ping(struct ndr_print *ndr, const char *name, int flags, const struct wbint_Ping *r); +void ndr_print_wbint_LookupSid(struct ndr_print *ndr, const char *name, int flags, const struct wbint_LookupSid *r); +void ndr_print_wbint_LookupName(struct ndr_print *ndr, const char *name, int flags, const struct wbint_LookupName *r); +void ndr_print_wbint_Sid2Uid(struct ndr_print *ndr, const char *name, int flags, const struct wbint_Sid2Uid *r); +void ndr_print_wbint_Sid2Gid(struct ndr_print *ndr, const char *name, int flags, const struct wbint_Sid2Gid *r); +void ndr_print_wbint_Uid2Sid(struct ndr_print *ndr, const char *name, int flags, const struct wbint_Uid2Sid *r); +void ndr_print_wbint_Gid2Sid(struct ndr_print *ndr, const char *name, int flags, const struct wbint_Gid2Sid *r); +void ndr_print_wbint_QueryUser(struct ndr_print *ndr, const char *name, int flags, const struct wbint_QueryUser *r); +void ndr_print_wbint_LookupUserAliases(struct ndr_print *ndr, const char *name, int flags, const struct wbint_LookupUserAliases *r); +void ndr_print_wbint_LookupUserGroups(struct ndr_print *ndr, const char *name, int flags, const struct wbint_LookupUserGroups *r); +#endif /* _HEADER_NDR_wbint */ diff --git a/source3/librpc/gen_ndr/srv_wbint.c b/source3/librpc/gen_ndr/srv_wbint.c new file mode 100644 index 0000000000..95c0619058 --- /dev/null +++ b/source3/librpc/gen_ndr/srv_wbint.c @@ -0,0 +1,1000 @@ +/* + * Unix SMB/CIFS implementation. + * server auto-generated by pidl. DO NOT MODIFY! + */ + +#include "includes.h" +#include "librpc/gen_ndr/srv_wbint.h" + +static bool api_wbint_Ping(pipes_struct *p) +{ + const struct ndr_interface_call *call; + struct ndr_pull *pull; + struct ndr_push *push; + enum ndr_err_code ndr_err; + DATA_BLOB blob; + struct wbint_Ping *r; + + call = &ndr_table_wbint.calls[NDR_WBINT_PING]; + + r = talloc(talloc_tos(), struct wbint_Ping); + if (r == NULL) { + return false; + } + + if (!prs_data_blob(&p->in_data.data, &blob, r)) { + talloc_free(r); + return false; + } + + pull = ndr_pull_init_blob(&blob, r, NULL); + if (pull == NULL) { + talloc_free(r); + return false; + } + + pull->flags |= LIBNDR_FLAG_REF_ALLOC; + ndr_err = call->ndr_pull(pull, NDR_IN, r); + if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { + talloc_free(r); + return false; + } + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_IN_DEBUG(wbint_Ping, r); + } + + ZERO_STRUCT(r->out); + r->out.out_data = talloc_zero(r, uint32_t); + if (r->out.out_data == NULL) { + talloc_free(r); + return false; + } + + _wbint_Ping(p, r); + + if (p->rng_fault_state) { + talloc_free(r); + /* Return true here, srv_pipe_hnd.c will take care */ + return true; + } + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_OUT_DEBUG(wbint_Ping, r); + } + + push = ndr_push_init_ctx(r, NULL); + if (push == NULL) { + talloc_free(r); + return false; + } + + ndr_err = call->ndr_push(push, NDR_OUT, r); + if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { + talloc_free(r); + return false; + } + + blob = ndr_push_blob(push); + if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { + talloc_free(r); + return false; + } + + talloc_free(r); + + return true; +} + +static bool api_wbint_LookupSid(pipes_struct *p) +{ + const struct ndr_interface_call *call; + struct ndr_pull *pull; + struct ndr_push *push; + enum ndr_err_code ndr_err; + DATA_BLOB blob; + struct wbint_LookupSid *r; + + call = &ndr_table_wbint.calls[NDR_WBINT_LOOKUPSID]; + + r = talloc(talloc_tos(), struct wbint_LookupSid); + if (r == NULL) { + return false; + } + + if (!prs_data_blob(&p->in_data.data, &blob, r)) { + talloc_free(r); + return false; + } + + pull = ndr_pull_init_blob(&blob, r, NULL); + if (pull == NULL) { + talloc_free(r); + return false; + } + + pull->flags |= LIBNDR_FLAG_REF_ALLOC; + ndr_err = call->ndr_pull(pull, NDR_IN, r); + if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { + talloc_free(r); + return false; + } + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_IN_DEBUG(wbint_LookupSid, r); + } + + ZERO_STRUCT(r->out); + r->out.type = talloc_zero(r, enum lsa_SidType); + if (r->out.type == NULL) { + talloc_free(r); + return false; + } + + r->out.domain = talloc_zero(r, const char *); + if (r->out.domain == NULL) { + talloc_free(r); + return false; + } + + r->out.name = talloc_zero(r, const char *); + if (r->out.name == NULL) { + talloc_free(r); + return false; + } + + r->out.result = _wbint_LookupSid(p, r); + + if (p->rng_fault_state) { + talloc_free(r); + /* Return true here, srv_pipe_hnd.c will take care */ + return true; + } + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_OUT_DEBUG(wbint_LookupSid, r); + } + + push = ndr_push_init_ctx(r, NULL); + if (push == NULL) { + talloc_free(r); + return false; + } + + ndr_err = call->ndr_push(push, NDR_OUT, r); + if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { + talloc_free(r); + return false; + } + + blob = ndr_push_blob(push); + if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { + talloc_free(r); + return false; + } + + talloc_free(r); + + return true; +} + +static bool api_wbint_LookupName(pipes_struct *p) +{ + const struct ndr_interface_call *call; + struct ndr_pull *pull; + struct ndr_push *push; + enum ndr_err_code ndr_err; + DATA_BLOB blob; + struct wbint_LookupName *r; + + call = &ndr_table_wbint.calls[NDR_WBINT_LOOKUPNAME]; + + r = talloc(talloc_tos(), struct wbint_LookupName); + if (r == NULL) { + return false; + } + + if (!prs_data_blob(&p->in_data.data, &blob, r)) { + talloc_free(r); + return false; + } + + pull = ndr_pull_init_blob(&blob, r, NULL); + if (pull == NULL) { + talloc_free(r); + return false; + } + + pull->flags |= LIBNDR_FLAG_REF_ALLOC; + ndr_err = call->ndr_pull(pull, NDR_IN, r); + if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { + talloc_free(r); + return false; + } + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_IN_DEBUG(wbint_LookupName, r); + } + + ZERO_STRUCT(r->out); + r->out.type = talloc_zero(r, enum lsa_SidType); + if (r->out.type == NULL) { + talloc_free(r); + return false; + } + + r->out.sid = talloc_zero(r, struct dom_sid); + if (r->out.sid == NULL) { + talloc_free(r); + return false; + } + + r->out.result = _wbint_LookupName(p, r); + + if (p->rng_fault_state) { + talloc_free(r); + /* Return true here, srv_pipe_hnd.c will take care */ + return true; + } + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_OUT_DEBUG(wbint_LookupName, r); + } + + push = ndr_push_init_ctx(r, NULL); + if (push == NULL) { + talloc_free(r); + return false; + } + + ndr_err = call->ndr_push(push, NDR_OUT, r); + if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { + talloc_free(r); + return false; + } + + blob = ndr_push_blob(push); + if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { + talloc_free(r); + return false; + } + + talloc_free(r); + + return true; +} + +static bool api_wbint_Sid2Uid(pipes_struct *p) +{ + const struct ndr_interface_call *call; + struct ndr_pull *pull; + struct ndr_push *push; + enum ndr_err_code ndr_err; + DATA_BLOB blob; + struct wbint_Sid2Uid *r; + + call = &ndr_table_wbint.calls[NDR_WBINT_SID2UID]; + + r = talloc(talloc_tos(), struct wbint_Sid2Uid); + if (r == NULL) { + return false; + } + + if (!prs_data_blob(&p->in_data.data, &blob, r)) { + talloc_free(r); + return false; + } + + pull = ndr_pull_init_blob(&blob, r, NULL); + if (pull == NULL) { + talloc_free(r); + return false; + } + + pull->flags |= LIBNDR_FLAG_REF_ALLOC; + ndr_err = call->ndr_pull(pull, NDR_IN, r); + if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { + talloc_free(r); + return false; + } + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_IN_DEBUG(wbint_Sid2Uid, r); + } + + ZERO_STRUCT(r->out); + r->out.uid = talloc_zero(r, uint64_t); + if (r->out.uid == NULL) { + talloc_free(r); + return false; + } + + r->out.result = _wbint_Sid2Uid(p, r); + + if (p->rng_fault_state) { + talloc_free(r); + /* Return true here, srv_pipe_hnd.c will take care */ + return true; + } + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_OUT_DEBUG(wbint_Sid2Uid, r); + } + + push = ndr_push_init_ctx(r, NULL); + if (push == NULL) { + talloc_free(r); + return false; + } + + ndr_err = call->ndr_push(push, NDR_OUT, r); + if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { + talloc_free(r); + return false; + } + + blob = ndr_push_blob(push); + if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { + talloc_free(r); + return false; + } + + talloc_free(r); + + return true; +} + +static bool api_wbint_Sid2Gid(pipes_struct *p) +{ + const struct ndr_interface_call *call; + struct ndr_pull *pull; + struct ndr_push *push; + enum ndr_err_code ndr_err; + DATA_BLOB blob; + struct wbint_Sid2Gid *r; + + call = &ndr_table_wbint.calls[NDR_WBINT_SID2GID]; + + r = talloc(talloc_tos(), struct wbint_Sid2Gid); + if (r == NULL) { + return false; + } + + if (!prs_data_blob(&p->in_data.data, &blob, r)) { + talloc_free(r); + return false; + } + + pull = ndr_pull_init_blob(&blob, r, NULL); + if (pull == NULL) { + talloc_free(r); + return false; + } + + pull->flags |= LIBNDR_FLAG_REF_ALLOC; + ndr_err = call->ndr_pull(pull, NDR_IN, r); + if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { + talloc_free(r); + return false; + } + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_IN_DEBUG(wbint_Sid2Gid, r); + } + + ZERO_STRUCT(r->out); + r->out.gid = talloc_zero(r, uint64_t); + if (r->out.gid == NULL) { + talloc_free(r); + return false; + } + + r->out.result = _wbint_Sid2Gid(p, r); + + if (p->rng_fault_state) { + talloc_free(r); + /* Return true here, srv_pipe_hnd.c will take care */ + return true; + } + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_OUT_DEBUG(wbint_Sid2Gid, r); + } + + push = ndr_push_init_ctx(r, NULL); + if (push == NULL) { + talloc_free(r); + return false; + } + + ndr_err = call->ndr_push(push, NDR_OUT, r); + if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { + talloc_free(r); + return false; + } + + blob = ndr_push_blob(push); + if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { + talloc_free(r); + return false; + } + + talloc_free(r); + + return true; +} + +static bool api_wbint_Uid2Sid(pipes_struct *p) +{ + const struct ndr_interface_call *call; + struct ndr_pull *pull; + struct ndr_push *push; + enum ndr_err_code ndr_err; + DATA_BLOB blob; + struct wbint_Uid2Sid *r; + + call = &ndr_table_wbint.calls[NDR_WBINT_UID2SID]; + + r = talloc(talloc_tos(), struct wbint_Uid2Sid); + if (r == NULL) { + return false; + } + + if (!prs_data_blob(&p->in_data.data, &blob, r)) { + talloc_free(r); + return false; + } + + pull = ndr_pull_init_blob(&blob, r, NULL); + if (pull == NULL) { + talloc_free(r); + return false; + } + + pull->flags |= LIBNDR_FLAG_REF_ALLOC; + ndr_err = call->ndr_pull(pull, NDR_IN, r); + if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { + talloc_free(r); + return false; + } + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_IN_DEBUG(wbint_Uid2Sid, r); + } + + ZERO_STRUCT(r->out); + r->out.sid = talloc_zero(r, struct dom_sid); + if (r->out.sid == NULL) { + talloc_free(r); + return false; + } + + r->out.result = _wbint_Uid2Sid(p, r); + + if (p->rng_fault_state) { + talloc_free(r); + /* Return true here, srv_pipe_hnd.c will take care */ + return true; + } + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_OUT_DEBUG(wbint_Uid2Sid, r); + } + + push = ndr_push_init_ctx(r, NULL); + if (push == NULL) { + talloc_free(r); + return false; + } + + ndr_err = call->ndr_push(push, NDR_OUT, r); + if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { + talloc_free(r); + return false; + } + + blob = ndr_push_blob(push); + if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { + talloc_free(r); + return false; + } + + talloc_free(r); + + return true; +} + +static bool api_wbint_Gid2Sid(pipes_struct *p) +{ + const struct ndr_interface_call *call; + struct ndr_pull *pull; + struct ndr_push *push; + enum ndr_err_code ndr_err; + DATA_BLOB blob; + struct wbint_Gid2Sid *r; + + call = &ndr_table_wbint.calls[NDR_WBINT_GID2SID]; + + r = talloc(talloc_tos(), struct wbint_Gid2Sid); + if (r == NULL) { + return false; + } + + if (!prs_data_blob(&p->in_data.data, &blob, r)) { + talloc_free(r); + return false; + } + + pull = ndr_pull_init_blob(&blob, r, NULL); + if (pull == NULL) { + talloc_free(r); + return false; + } + + pull->flags |= LIBNDR_FLAG_REF_ALLOC; + ndr_err = call->ndr_pull(pull, NDR_IN, r); + if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { + talloc_free(r); + return false; + } + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_IN_DEBUG(wbint_Gid2Sid, r); + } + + ZERO_STRUCT(r->out); + r->out.sid = talloc_zero(r, struct dom_sid); + if (r->out.sid == NULL) { + talloc_free(r); + return false; + } + + r->out.result = _wbint_Gid2Sid(p, r); + + if (p->rng_fault_state) { + talloc_free(r); + /* Return true here, srv_pipe_hnd.c will take care */ + return true; + } + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_OUT_DEBUG(wbint_Gid2Sid, r); + } + + push = ndr_push_init_ctx(r, NULL); + if (push == NULL) { + talloc_free(r); + return false; + } + + ndr_err = call->ndr_push(push, NDR_OUT, r); + if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { + talloc_free(r); + return false; + } + + blob = ndr_push_blob(push); + if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { + talloc_free(r); + return false; + } + + talloc_free(r); + + return true; +} + +static bool api_wbint_QueryUser(pipes_struct *p) +{ + const struct ndr_interface_call *call; + struct ndr_pull *pull; + struct ndr_push *push; + enum ndr_err_code ndr_err; + DATA_BLOB blob; + struct wbint_QueryUser *r; + + call = &ndr_table_wbint.calls[NDR_WBINT_QUERYUSER]; + + r = talloc(talloc_tos(), struct wbint_QueryUser); + if (r == NULL) { + return false; + } + + if (!prs_data_blob(&p->in_data.data, &blob, r)) { + talloc_free(r); + return false; + } + + pull = ndr_pull_init_blob(&blob, r, NULL); + if (pull == NULL) { + talloc_free(r); + return false; + } + + pull->flags |= LIBNDR_FLAG_REF_ALLOC; + ndr_err = call->ndr_pull(pull, NDR_IN, r); + if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { + talloc_free(r); + return false; + } + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_IN_DEBUG(wbint_QueryUser, r); + } + + ZERO_STRUCT(r->out); + r->out.info = talloc_zero(r, struct wbint_userinfo); + if (r->out.info == NULL) { + talloc_free(r); + return false; + } + + r->out.result = _wbint_QueryUser(p, r); + + if (p->rng_fault_state) { + talloc_free(r); + /* Return true here, srv_pipe_hnd.c will take care */ + return true; + } + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_OUT_DEBUG(wbint_QueryUser, r); + } + + push = ndr_push_init_ctx(r, NULL); + if (push == NULL) { + talloc_free(r); + return false; + } + + ndr_err = call->ndr_push(push, NDR_OUT, r); + if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { + talloc_free(r); + return false; + } + + blob = ndr_push_blob(push); + if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { + talloc_free(r); + return false; + } + + talloc_free(r); + + return true; +} + +static bool api_wbint_LookupUserAliases(pipes_struct *p) +{ + const struct ndr_interface_call *call; + struct ndr_pull *pull; + struct ndr_push *push; + enum ndr_err_code ndr_err; + DATA_BLOB blob; + struct wbint_LookupUserAliases *r; + + call = &ndr_table_wbint.calls[NDR_WBINT_LOOKUPUSERALIASES]; + + r = talloc(talloc_tos(), struct wbint_LookupUserAliases); + if (r == NULL) { + return false; + } + + if (!prs_data_blob(&p->in_data.data, &blob, r)) { + talloc_free(r); + return false; + } + + pull = ndr_pull_init_blob(&blob, r, NULL); + if (pull == NULL) { + talloc_free(r); + return false; + } + + pull->flags |= LIBNDR_FLAG_REF_ALLOC; + ndr_err = call->ndr_pull(pull, NDR_IN, r); + if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { + talloc_free(r); + return false; + } + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_IN_DEBUG(wbint_LookupUserAliases, r); + } + + ZERO_STRUCT(r->out); + r->out.rids = talloc_zero(r, struct wbint_RidArray); + if (r->out.rids == NULL) { + talloc_free(r); + return false; + } + + r->out.result = _wbint_LookupUserAliases(p, r); + + if (p->rng_fault_state) { + talloc_free(r); + /* Return true here, srv_pipe_hnd.c will take care */ + return true; + } + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_OUT_DEBUG(wbint_LookupUserAliases, r); + } + + push = ndr_push_init_ctx(r, NULL); + if (push == NULL) { + talloc_free(r); + return false; + } + + ndr_err = call->ndr_push(push, NDR_OUT, r); + if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { + talloc_free(r); + return false; + } + + blob = ndr_push_blob(push); + if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { + talloc_free(r); + return false; + } + + talloc_free(r); + + return true; +} + +static bool api_wbint_LookupUserGroups(pipes_struct *p) +{ + const struct ndr_interface_call *call; + struct ndr_pull *pull; + struct ndr_push *push; + enum ndr_err_code ndr_err; + DATA_BLOB blob; + struct wbint_LookupUserGroups *r; + + call = &ndr_table_wbint.calls[NDR_WBINT_LOOKUPUSERGROUPS]; + + r = talloc(talloc_tos(), struct wbint_LookupUserGroups); + if (r == NULL) { + return false; + } + + if (!prs_data_blob(&p->in_data.data, &blob, r)) { + talloc_free(r); + return false; + } + + pull = ndr_pull_init_blob(&blob, r, NULL); + if (pull == NULL) { + talloc_free(r); + return false; + } + + pull->flags |= LIBNDR_FLAG_REF_ALLOC; + ndr_err = call->ndr_pull(pull, NDR_IN, r); + if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { + talloc_free(r); + return false; + } + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_IN_DEBUG(wbint_LookupUserGroups, r); + } + + ZERO_STRUCT(r->out); + r->out.sids = talloc_zero(r, struct wbint_SidArray); + if (r->out.sids == NULL) { + talloc_free(r); + return false; + } + + r->out.result = _wbint_LookupUserGroups(p, r); + + if (p->rng_fault_state) { + talloc_free(r); + /* Return true here, srv_pipe_hnd.c will take care */ + return true; + } + + if (DEBUGLEVEL >= 10) { + NDR_PRINT_OUT_DEBUG(wbint_LookupUserGroups, r); + } + + push = ndr_push_init_ctx(r, NULL); + if (push == NULL) { + talloc_free(r); + return false; + } + + ndr_err = call->ndr_push(push, NDR_OUT, r); + if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { + talloc_free(r); + return false; + } + + blob = ndr_push_blob(push); + if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) { + talloc_free(r); + return false; + } + + talloc_free(r); + + return true; +} + + +/* Tables */ +static struct api_struct api_wbint_cmds[] = +{ + {"WBINT_PING", NDR_WBINT_PING, api_wbint_Ping}, + {"WBINT_LOOKUPSID", NDR_WBINT_LOOKUPSID, api_wbint_LookupSid}, + {"WBINT_LOOKUPNAME", NDR_WBINT_LOOKUPNAME, api_wbint_LookupName}, + {"WBINT_SID2UID", NDR_WBINT_SID2UID, api_wbint_Sid2Uid}, + {"WBINT_SID2GID", NDR_WBINT_SID2GID, api_wbint_Sid2Gid}, + {"WBINT_UID2SID", NDR_WBINT_UID2SID, api_wbint_Uid2Sid}, + {"WBINT_GID2SID", NDR_WBINT_GID2SID, api_wbint_Gid2Sid}, + {"WBINT_QUERYUSER", NDR_WBINT_QUERYUSER, api_wbint_QueryUser}, + {"WBINT_LOOKUPUSERALIASES", NDR_WBINT_LOOKUPUSERALIASES, api_wbint_LookupUserAliases}, + {"WBINT_LOOKUPUSERGROUPS", NDR_WBINT_LOOKUPUSERGROUPS, api_wbint_LookupUserGroups}, +}; + +void wbint_get_pipe_fns(struct api_struct **fns, int *n_fns) +{ + *fns = api_wbint_cmds; + *n_fns = sizeof(api_wbint_cmds) / sizeof(struct api_struct); +} + +NTSTATUS rpc_wbint_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *_r) +{ + if (cli->pipes_struct == NULL) { + return NT_STATUS_INVALID_PARAMETER; + } + + switch (opnum) + { + case NDR_WBINT_PING: { + struct wbint_Ping *r = (struct wbint_Ping *)_r; + ZERO_STRUCT(r->out); + r->out.out_data = talloc_zero(mem_ctx, uint32_t); + if (r->out.out_data == NULL) { + return NT_STATUS_NO_MEMORY; + } + + _wbint_Ping(cli->pipes_struct, r); + return NT_STATUS_OK; + } + + case NDR_WBINT_LOOKUPSID: { + struct wbint_LookupSid *r = (struct wbint_LookupSid *)_r; + ZERO_STRUCT(r->out); + r->out.type = talloc_zero(mem_ctx, enum lsa_SidType); + if (r->out.type == NULL) { + return NT_STATUS_NO_MEMORY; + } + + r->out.domain = talloc_zero(mem_ctx, const char *); + if (r->out.domain == NULL) { + return NT_STATUS_NO_MEMORY; + } + + r->out.name = talloc_zero(mem_ctx, const char *); + if (r->out.name == NULL) { + return NT_STATUS_NO_MEMORY; + } + + r->out.result = _wbint_LookupSid(cli->pipes_struct, r); + return NT_STATUS_OK; + } + + case NDR_WBINT_LOOKUPNAME: { + struct wbint_LookupName *r = (struct wbint_LookupName *)_r; + ZERO_STRUCT(r->out); + r->out.type = talloc_zero(mem_ctx, enum lsa_SidType); + if (r->out.type == NULL) { + return NT_STATUS_NO_MEMORY; + } + + r->out.sid = talloc_zero(mem_ctx, struct dom_sid); + if (r->out.sid == NULL) { + return NT_STATUS_NO_MEMORY; + } + + r->out.result = _wbint_LookupName(cli->pipes_struct, r); + return NT_STATUS_OK; + } + + case NDR_WBINT_SID2UID: { + struct wbint_Sid2Uid *r = (struct wbint_Sid2Uid *)_r; + ZERO_STRUCT(r->out); + r->out.uid = talloc_zero(mem_ctx, uint64_t); + if (r->out.uid == NULL) { + return NT_STATUS_NO_MEMORY; + } + + r->out.result = _wbint_Sid2Uid(cli->pipes_struct, r); + return NT_STATUS_OK; + } + + case NDR_WBINT_SID2GID: { + struct wbint_Sid2Gid *r = (struct wbint_Sid2Gid *)_r; + ZERO_STRUCT(r->out); + r->out.gid = talloc_zero(mem_ctx, uint64_t); + if (r->out.gid == NULL) { + return NT_STATUS_NO_MEMORY; + } + + r->out.result = _wbint_Sid2Gid(cli->pipes_struct, r); + return NT_STATUS_OK; + } + + case NDR_WBINT_UID2SID: { + struct wbint_Uid2Sid *r = (struct wbint_Uid2Sid *)_r; + ZERO_STRUCT(r->out); + r->out.sid = talloc_zero(mem_ctx, struct dom_sid); + if (r->out.sid == NULL) { + return NT_STATUS_NO_MEMORY; + } + + r->out.result = _wbint_Uid2Sid(cli->pipes_struct, r); + return NT_STATUS_OK; + } + + case NDR_WBINT_GID2SID: { + struct wbint_Gid2Sid *r = (struct wbint_Gid2Sid *)_r; + ZERO_STRUCT(r->out); + r->out.sid = talloc_zero(mem_ctx, struct dom_sid); + if (r->out.sid == NULL) { + return NT_STATUS_NO_MEMORY; + } + + r->out.result = _wbint_Gid2Sid(cli->pipes_struct, r); + return NT_STATUS_OK; + } + + case NDR_WBINT_QUERYUSER: { + struct wbint_QueryUser *r = (struct wbint_QueryUser *)_r; + ZERO_STRUCT(r->out); + r->out.info = talloc_zero(mem_ctx, struct wbint_userinfo); + if (r->out.info == NULL) { + return NT_STATUS_NO_MEMORY; + } + + r->out.result = _wbint_QueryUser(cli->pipes_struct, r); + return NT_STATUS_OK; + } + + case NDR_WBINT_LOOKUPUSERALIASES: { + struct wbint_LookupUserAliases *r = (struct wbint_LookupUserAliases *)_r; + ZERO_STRUCT(r->out); + r->out.rids = talloc_zero(mem_ctx, struct wbint_RidArray); + if (r->out.rids == NULL) { + return NT_STATUS_NO_MEMORY; + } + + r->out.result = _wbint_LookupUserAliases(cli->pipes_struct, r); + return NT_STATUS_OK; + } + + case NDR_WBINT_LOOKUPUSERGROUPS: { + struct wbint_LookupUserGroups *r = (struct wbint_LookupUserGroups *)_r; + ZERO_STRUCT(r->out); + r->out.sids = talloc_zero(mem_ctx, struct wbint_SidArray); + if (r->out.sids == NULL) { + return NT_STATUS_NO_MEMORY; + } + + r->out.result = _wbint_LookupUserGroups(cli->pipes_struct, r); + return NT_STATUS_OK; + } + + default: + return NT_STATUS_NOT_IMPLEMENTED; + } +} + +NTSTATUS rpc_wbint_init(void) +{ + return rpc_srv_register(SMB_RPC_INTERFACE_VERSION, "wbint", "wbint", &ndr_table_wbint, api_wbint_cmds, sizeof(api_wbint_cmds) / sizeof(struct api_struct)); +} diff --git a/source3/librpc/gen_ndr/srv_wbint.h b/source3/librpc/gen_ndr/srv_wbint.h new file mode 100644 index 0000000000..20ca316375 --- /dev/null +++ b/source3/librpc/gen_ndr/srv_wbint.h @@ -0,0 +1,27 @@ +#include "librpc/gen_ndr/ndr_wbint.h" +#ifndef __SRV_WBINT__ +#define __SRV_WBINT__ +void _wbint_Ping(pipes_struct *p, struct wbint_Ping *r); +NTSTATUS _wbint_LookupSid(pipes_struct *p, struct wbint_LookupSid *r); +NTSTATUS _wbint_LookupName(pipes_struct *p, struct wbint_LookupName *r); +NTSTATUS _wbint_Sid2Uid(pipes_struct *p, struct wbint_Sid2Uid *r); +NTSTATUS _wbint_Sid2Gid(pipes_struct *p, struct wbint_Sid2Gid *r); +NTSTATUS _wbint_Uid2Sid(pipes_struct *p, struct wbint_Uid2Sid *r); +NTSTATUS _wbint_Gid2Sid(pipes_struct *p, struct wbint_Gid2Sid *r); +NTSTATUS _wbint_QueryUser(pipes_struct *p, struct wbint_QueryUser *r); +NTSTATUS _wbint_LookupUserAliases(pipes_struct *p, struct wbint_LookupUserAliases *r); +NTSTATUS _wbint_LookupUserGroups(pipes_struct *p, struct wbint_LookupUserGroups *r); +void wbint_get_pipe_fns(struct api_struct **fns, int *n_fns); +NTSTATUS rpc_wbint_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *r); +void _wbint_Ping(pipes_struct *p, struct wbint_Ping *r); +NTSTATUS _wbint_LookupSid(pipes_struct *p, struct wbint_LookupSid *r); +NTSTATUS _wbint_LookupName(pipes_struct *p, struct wbint_LookupName *r); +NTSTATUS _wbint_Sid2Uid(pipes_struct *p, struct wbint_Sid2Uid *r); +NTSTATUS _wbint_Sid2Gid(pipes_struct *p, struct wbint_Sid2Gid *r); +NTSTATUS _wbint_Uid2Sid(pipes_struct *p, struct wbint_Uid2Sid *r); +NTSTATUS _wbint_Gid2Sid(pipes_struct *p, struct wbint_Gid2Sid *r); +NTSTATUS _wbint_QueryUser(pipes_struct *p, struct wbint_QueryUser *r); +NTSTATUS _wbint_LookupUserAliases(pipes_struct *p, struct wbint_LookupUserAliases *r); +NTSTATUS _wbint_LookupUserGroups(pipes_struct *p, struct wbint_LookupUserGroups *r); +NTSTATUS rpc_wbint_init(void); +#endif /* __SRV_WBINT__ */ diff --git a/source3/librpc/gen_ndr/wbint.h b/source3/librpc/gen_ndr/wbint.h new file mode 100644 index 0000000000..28382ec346 --- /dev/null +++ b/source3/librpc/gen_ndr/wbint.h @@ -0,0 +1,169 @@ +/* header auto-generated by pidl */ + +#include <stdint.h> + +#include "libcli/util/ntstatus.h" + +#include "librpc/gen_ndr/lsa.h" +#ifndef _HEADER_wbint +#define _HEADER_wbint + +struct wbint_userinfo { + const char *acct_name;/* [unique,charset(UTF8)] */ + const char *full_name;/* [unique,charset(UTF8)] */ + const char *homedir;/* [unique,charset(UTF8)] */ + const char *shell;/* [unique,charset(UTF8)] */ + uint64_t primary_gid; + struct dom_sid user_sid; + struct dom_sid group_sid; +}/* [public] */; + +struct wbint_SidArray { + uint32_t num_sids; + struct dom_sid *sids;/* [size_is(num_sids)] */ +}/* [public] */; + +struct wbint_RidArray { + uint32_t num_rids; + uint32_t *rids;/* [size_is(num_rids)] */ +}/* [public] */; + + +struct wbint_Ping { + struct { + uint32_t in_data; + } in; + + struct { + uint32_t *out_data;/* [ref] */ + } out; + +}; + + +struct wbint_LookupSid { + struct { + struct dom_sid *sid;/* [ref] */ + } in; + + struct { + enum lsa_SidType *type;/* [ref] */ + const char **domain;/* [ref,charset(UTF8)] */ + const char **name;/* [ref,charset(UTF8)] */ + NTSTATUS result; + } out; + +}; + + +struct wbint_LookupName { + struct { + const char *domain;/* [ref,charset(UTF8)] */ + const char *name;/* [ref,charset(UTF8)] */ + uint32_t flags; + } in; + + struct { + enum lsa_SidType *type;/* [ref] */ + struct dom_sid *sid;/* [ref] */ + NTSTATUS result; + } out; + +}; + + +struct wbint_Sid2Uid { + struct { + const char *dom_name;/* [unique,charset(UTF8)] */ + struct dom_sid *sid;/* [ref] */ + } in; + + struct { + uint64_t *uid;/* [ref] */ + NTSTATUS result; + } out; + +}; + + +struct wbint_Sid2Gid { + struct { + const char *dom_name;/* [unique,charset(UTF8)] */ + struct dom_sid *sid;/* [ref] */ + } in; + + struct { + uint64_t *gid;/* [ref] */ + NTSTATUS result; + } out; + +}; + + +struct wbint_Uid2Sid { + struct { + const char *dom_name;/* [unique,charset(UTF8)] */ + uint64_t uid; + } in; + + struct { + struct dom_sid *sid;/* [ref] */ + NTSTATUS result; + } out; + +}; + + +struct wbint_Gid2Sid { + struct { + const char *dom_name;/* [unique,charset(UTF8)] */ + uint64_t gid; + } in; + + struct { + struct dom_sid *sid;/* [ref] */ + NTSTATUS result; + } out; + +}; + + +struct wbint_QueryUser { + struct { + struct dom_sid *sid;/* [ref] */ + } in; + + struct { + struct wbint_userinfo *info;/* [ref] */ + NTSTATUS result; + } out; + +}; + + +struct wbint_LookupUserAliases { + struct { + struct wbint_SidArray *sids;/* [ref] */ + } in; + + struct { + struct wbint_RidArray *rids;/* [ref] */ + NTSTATUS result; + } out; + +}; + + +struct wbint_LookupUserGroups { + struct { + struct dom_sid *sid;/* [ref] */ + } in; + + struct { + struct wbint_SidArray *sids;/* [ref] */ + NTSTATUS result; + } out; + +}; + +#endif /* _HEADER_wbint */ diff --git a/source3/librpc/idl/wbint.idl b/source3/librpc/idl/wbint.idl new file mode 100644 index 0000000000..f994126711 --- /dev/null +++ b/source3/librpc/idl/wbint.idl @@ -0,0 +1,91 @@ +#include "idl_types.h" +import "lsa.idl"; + +[ + uuid("bf09192c-ed60-4928-9dff-d0d7bcb03ed8"), + endpoint("ncalrpc:"), + pointer_default(unique), + version(1.0), + helpstring("winbind parent-child protocol") +] +interface wbint +{ + void wbint_Ping( + [in] uint32 in_data, + [out] uint32 *out_data + ); + + NTSTATUS wbint_LookupSid( + [in] dom_sid *sid, + [out] lsa_SidType *type, + [out,string,charset(UTF8)] char **domain, + [out,string,charset(UTF8)] char **name + ); + + NTSTATUS wbint_LookupName( + [in,string,charset(UTF8)] char *domain, + [in,string,charset(UTF8)] char *name, + [in] uint32 flags, + [out] lsa_SidType *type, + [out] dom_sid *sid + ); + + NTSTATUS wbint_Sid2Uid( + [in,unique,string,charset(UTF8)] char *dom_name, + [in] dom_sid *sid, + [out] hyper *uid + ); + + NTSTATUS wbint_Sid2Gid( + [in,unique,string,charset(UTF8)] char *dom_name, + [in] dom_sid *sid, + [out] hyper *gid + ); + + NTSTATUS wbint_Uid2Sid( + [in,unique,string,charset(UTF8)] char *dom_name, + [in] hyper uid, + [out] dom_sid *sid + ); + + NTSTATUS wbint_Gid2Sid( + [in,unique,string,charset(UTF8)] char *dom_name, + [in] hyper gid, + [out] dom_sid *sid + ); + + typedef [public] struct { + [string,charset(UTF8)] char *acct_name; + [string,charset(UTF8)] char *full_name; + [string,charset(UTF8)] char *homedir; + [string,charset(UTF8)] char *shell; + hyper primary_gid; + dom_sid user_sid; + dom_sid group_sid; + } wbint_userinfo; + + NTSTATUS wbint_QueryUser( + [in] dom_sid *sid, + [out] wbint_userinfo *info + ); + + typedef [public] struct { + uint32 num_sids; + [size_is(num_sids)] dom_sid sids[]; + } wbint_SidArray; + + typedef [public] struct { + uint32 num_rids; + [size_is(num_rids)] uint32 rids[]; + } wbint_RidArray; + + NTSTATUS wbint_LookupUserAliases( + [in] wbint_SidArray *sids, + [out] wbint_RidArray *rids + ); + + NTSTATUS wbint_LookupUserGroups( + [in] dom_sid *sid, + [out] wbint_SidArray *sids + ); +}
\ No newline at end of file diff --git a/source3/libsmb/libsmb_context.c b/source3/libsmb/libsmb_context.c index 8b22ee5023..78c9a551a6 100644 --- a/source3/libsmb/libsmb_context.c +++ b/source3/libsmb/libsmb_context.c @@ -692,22 +692,28 @@ void smbc_set_credentials_with_fallback(SMBCCTX *context, { smbc_bool use_kerberos = false; const char *signing_state = "off"; - struct user_auth_info *auth_info = user_auth_info_init(NULL); + struct user_auth_info *auth_info = NULL; - if (auth_info) { + if (! context) { + + return; + } + + if (! workgroup || ! *workgroup) { + workgroup = smbc_getWorkgroup(context); } - if (! context || - ! workgroup || ! *workgroup || - ! user || ! *user || - ! password || ! *password) { + if (! user) { + user = smbc_getUser(context); + } - return; + if (! password) { + password = ""; } auth_info = user_auth_info_init(NULL); - if (auth_info) { + if (! auth_info) { DEBUG(0, ("smbc_set_credentials_with_fallback: allocation fail\n")); return; } diff --git a/source3/locale/net/de.po b/source3/locale/net/de.po new file mode 100644 index 0000000000..78b13534d7 --- /dev/null +++ b/source3/locale/net/de.po @@ -0,0 +1,4822 @@ +# net message translation (german). +# Copyright (C) 2009 Kai Blin <kai@samba.org> +# This file is distributed under the same license as the samba package. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: @PACKAGE@\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2009-08-06 20:51+0200\n" +"PO-Revision-Date: 2009-08-06 20:45+0200\n" +"Last-Translator: Kai Blin <kai@samba.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: ../../utils/net.c:103 +msgid "Enter machine password: " +msgstr "Bitte Maschinenpasswort eingeben: " + +#: ../../utils/net.c:107 +msgid "Unable to write the machine account password in the secrets database" +msgstr "" + +#: ../../utils/net.c:111 +msgid "Modified trust account password in secrets database\n" +msgstr "" + +#: ../../utils/net.c:115 +msgid "" +"Machine account password change requires the -f flag.\n" +"Do NOT use this function unless you know what it does!\n" +"This function will change the ADS Domain member machine account password in the secrets.tdb file!\n" +msgstr "" + +#: ../../utils/net.c:150 ../../utils/net.c:228 +#, c-format +msgid "Unable to open secrets.tdb. Can't fetch domain SID for name: %s\n" +msgstr "" + +#: ../../utils/net.c:163 ../../utils/net.c:251 +#, c-format +msgid "SID for domain %s is: %s\n" +msgstr "" + +#: ../../utils/net.c:175 +msgid "usage: net setlocalsid S-1-5-21-x-y-z\n" +msgstr "" + +#: ../../utils/net.c:195 +msgid "usage: net setdomainsid S-1-5-21-x-y-z\n" +msgstr "" + +#: ../../utils/net.c:213 +msgid "usage: net getdomainsid\n" +msgstr "" + +#: ../../utils/net.c:238 +msgid "Could not fetch local SID\n" +msgstr "" + +#: ../../utils/net.c:242 +#, c-format +msgid "SID for local machine %s is: %s\n" +msgstr "" + +#: ../../utils/net.c:246 +msgid "Could not fetch domain SID\n" +msgstr "" + +#: ../../utils/net.c:263 +#, c-format +msgid "get_maxrid: Could not search %s\n" +msgstr "" + +#: ../../utils/net.c:297 +msgid "usage: net maxrid\n" +msgstr "" + +#: ../../utils/net.c:302 +msgid "can't get current maximum rid\n" +msgstr "" + +#: ../../utils/net.c:306 +#, c-format +msgid "Currently used maximum rid: %d\n" +msgstr "" + +#: ../../utils/net.c:317 +msgid "Run functions using RPC transport" +msgstr "" + +#: ../../utils/net.c:318 +msgid " Use 'net help rpc' to get more extensive information about 'net rpc' commands." +msgstr "" + +#: ../../utils/net.c:325 +msgid "Run functions using RAP transport" +msgstr "" + +#: ../../utils/net.c:326 +msgid " Use 'net help rap' to get more extensive information about 'net rap' commands." +msgstr "" + +#: ../../utils/net.c:333 +msgid "Run functions using ADS transport" +msgstr "" + +#: ../../utils/net.c:334 +msgid " Use 'net help ads' to get more extensive information about 'net ads' commands." +msgstr "" + +#: ../../utils/net.c:343 +msgid "Functions on remote opened files" +msgstr "" + +#: ../../utils/net.c:344 +msgid " Use 'net help file' to get more information about 'net file' commands." +msgstr "" + +#: ../../utils/net.c:351 +msgid "Functions on shares" +msgstr "" + +#: ../../utils/net.c:352 +msgid " Use 'net help share' to get more information about 'net share' commands." +msgstr "" + +#: ../../utils/net.c:359 +msgid "Manage sessions" +msgstr "" + +#: ../../utils/net.c:360 +msgid " Use 'net help session' to get more information about 'net session' commands." +msgstr "" + +#: ../../utils/net.c:367 ../../utils/net_rap.c:1291 +msgid "List servers in workgroup" +msgstr "" + +#: ../../utils/net.c:368 +msgid " Use 'net help server' to get more information about 'net server' commands." +msgstr "" + +#: ../../utils/net.c:375 +msgid "List domains/workgroups on network" +msgstr "" + +#: ../../utils/net.c:376 +msgid " Use 'net help domain' to get more information about 'net domain' commands." +msgstr "" + +#: ../../utils/net.c:383 +msgid "Modify printer queue" +msgstr "" + +#: ../../utils/net.c:384 +msgid " Use 'net help printq' to get more information about 'net printq' commands." +msgstr "" + +#: ../../utils/net.c:391 +msgid "Manage users" +msgstr "" + +#: ../../utils/net.c:392 +msgid " Use 'net help user' to get more information about 'net user' commands." +msgstr "" + +#: ../../utils/net.c:399 +msgid "Manage groups" +msgstr "" + +#: ../../utils/net.c:400 +msgid " Use 'net help group' to get more information about 'net group' commands." +msgstr "" + +#: ../../utils/net.c:407 +msgid "Manage group mappings" +msgstr "" + +#: ../../utils/net.c:408 +msgid " Use 'net help groupmap' to get more information about 'net groupmap' commands." +msgstr "" + +#: ../../utils/net.c:415 +msgid "Functions on the SAM database" +msgstr "" + +#: ../../utils/net.c:416 +msgid " Use 'net help sam' to get more information about 'net sam' commands." +msgstr "" + +#: ../../utils/net.c:423 +msgid "Validate username and password" +msgstr "" + +#: ../../utils/net.c:424 +msgid " Use 'net help validate' to get more information about 'net validate' commands." +msgstr "" + +#: ../../utils/net.c:431 +msgid "Modify group memberships" +msgstr "" + +#: ../../utils/net.c:432 +msgid " Use 'net help groupmember' to get more information about 'net groupmember' commands." +msgstr "" + +#: ../../utils/net.c:438 +msgid "Execute remote command on a remote OS/2 server" +msgstr "" + +#: ../../utils/net.c:439 +msgid " Use 'net help admin' to get more information about 'net admin' commands." +msgstr "" + +#: ../../utils/net.c:445 +msgid "List/modify running services" +msgstr "" + +#: ../../utils/net.c:446 +msgid " Use 'net help service' to get more information about 'net service' commands." +msgstr "" + +#: ../../utils/net.c:453 +msgid "Change user password on target server" +msgstr "" + +#: ../../utils/net.c:454 +msgid " Use 'net help password' to get more information about 'net password' commands." +msgstr "" + +#: ../../utils/net.c:460 +msgid "Change the trust password" +msgstr "" + +#: ../../utils/net.c:461 +msgid " Use 'net help changetrustpw' to get more information about 'net changetrustpw'." +msgstr "" + +#: ../../utils/net.c:467 +msgid "Change the secret password" +msgstr "" + +#: ../../utils/net.c:468 +msgid "" +" net [options] changesecretpw\n" +" Change the ADS domain member machine account password in secrets.tdb.\n" +" Do NOT use this function unless you know what it does.\n" +" Requires the -f flag to work." +msgstr "" + +#: ../../utils/net.c:477 +msgid "Show/set time" +msgstr "" + +#: ../../utils/net.c:478 +msgid " Use 'net help time' to get more information about 'net time' commands." +msgstr "" + +#: ../../utils/net.c:484 +msgid "Look up host names/IP addresses" +msgstr "" + +#: ../../utils/net.c:485 +msgid " Use 'net help lookup' to get more information about 'net lookup' commands." +msgstr "" + +#: ../../utils/net.c:491 +msgid "Join a domain/AD" +msgstr "" + +#: ../../utils/net.c:492 +msgid " Use 'net help join' to get more information about 'net join'." +msgstr "" + +#: ../../utils/net.c:498 +msgid "Join/unjoin (remote) machines to/from a domain/AD" +msgstr "" + +#: ../../utils/net.c:499 +msgid " Use 'net help dom' to get more information about 'net dom' commands." +msgstr "" + +#: ../../utils/net.c:505 +msgid "Operate on the cache tdb file" +msgstr "" + +#: ../../utils/net.c:506 +msgid " Use 'net help cache' to get more information about 'net cache' commands." +msgstr "" + +#: ../../utils/net.c:512 +msgid "Get the SID for the local domain" +msgstr "" + +#: ../../utils/net.c:513 +msgid " net getlocalsid" +msgstr "" + +#: ../../utils/net.c:518 +msgid "Set the SID for the local domain" +msgstr "" + +#: ../../utils/net.c:519 +msgid " net setlocalsid S-1-5-21-x-y-z" +msgstr "" + +#: ../../utils/net.c:524 +msgid "Set domain SID on member servers" +msgstr "" + +#: ../../utils/net.c:525 +msgid " net setdomainsid S-1-5-21-x-y-z" +msgstr "" + +#: ../../utils/net.c:530 +msgid "Get domain SID on member servers" +msgstr "" + +#: ../../utils/net.c:531 +msgid " net getdomainsid" +msgstr "" + +#: ../../utils/net.c:536 +msgid "Display the maximul RID currently used" +msgstr "" + +#: ../../utils/net.c:537 +msgid " net maxrid" +msgstr "" + +#: ../../utils/net.c:542 +msgid "IDmap functions" +msgstr "" + +#: ../../utils/net.c:543 +msgid " Use 'net help idmap to get more information about 'net idmap' commands." +msgstr "" + +#: ../../utils/net.c:549 +msgid "Display server status" +msgstr "" + +#: ../../utils/net.c:550 +msgid " Use 'net help status' to get more information about 'net status' commands." +msgstr "" + +#: ../../utils/net.c:556 +msgid "Manage user-modifiable shares" +msgstr "" + +#: ../../utils/net.c:557 +msgid " Use 'net help usershare to get more information about 'net usershare' commands." +msgstr "" + +#: ../../utils/net.c:563 +msgid "Display list of all users with SID" +msgstr "" + +#: ../../utils/net.c:564 +msgid " Use 'net help usersidlist' to get more information about 'net usersidlist'." +msgstr "" + +#: ../../utils/net.c:570 +msgid "Manage Samba registry based configuration" +msgstr "" + +#: ../../utils/net.c:571 +msgid " Use 'net help conf' to get more information about 'net conf' commands." +msgstr "" + +#: ../../utils/net.c:577 +msgid "Manage the Samba registry" +msgstr "" + +#: ../../utils/net.c:578 +msgid " Use 'net help registry' to get more information about 'net registry' commands." +msgstr "" + +#: ../../utils/net.c:584 +msgid "Open a lua interpreter" +msgstr "" + +#: ../../utils/net.c:585 +msgid " Use 'net help lua' to get more information about 'net lua' commands." +msgstr "" + +#: ../../utils/net.c:591 +msgid "Process Win32 *.evt eventlog files" +msgstr "" + +#: ../../utils/net.c:592 +msgid " Use 'net help eventlog' to get more information about 'net eventlog' commands." +msgstr "" + +#: ../../utils/net.c:600 +msgid "Manage AFS tokens" +msgstr "" + +#: ../../utils/net.c:601 +msgid " Use 'net help afs' to get more information about 'net afs' commands." +msgstr "" + +#: ../../utils/net.c:609 +msgid "Print usage information" +msgstr "" + +#: ../../utils/net.c:610 +msgid " Use 'net help help' to list usage information for 'net' commands." +msgstr "" + +#: ../../utils/net.c:639 +msgid "Encrypt SMB transport (UNIX extended servers only)" +msgstr "" + +#: ../../utils/net.c:703 +msgid "" +"\n" +"Invalid ip address specified\n" +msgstr "" + +#: ../../utils/net.c:718 +#, c-format +msgid "" +"\n" +"Invalid option %s: %s\n" +msgstr "" +"\n" +"Ungültige Option %s: %s\n" + +#: ../../utils/net_ads.c:52 ../../utils/net_ads.c:392 +msgid "CLDAP query failed!\n" +msgstr "" + +#: ../../utils/net_ads.c:56 +#, c-format +msgid "" +"Information for Domain Controller: %s\n" +"\n" +msgstr "" + +#: ../../utils/net_ads.c:59 +msgid "Response Type: " +msgstr "" + +#: ../../utils/net_ads.c:72 +#, c-format +msgid "GUID: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:74 +#, c-format +msgid "" +"Flags:\n" +"\tIs a PDC: %s\n" +"\tIs a GC of the forest: %s\n" +"\tIs an LDAP server: %s\n" +"\tSupports DS: %s\n" +"\tIs running a KDC: %s\n" +"\tIs running time services: %s\n" +"\tIs the closest DC: %s\n" +"\tIs writable: %s\n" +"\tHas a hardware clock: %s\n" +"\tIs a non-domain NC serviced by LDAP server: %s\n" +"\tIs NT6 DC that has some secrets: %s\n" +"\tIs NT6 DC that has all secrets: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:87 ../../utils/net_ads.c:88 ../../utils/net_ads.c:89 ../../utils/net_ads.c:90 ../../utils/net_ads.c:91 ../../utils/net_ads.c:92 ../../utils/net_ads.c:93 ../../utils/net_ads.c:94 ../../utils/net_ads.c:95 ../../utils/net_ads.c:96 +#: ../../utils/net_ads.c:97 ../../utils/net_ads.c:98 ../../utils/net_rap.c:376 +msgid "yes" +msgstr "" + +#: ../../utils/net_ads.c:87 ../../utils/net_ads.c:88 ../../utils/net_ads.c:89 ../../utils/net_ads.c:90 ../../utils/net_ads.c:91 ../../utils/net_ads.c:92 ../../utils/net_ads.c:93 ../../utils/net_ads.c:94 ../../utils/net_ads.c:95 ../../utils/net_ads.c:96 +#: ../../utils/net_ads.c:97 ../../utils/net_ads.c:98 ../../utils/net_rap.c:376 +msgid "no" +msgstr "" + +#: ../../utils/net_ads.c:101 +#, c-format +msgid "Forest:\t\t\t%s\n" +msgstr "" + +#: ../../utils/net_ads.c:102 +#, c-format +msgid "Domain:\t\t\t%s\n" +msgstr "" + +#: ../../utils/net_ads.c:103 +#, c-format +msgid "Domain Controller:\t%s\n" +msgstr "" + +#: ../../utils/net_ads.c:105 +#, c-format +msgid "Pre-Win2k Domain:\t%s\n" +msgstr "" + +#: ../../utils/net_ads.c:106 +#, c-format +msgid "Pre-Win2k Hostname:\t%s\n" +msgstr "" + +#: ../../utils/net_ads.c:108 +#, c-format +msgid "User name:\t%s\n" +msgstr "" + +#: ../../utils/net_ads.c:110 +#, c-format +msgid "Server Site Name :\t\t%s\n" +msgstr "" + +#: ../../utils/net_ads.c:111 +#, c-format +msgid "Client Site Name :\t\t%s\n" +msgstr "" + +#: ../../utils/net_ads.c:113 +#, c-format +msgid "NT Version: %d\n" +msgstr "" + +#: ../../utils/net_ads.c:114 +#, c-format +msgid "LMNT Token: %.2x\n" +msgstr "" + +#: ../../utils/net_ads.c:115 +#, c-format +msgid "LM20 Token: %.2x\n" +msgstr "" + +#: ../../utils/net_ads.c:130 +msgid "" +"Usage:\n" +"net ads lookup\n" +" Find the ADS DC using CLDAP lookup.\n" +msgstr "" + +#: ../../utils/net_ads.c:137 ../../utils/net_ads.c:381 +msgid "Didn't find the cldap server!\n" +msgstr "" + +#: ../../utils/net_ads.c:160 +msgid "" +"Usage:\n" +"net ads info\n" +" Display information about an Active Directory server.\n" +msgstr "" + +#: ../../utils/net_ads.c:168 ../../utils/net_ads.c:173 +msgid "Didn't find the ldap server!\n" +msgstr "" + +#: ../../utils/net_ads.c:182 +msgid "Failed to get server's current time!\n" +msgstr "" + +#: ../../utils/net_ads.c:187 +#, c-format +msgid "LDAP server: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:188 +#, c-format +msgid "LDAP server name: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:189 +#, c-format +msgid "Realm: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:190 +#, c-format +msgid "Bind Path: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:191 +#, c-format +msgid "LDAP port: %d\n" +msgstr "" + +#: ../../utils/net_ads.c:192 +#, c-format +msgid "Server time: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:195 +#, c-format +msgid "KDC server: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:196 +#, c-format +msgid "Server time offset: %d\n" +msgstr "" + +#: ../../utils/net_ads.c:374 +msgid "" +"Usage:\n" +"net ads workgroup\n" +" Print the workgroup name\n" +msgstr "" + +#: ../../utils/net_ads.c:397 +#, c-format +msgid "Workgroup: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:458 +#, c-format +msgid "ads_user_add: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:463 +#, c-format +msgid "ads_user_add: User %s already exists\n" +msgstr "" + +#: ../../utils/net_ads.c:477 +#, c-format +msgid "Could not add user %s: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:484 ../../utils/net_ads.c:497 +#, c-format +msgid "User %s added\n" +msgstr "" + +#. password didn't set, delete account +#: ../../utils/net_ads.c:503 +#, c-format +msgid "Could not add user %s. Error setting password %s\n" +msgstr "" + +#: ../../utils/net_ads.c:551 +#, c-format +msgid "ads_user_info: failed to escape user %s\n" +msgstr "" + +#: ../../utils/net_ads.c:569 +#, c-format +msgid "ads_search: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:575 +msgid "ads_pull_uint32 failed\n" +msgstr "" + +#: ../../utils/net_ads.c:582 +#, c-format +msgid "ads_domain_sid: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:642 +#, c-format +msgid "User %s does not exist.\n" +msgstr "" + +#: ../../utils/net_ads.c:652 +#, c-format +msgid "User %s deleted\n" +msgstr "" + +#: ../../utils/net_ads.c:656 +#, c-format +msgid "Error deleting user %s: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:669 +msgid "Add an AD user" +msgstr "" + +#: ../../utils/net_ads.c:670 +msgid "" +"net ads user add\n" +" Add an AD user" +msgstr "" + +#: ../../utils/net_ads.c:677 +msgid "Display information about an AD user" +msgstr "" + +#: ../../utils/net_ads.c:678 +msgid "" +"net ads user info\n" +" Display information about an AD user" +msgstr "" + +#: ../../utils/net_ads.c:685 +msgid "Delete an AD user" +msgstr "" + +#: ../../utils/net_ads.c:686 +msgid "" +"net ads user delete\n" +" Delete an AD user" +msgstr "" + +#: ../../utils/net_ads.c:699 +msgid "" +"Usage:\n" +"net ads user\n" +" List AD users\n" +msgstr "" + +#: ../../utils/net_ads.c:711 ../../utils/net_rap.c:901 ../../utils/net_rpc.c:852 +msgid "" +"\n" +"User name Comment\n" +"-----------------------------\n" +msgstr "" + +#: ../../utils/net_ads.c:751 +#, c-format +msgid "ads_group_add: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:756 +#, c-format +msgid "ads_group_add: Group %s already exists\n" +msgstr "" + +#: ../../utils/net_ads.c:769 +#, c-format +msgid "Group %s added\n" +msgstr "" + +#: ../../utils/net_ads.c:772 +#, c-format +msgid "Could not add group %s: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:801 +#, c-format +msgid "Group %s does not exist.\n" +msgstr "" + +#: ../../utils/net_ads.c:811 +#, c-format +msgid "Group %s deleted\n" +msgstr "" + +#: ../../utils/net_ads.c:815 +#, c-format +msgid "Error deleting group %s: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:828 +msgid "Add an AD group" +msgstr "" + +#: ../../utils/net_ads.c:829 +msgid "" +"net ads group add\n" +" Add an AD group" +msgstr "" + +#: ../../utils/net_ads.c:836 +msgid "Delete an AD group" +msgstr "" + +#: ../../utils/net_ads.c:837 +msgid "" +"net ads group delete\n" +" Delete an AD group" +msgstr "" + +#: ../../utils/net_ads.c:850 +msgid "" +"Usage:\n" +"net ads group\n" +" List AD groups\n" +msgstr "" + +#: ../../utils/net_ads.c:862 ../../utils/net_rpc.c:2230 +msgid "" +"\n" +"Group name Comment\n" +"-----------------------------\n" +msgstr "" + +#: ../../utils/net_ads.c:884 +msgid "" +"Usage:\n" +"net ads status\n" +" Display machine account details\n" +msgstr "" + +#: ../../utils/net_ads.c:896 +#, c-format +msgid "ads_find_machine_acct: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:902 +#, c-format +msgid "No machine account for '%s' found\n" +msgstr "" + +#: ../../utils/net_ads.c:926 +msgid "" +"Usage:\n" +"net ads leave\n" +" Leave an AD domain\n" +msgstr "" + +#: ../../utils/net_ads.c:933 +msgid "No realm set, are we joined ?\n" +msgstr "" + +#: ../../utils/net_ads.c:938 ../../utils/net_ads.c:1260 +msgid "Could not initialise talloc context.\n" +msgstr "" + +#: ../../utils/net_ads.c:948 +msgid "Could not initialise unjoin context.\n" +msgstr "" + +#: ../../utils/net_ads.c:968 +#, c-format +msgid "Failed to leave domain: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:975 +#, c-format +msgid "Deleted account for '%s' in realm '%s'\n" +msgstr "" + +#: ../../utils/net_ads.c:982 +#, c-format +msgid "Disabled account for '%s' in realm '%s'\n" +msgstr "" + +#. Based on what we requseted, we shouldn't get here, but if +#. we did, it means the secrets were removed, and therefore +#. we have left the domain +#: ../../utils/net_ads.c:991 +#, c-format +msgid "Machine '%s' Left domain '%s'\n" +msgstr "" + +#: ../../utils/net_ads.c:1035 +msgid "" +"Usage:\n" +"net ads testjoin\n" +" Test if the existing join is ok\n" +msgstr "" + +#: ../../utils/net_ads.c:1044 +#, c-format +msgid "Join to domain is not valid: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:1049 +#, c-format +msgid "Join is OK\n" +msgstr "" + +#: ../../utils/net_ads.c:1060 +msgid "Host is not configured as a member server.\n" +msgstr "" + +#: ../../utils/net_ads.c:1065 ../../utils/net_rpc.c:436 +#, c-format +msgid "Our netbios name can be at most 15 chars long, \"%s\" is %u chars long\n" +msgstr "" + +#: ../../utils/net_ads.c:1072 +#, c-format +msgid "realm must be set in in %s for ADS join to succeed.\n" +msgstr "" + +#: ../../utils/net_ads.c:1105 +#, c-format +msgid "No DNS domain configured for %s. Unable to perform DNS Update.\n" +msgstr "" + +#: ../../utils/net_ads.c:1212 +msgid "" +"net ads join [options]\n" +"Valid options:\n" +msgstr "" + +#: ../../utils/net_ads.c:1214 +msgid "" +" createupn[=UPN] Set the userPrincipalName attribute during the join.\n" +" The deault UPN is in the form host/netbiosname@REALM.\n" +msgstr "" + +#: ../../utils/net_ads.c:1216 +msgid "" +" createcomputer=OU Precreate the computer account in a specific OU.\n" +" The OU string read from top to bottom without RDNs and delimited by a '/'.\n" +" E.g. \"createcomputer=Computers/Servers/Unix\"\n" +" NB: A backslash '\\' is used as escape at multiple levels and may\n" +" need to be doubled or even quadrupled. It is not used as a separator.\n" +msgstr "" + +#: ../../utils/net_ads.c:1221 +msgid " osName=string Set the operatingSystem attribute during the join.\n" +msgstr "" + +#: ../../utils/net_ads.c:1222 +msgid "" +" osVer=string Set the operatingSystemVersion attribute during the join.\n" +" NB: osName and osVer must be specified together for either to take effect.\n" +" Also, the operatingSystemService attribute is also set when along with\n" +" the two other attributes.\n" +msgstr "" + +#: ../../utils/net_ads.c:1254 +msgid "Invalid configuration. Exiting....\n" +msgstr "" + +#: ../../utils/net_ads.c:1283 +msgid "Please supply a valid OU path.\n" +msgstr "" + +#: ../../utils/net_ads.c:1290 +msgid "Please supply a operating system name.\n" +msgstr "" + +#: ../../utils/net_ads.c:1297 +msgid "Please supply a valid operating system version.\n" +msgstr "" + +#: ../../utils/net_ads.c:1308 +msgid "Please supply a valid domain name\n" +msgstr "" + +#: ../../utils/net_ads.c:1339 +#, c-format +msgid "" +"The workgroup in %s does not match the short\n" +"domain name obtained from the server.\n" +"Using the name [%s] from the server.\n" +"You should set \"workgroup = %s\" in %s.\n" +msgstr "" + +#: ../../utils/net_ads.c:1347 +#, c-format +msgid "Using short domain name -- %s\n" +msgstr "" + +#: ../../utils/net_ads.c:1350 +#, c-format +msgid "Joined '%s' to realm '%s'\n" +msgstr "" + +#: ../../utils/net_ads.c:1353 +#, c-format +msgid "Joined '%s' to domain '%s'\n" +msgstr "" + +#: ../../utils/net_ads.c:1377 ../../utils/net_ads.c:1433 +msgid "DNS update failed!\n" +msgstr "" + +#. issue an overall failure message at the end. +#: ../../utils/net_ads.c:1391 ../../utils/net_dom.c:198 +#, c-format +msgid "Failed to join domain: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:1414 +msgid "" +"Usage:\n" +"net ads dns register\n" +" Register hostname with DNS\n" +msgstr "" + +#: ../../utils/net_ads.c:1421 +msgid "Could not initialise talloc context\n" +msgstr "" + +#: ../../utils/net_ads.c:1439 +msgid "Successfully registered hostname with DNS\n" +msgstr "" + +#: ../../utils/net_ads.c:1447 +msgid "DNS update support not enabled at compile time!\n" +msgstr "" + +#: ../../utils/net_ads.c:1466 +msgid "" +"Usage:\n" +"net ads dns gethostbyname <server> <name>\n" +" Look up hostname from the AD\n" +" server\tName server to use\n" +" name\tName to look up\n" +msgstr "" + +#: ../../utils/net_ads.c:1476 +#, c-format +msgid "do_gethostbyname returned %d\n" +msgstr "" + +#: ../../utils/net_ads.c:1488 +msgid "Add host dns entry to AD" +msgstr "" + +#: ../../utils/net_ads.c:1489 +msgid "" +"net ads dns register\n" +" Add host dns entry to AD" +msgstr "" + +#: ../../utils/net_ads.c:1496 +msgid "Look up host" +msgstr "" + +#: ../../utils/net_ads.c:1497 +msgid "" +"net ads dns gethostbyname\n" +" Look up host" +msgstr "" + +#: ../../utils/net_ads.c:1512 +msgid "" +"\n" +"net ads printer search <printer>\n" +"\tsearch for a printer in the directory\n" +"\n" +"net ads printer info <printer> <server>\n" +"\tlookup info in directory for printer on server\n" +"\t(note: printer defaults to \"*\", server defaults to local)\n" +"\n" +"net ads printer publish <printername>\n" +"\tpublish printer in directory\n" +"\t(note: printer name is required)\n" +"\n" +"net ads printer remove <printername>\n" +"\tremove printer from directory\n" +"\t(note: printer name is required)\n" +msgstr "" + +#: ../../utils/net_ads.c:1536 +msgid "" +"Usage:\n" +"net ads printer search\n" +" List printers in the AD\n" +msgstr "" + +#: ../../utils/net_ads.c:1549 +#, c-format +msgid "ads_find_printer: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:1556 +msgid "No results found\n" +msgstr "" + +#: ../../utils/net_ads.c:1576 +msgid "" +"Usage:\n" +"net ads printer info [printername [servername]]\n" +" Display printer info from AD\n" +" printername\tPrinter name or wildcard\n" +" servername\tName of the print server\n" +msgstr "" + +#: ../../utils/net_ads.c:1603 +#, c-format +msgid "Server '%s' not found: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:1611 ../../utils/net_ads.c:1794 +#, c-format +msgid "Printer '%s' not found\n" +msgstr "" + +#: ../../utils/net_ads.c:1640 +msgid "" +"Usage:\n" +"net ads printer publish <printername> [servername]\n" +" Publish printer in AD\n" +" printername\tName of the printer\n" +" servername\tName of the print server\n" +msgstr "" + +#: ../../utils/net_ads.c:1675 +#, c-format +msgid "Unable to open a connnection to %s to obtain data for %s\n" +msgstr "" + +#: ../../utils/net_ads.c:1688 +#, c-format +msgid "Could not find machine account for server %s\n" +msgstr "" + +#: ../../utils/net_ads.c:1704 ../../utils/net_ads.c:1713 +msgid "Internal error, out of memory!" +msgstr "" + +#: ../../utils/net_ads.c:1724 +#, c-format +msgid "Unable to open a connnection to the spoolss pipe on %s\n" +msgstr "" + +#: ../../utils/net_ads.c:1766 +msgid "" +"Usage:\n" +"net ads printer remove <printername> [servername]\n" +" Remove a printer from the AD\n" +" printername\tName of the printer\n" +" servername\tName of the print server\n" +msgstr "" + +#: ../../utils/net_ads.c:1787 +#, c-format +msgid "ads_find_printer_on_server: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:1806 +#, c-format +msgid "ads_del_dn: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:1822 +msgid "Search for a printer" +msgstr "" + +#: ../../utils/net_ads.c:1823 +msgid "" +"net ads printer search\n" +" Search for a printer" +msgstr "" + +#: ../../utils/net_ads.c:1830 +msgid "Display printer information" +msgstr "" + +#: ../../utils/net_ads.c:1831 +msgid "" +"net ads printer info\n" +" Display printer information" +msgstr "" + +#: ../../utils/net_ads.c:1838 +msgid "Publish a printer" +msgstr "" + +#: ../../utils/net_ads.c:1839 +msgid "" +"net ads printer publish\n" +" Publish a printer" +msgstr "" + +#: ../../utils/net_ads.c:1846 +msgid "Delete a printer" +msgstr "" + +#: ../../utils/net_ads.c:1847 +msgid "" +"net ads printer remove\n" +" Delete a printer" +msgstr "" + +#: ../../utils/net_ads.c:1869 +msgid "" +"Usage:\n" +"net ads password <username>\n" +" Change password for user\n" +" username\tName of user to change password for\n" +msgstr "" + +#: ../../utils/net_ads.c:1877 +msgid "You must supply an administrator username/password\n" +msgstr "" + +#: ../../utils/net_ads.c:1883 +msgid "ERROR: You must say which username to change password for\n" +msgstr "" + +#: ../../utils/net_ads.c:1915 +msgid "Didn't find the kerberos server!\n" +msgstr "" + +#: ../../utils/net_ads.c:1923 ../../utils/net_rpc.c:756 +#, fuzzy, c-format +msgid "Enter new password for %s:" +msgstr "Bitte Maschinenpasswort eingeben: " + +#: ../../utils/net_ads.c:1933 ../../utils/net_ads.c:1982 +#, c-format +msgid "Password change failed: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:1938 +#, c-format +msgid "Password change for %s completed.\n" +msgstr "" + +#: ../../utils/net_ads.c:1952 +msgid "" +"Usage:\n" +"net ads changetrustpw\n" +" Change the machine account's trust password\n" +msgstr "" + +#: ../../utils/net_ads.c:1977 +#, c-format +msgid "Changing password for principal: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:1988 +#, c-format +msgid "Password change for principal %s succeeded.\n" +msgstr "" + +#: ../../utils/net_ads.c:1991 +msgid "Attempting to update system keytab with new password.\n" +msgstr "" + +#: ../../utils/net_ads.c:1993 +msgid "Failed to update system keytab.\n" +msgstr "" + +#: ../../utils/net_ads.c:2009 +msgid "" +"\n" +"net ads search <expression> <attributes...>\n" +"\n" +"Perform a raw LDAP search on a ADS server and dump the results.\n" +"The expression is a standard LDAP search expression, and the\n" +"attributes are a list of LDAP fields to show in the results.\n" +"\n" +"Example: net ads search '(objectCategory=group)' sAMAccountName\n" +"\n" +msgstr "" + +#: ../../utils/net_ads.c:2046 ../../utils/net_ads.c:2107 ../../utils/net_ads.c:2171 ../../utils/net_ads_gpo.c:250 +#, c-format +msgid "search failed: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:2051 ../../utils/net_ads.c:2176 ../../utils/net_ads_gpo.c:256 +#, c-format +msgid "" +"Got %d replies\n" +"\n" +msgstr "" + +#: ../../utils/net_ads.c:2069 +msgid "" +"\n" +"net ads dn <dn> <attributes...>\n" +"\n" +"perform a raw LDAP search on a ADS server and dump the results\n" +"The DN standard LDAP DN, and the attributes are a list of LDAP fields \n" +"to show in the results\n" +"\n" +"Example: net ads dn 'CN=administrator,CN=Users,DC=my,DC=domain' sAMAccountName\n" +"\n" +"Note: the DN must be provided properly escaped. See RFC 4514 for details\n" +"\n" +msgstr "" + +#: ../../utils/net_ads.c:2129 +msgid "" +"\n" +"net ads sid <sid> <attributes...>\n" +"\n" +"perform a raw LDAP search on a ADS server and dump the results\n" +"The SID is in string format, and the attributes are a list of LDAP fields \n" +"to show in the results\n" +"\n" +"Example: net ads sid 'S-1-5-32' distinguishedName\n" +"\n" +msgstr "" + +#: ../../utils/net_ads.c:2164 +msgid "could not convert sid\n" +msgstr "" + +#: ../../utils/net_ads.c:2193 +msgid "" +"Usage:\n" +"net ads keytab flush\n" +" Delete the whole keytab\n" +msgstr "" + +#: ../../utils/net_ads.c:2214 +msgid "" +"Usage:\n" +"net ads keytab add <principal> [principal ...]\n" +" Add principals to local keytab\n" +" principal\tKerberos principal to add to keytab\n" +msgstr "" + +#: ../../utils/net_ads.c:2222 +msgid "Processing principals to add...\n" +msgstr "" + +#: ../../utils/net_ads.c:2239 +msgid "" +"Usage:\n" +"net ads keytab create\n" +" Create new default keytab\n" +msgstr "" + +#: ../../utils/net_ads.c:2258 +msgid "" +"Usage:\n" +"net ads keytab list [keytab]\n" +" List a local keytab\n" +" keytab\tKeytab to list\n" +msgstr "" + +#: ../../utils/net_ads.c:2280 +msgid "Add a service principal" +msgstr "" + +#: ../../utils/net_ads.c:2281 +msgid "" +"net ads keytab add\n" +" Add a service principal" +msgstr "" + +#: ../../utils/net_ads.c:2288 +msgid "Create a fresh keytab" +msgstr "" + +#: ../../utils/net_ads.c:2289 +msgid "" +"net ads keytab create\n" +" Create a fresh keytab" +msgstr "" + +#: ../../utils/net_ads.c:2296 +msgid "Remove all keytab entries" +msgstr "" + +#: ../../utils/net_ads.c:2297 +msgid "" +"net ads keytab flush\n" +" Remove all keytab entries" +msgstr "" + +#: ../../utils/net_ads.c:2304 +msgid "List a keytab" +msgstr "" + +#: ../../utils/net_ads.c:2305 +msgid "" +"net ads keytab list\n" +" List a keytab" +msgstr "" + +#: ../../utils/net_ads.c:2312 +msgid "" +"\n" +"Warning: \"kerberos method\" must be set to a keytab method to use keytab functions.\n" +msgstr "" + +#: ../../utils/net_ads.c:2324 +msgid "" +"Usage:\n" +"net ads kerberos renew\n" +" Renew TGT from existing credential cache\n" +msgstr "" + +#: ../../utils/net_ads.c:2332 +#, c-format +msgid "failed to renew kerberos ticket: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:2347 +msgid "" +"Usage:\n" +"net ads kerberos pac\n" +" Dump the Kerberos PAC\n" +msgstr "" + +#: ../../utils/net_ads.c:2372 +#, c-format +msgid "failed to query kerberos PAC: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:2381 +#, c-format +msgid "The Pac: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:2397 +msgid "" +"Usage:\n" +"net ads kerberos kinit\n" +" Get Ticket Granting Ticket (TGT) for the user\n" +msgstr "" + +#: ../../utils/net_ads.c:2421 +#, c-format +msgid "failed to kinit password: %s\n" +msgstr "" + +#: ../../utils/net_ads.c:2435 +msgid "Retrieve Ticket Granting Ticket (TGT)" +msgstr "" + +#: ../../utils/net_ads.c:2436 +msgid "" +"net ads kerberos kinit\n" +" Receive Ticket Granting Ticket (TGT)" +msgstr "" + +#: ../../utils/net_ads.c:2443 +msgid "Renew Ticket Granting Ticket from credential cache" +msgstr "" + +#: ../../utils/net_ads.c:2444 +msgid "" +"net ads kerberos renew\n" +" Renew Ticket Granting Ticket (TGT) from credential cache" +msgstr "" + +#: ../../utils/net_ads.c:2452 +msgid "Dump Kerberos PAC" +msgstr "" + +#: ../../utils/net_ads.c:2453 +msgid "" +"net ads kerberos pac\n" +" Dump Kerberos PAC" +msgstr "" + +#: ../../utils/net_ads.c:2469 +msgid "Display details on remote ADS server" +msgstr "" + +#: ../../utils/net_ads.c:2470 +msgid "" +"net ads info\n" +" Display details on remote ADS server" +msgstr "" + +#: ../../utils/net_ads.c:2477 +msgid "Join the local machine to ADS realm" +msgstr "" + +#: ../../utils/net_ads.c:2478 +msgid "" +"net ads join\n" +" Join the local machine to ADS realm" +msgstr "" + +#: ../../utils/net_ads.c:2485 +msgid "Validate machine account" +msgstr "" + +#: ../../utils/net_ads.c:2486 +msgid "" +"net ads testjoin\n" +" Validate machine account" +msgstr "" + +#: ../../utils/net_ads.c:2493 +msgid "Remove the local machine from ADS" +msgstr "" + +#: ../../utils/net_ads.c:2494 +msgid "" +"net ads leave\n" +" Remove the local machine from ADS" +msgstr "" + +#: ../../utils/net_ads.c:2501 +msgid "Display machine account details" +msgstr "" + +#: ../../utils/net_ads.c:2502 +msgid "" +"net ads status\n" +" Display machine account details" +msgstr "" + +#: ../../utils/net_ads.c:2509 +msgid "List/modify users" +msgstr "" + +#: ../../utils/net_ads.c:2510 +msgid "" +"net ads user\n" +" List/modify users" +msgstr "" + +#: ../../utils/net_ads.c:2517 +msgid "List/modify groups" +msgstr "" + +#: ../../utils/net_ads.c:2518 +msgid "" +"net ads group\n" +" List/modify groups" +msgstr "" + +#: ../../utils/net_ads.c:2525 +msgid "Issue dynamic DNS update" +msgstr "" + +#: ../../utils/net_ads.c:2526 +msgid "" +"net ads dns\n" +" Issue dynamic DNS update" +msgstr "" + +#: ../../utils/net_ads.c:2533 +msgid "Change user passwords" +msgstr "" + +#: ../../utils/net_ads.c:2534 +msgid "" +"net ads password\n" +" Change user passwords" +msgstr "" + +#: ../../utils/net_ads.c:2541 +#, fuzzy +msgid "Change trust account password" +msgstr "Bitte Maschinenpasswort eingeben: " + +#: ../../utils/net_ads.c:2542 +msgid "" +"net ads changetrustpw\n" +" Change trust account password" +msgstr "" + +#: ../../utils/net_ads.c:2549 +msgid "List/modify printer entries" +msgstr "" + +#: ../../utils/net_ads.c:2550 +msgid "" +"net ads printer\n" +" List/modify printer entries" +msgstr "" + +#: ../../utils/net_ads.c:2557 +msgid "Issue LDAP search using filter" +msgstr "" + +#: ../../utils/net_ads.c:2558 +msgid "" +"net ads search\n" +" Issue LDAP search using filter" +msgstr "" + +#: ../../utils/net_ads.c:2565 +msgid "Issue LDAP search by DN" +msgstr "" + +#: ../../utils/net_ads.c:2566 +msgid "" +"net ads dn\n" +" Issue LDAP search by DN" +msgstr "" + +#: ../../utils/net_ads.c:2573 +msgid "Issue LDAP search by SID" +msgstr "" + +#: ../../utils/net_ads.c:2574 +msgid "" +"net ads sid\n" +" Issue LDAP search by SID" +msgstr "" + +#: ../../utils/net_ads.c:2581 +msgid "Display workgroup name" +msgstr "" + +#: ../../utils/net_ads.c:2582 +msgid "" +"net ads workgroup\n" +" Display the workgroup name" +msgstr "" + +#: ../../utils/net_ads.c:2589 +msgid "Perfom CLDAP query on DC" +msgstr "" + +#: ../../utils/net_ads.c:2590 +msgid "" +"net ads lookup\n" +" Find the ADS DC using CLDAP lookups" +msgstr "" + +#: ../../utils/net_ads.c:2597 +msgid "Manage local keytab file" +msgstr "" + +#: ../../utils/net_ads.c:2598 +msgid "" +"net ads keytab\n" +" Manage local keytab file" +msgstr "" + +#: ../../utils/net_ads.c:2605 +msgid "Manage group policy objects" +msgstr "" + +#: ../../utils/net_ads.c:2606 +msgid "" +"net ads gpo\n" +" Manage group policy objects" +msgstr "" + +#: ../../utils/net_ads.c:2613 +msgid "Manage kerberos keytab" +msgstr "" + +#: ../../utils/net_ads.c:2614 +msgid "" +"net ads kerberos\n" +" Manage kerberos keytab" +msgstr "" + +#: ../../utils/net_ads.c:2627 +msgid "ADS support not compiled in\n" +msgstr "" + +#: ../../utils/net_ads_gpo.c:40 +msgid "" +"Usage:\n" +"net ads gpo refresh <username|machinename>\n" +" Lists all GPOs assigned to an account and downloads them\n" +" username\tUser to refresh GPOs for\n" +" machinename\tMachine to refresh GPOs for\n" +msgstr "" + +#: ../../utils/net_ads_gpo.c:56 +#, c-format +msgid "failed to connect AD server: %s\n" +msgstr "" + +#: ../../utils/net_ads_gpo.c:62 +#, c-format +msgid "failed to find samaccount for %s\n" +msgstr "" + +#: ../../utils/net_ads_gpo.c:70 +#, c-format +msgid "" +"\n" +"%s: '%s' has dn: '%s'\n" +"\n" +msgstr "" + +#: ../../utils/net_ads_gpo.c:71 ../../utils/net_ads_gpo.c:328 +msgid "machine" +msgstr "" + +#: ../../utils/net_ads_gpo.c:71 ../../utils/net_ads_gpo.c:328 +msgid "user" +msgstr "" + +#: ../../utils/net_ads_gpo.c:74 +msgid "* fetching token " +msgstr "" + +#: ../../utils/net_ads_gpo.c:82 ../../utils/net_ads_gpo.c:90 ../../utils/net_ads_gpo.c:102 ../../utils/net_ads_gpo.c:113 ../../utils/net_ads_gpo.c:158 +#, c-format +msgid "failed: %s\n" +msgstr "" + +#: ../../utils/net_ads_gpo.c:85 ../../utils/net_ads_gpo.c:94 ../../utils/net_ads_gpo.c:105 ../../utils/net_ads_gpo.c:118 ../../utils/net_ads_gpo.c:163 +msgid "finished\n" +msgstr "" + +#: ../../utils/net_ads_gpo.c:87 +msgid "* fetching GPO List " +msgstr "" + +#: ../../utils/net_ads_gpo.c:96 +msgid "* Refreshing Group Policy Data " +msgstr "" + +#: ../../utils/net_ads_gpo.c:107 +msgid "* storing GPO list to registry " +msgstr "" + +#: ../../utils/net_ads_gpo.c:122 +msgid "* dumping GPO list\n" +msgstr "" + +#: ../../utils/net_ads_gpo.c:151 +msgid "* re-reading GPO list from registry " +msgstr "" + +#: ../../utils/net_ads_gpo.c:167 +msgid "* dumping GPO list from registry\n" +msgstr "" + +#: ../../utils/net_ads_gpo.c:226 +msgid "" +"Usage:\n" +"net ads gpo listall\n" +" List all GPOs on the DC\n" +msgstr "" + +#: ../../utils/net_ads_gpo.c:270 +#, c-format +msgid "ads_parse_gpo failed: %s\n" +msgstr "" + +#: ../../utils/net_ads_gpo.c:300 +msgid "" +"Usage:\n" +"net ads gpo list <username|machinename>\n" +" Lists all GPOs for machine/user\n" +" username\tUser to list GPOs for\n" +" machinename\tMachine to list GPOs for\n" +msgstr "" + +#: ../../utils/net_ads_gpo.c:327 +#, c-format +msgid "%s: '%s' has dn: '%s'\n" +msgstr "" + +#: ../../utils/net_ads_gpo.c:451 +msgid "" +"Usage:\n" +"net ads gpo linkget <container>\n" +" Lists gPLink of a containter\n" +" container\tContainer to get link for\n" +msgstr "" + +#: ../../utils/net_ads_gpo.c:470 +#, c-format +msgid "get link for %s failed: %s\n" +msgstr "" + +#: ../../utils/net_ads_gpo.c:492 +msgid "" +"Usage:\n" +"net ads gpo linkadd <linkdn> <gpodn> [options]\n" +" Link a container to a GPO\n" +" linkdn\tContainer to link to a GPO\n" +" gpodn\tGPO to link container to\n" +msgstr "" + +#: ../../utils/net_ads_gpo.c:497 +msgid "" +"note: DNs must be provided properly escaped.\n" +"See RFC 4514 for details\n" +msgstr "" + +#: ../../utils/net_ads_gpo.c:518 +#, c-format +msgid "link add failed: %s\n" +msgstr "" + +#: ../../utils/net_ads_gpo.c:579 +msgid "" +"Usage:\n" +"net ads gpo getgpo <gpo>\n" +" List speciefied GPO\n" +" gpo\t\tGPO to list\n" +msgstr "" + +#: ../../utils/net_ads_gpo.c:603 +#, c-format +msgid "get gpo for [%s] failed: %s\n" +msgstr "" + +#: ../../utils/net_ads_gpo.c:634 +msgid "List specified GPO" +msgstr "" + +#: ../../utils/net_ads_gpo.c:635 +msgid "" +"net ads gpo getgpo\n" +" List specified GPO" +msgstr "" + +#: ../../utils/net_ads_gpo.c:642 +msgid "Link a container to a GPO" +msgstr "" + +#: ../../utils/net_ads_gpo.c:643 +msgid "" +"net ads gpo linkadd\n" +" Link a container to a GPO" +msgstr "" + +#: ../../utils/net_ads_gpo.c:660 +msgid "Lists gPLink of containter" +msgstr "" + +#: ../../utils/net_ads_gpo.c:661 +msgid "" +"net ads gpo linkget\n" +" Lists gPLink of containter" +msgstr "" + +#: ../../utils/net_ads_gpo.c:668 +msgid "Lists all GPOs for machine/user" +msgstr "" + +#: ../../utils/net_ads_gpo.c:669 +msgid "" +"net ads gpo list\n" +" Lists all GPOs for machine/user" +msgstr "" + +#: ../../utils/net_ads_gpo.c:676 +msgid "Lists all GPOs on a DC" +msgstr "" + +#: ../../utils/net_ads_gpo.c:677 +msgid "" +"net ads gpo listall\n" +" Lists all GPOs on a DC" +msgstr "" + +#: ../../utils/net_ads_gpo.c:684 +msgid "Lists all GPOs assigned to an account and downloads them" +msgstr "" + +#: ../../utils/net_ads_gpo.c:686 +msgid "" +"net ads gpo refresh\n" +" Lists all GPOs assigned to an account and downloads them" +msgstr "" + +#: ../../utils/net_afs.c:25 +msgid "" +" net afs key filename\n" +"\tImports a OpenAFS KeyFile into our secrets.tdb\n" +"\n" +msgstr "" + +#: ../../utils/net_afs.c:27 +msgid "" +" net afs impersonate <user> <cell>\n" +"\tCreates a token for user@cell\n" +"\n" +msgstr "" + +#: ../../utils/net_afs.c:38 +msgid "usage: 'net afs key <keyfile> cell'\n" +msgstr "" + +#: ../../utils/net_afs.c:43 +msgid "Could not open secrets.tdb\n" +msgstr "" + +#: ../../utils/net_afs.c:48 +#, c-format +msgid "Could not open %s\n" +msgstr "" + +#: ../../utils/net_afs.c:53 +msgid "Could not read keyfile\n" +msgstr "" + +#: ../../utils/net_afs.c:58 +msgid "Could not write keyfile to secrets.tdb\n" +msgstr "" + +#: ../../utils/net_afs.c:71 +#, c-format +msgid "Usage: net afs impersonate <user> <cell>\n" +msgstr "" + +#: ../../utils/net_afs.c:78 +#, c-format +msgid "Could not create token\n" +msgstr "" + +#: ../../utils/net_afs.c:83 +#, c-format +msgid "Could not set token into kernel\n" +msgstr "" + +#: ../../utils/net_afs.c:87 +#, c-format +msgid "Success: %s@%s\n" +msgstr "" + +#: ../../utils/net_afs.c:98 +msgid "Import an OpenAFS keyfile" +msgstr "" + +#: ../../utils/net_afs.c:99 +msgid "" +"net afs key <filename>\n" +" Import kefile from <filename>." +msgstr "" + +#: ../../utils/net_afs.c:106 +msgid "Get a user token" +msgstr "" + +#: ../../utils/net_afs.c:107 +msgid "" +"net afs impersonate <user> <cell>\n" +" Create token for user@cell" +msgstr "" + +#: ../../utils/net_cache.c:74 +#, c-format +msgid "Key: %s\t Timeout: %s\t Value: %s %s\n" +msgstr "" + +#: ../../utils/net_cache.c:75 +msgid "(expired)" +msgstr "" + +#: ../../utils/net_cache.c:84 +#, c-format +msgid "Couldn't delete entry! key = %s\n" +msgstr "" + +#: ../../utils/net_cache.c:158 +msgid "" +"\n" +"Usage:\n" +"net cache add <key string> <data string> <timeout>\n" +msgstr "" + +#: ../../utils/net_cache.c:170 +msgid "Invalid timeout argument.\n" +msgstr "" + +#: ../../utils/net_cache.c:175 +msgid "New cache entry stored successfully.\n" +msgstr "" + +#: ../../utils/net_cache.c:179 +msgid "Entry couldn't be added. Perhaps there's already such a key.\n" +msgstr "" + +#: ../../utils/net_cache.c:195 +msgid "" +"\n" +"Usage: net cache del <key string>\n" +msgstr "" + +#: ../../utils/net_cache.c:200 +msgid "Entry deleted.\n" +msgstr "" + +#: ../../utils/net_cache.c:204 +msgid "Couldn't delete specified entry\n" +msgstr "" + +#: ../../utils/net_cache.c:223 +msgid "" +"\n" +"Usage: net cache get <key>\n" +msgstr "" + +#: ../../utils/net_cache.c:233 +msgid "Failed to find entry\n" +msgstr "" + +#: ../../utils/net_cache.c:250 +msgid "Usage: net cache search <pattern>\n" +msgstr "" + +#: ../../utils/net_cache.c:272 +msgid "" +"Usage:\n" +"net cache list\n" +" List all cache entries.\n" +msgstr "" + +#: ../../utils/net_cache.c:293 ../../utils/net_cache.c:306 +msgid "" +"Usage:\n" +"net cache flush\n" +" Delete all cache entries.\n" +msgstr "" + +#: ../../utils/net_cache.c:331 +msgid "Add new cache entry" +msgstr "" + +#: ../../utils/net_cache.c:332 +msgid "" +"net cache add <key string> <data string> <timeout>\n" +" Add new cache entry.\n" +" key string\tKey string to add cache data under.\n" +" data string\tData to store under given key.\n" +" timeout\tTimeout for cache data." +msgstr "" + +#: ../../utils/net_cache.c:342 +msgid "Delete existing cache entry by key" +msgstr "" + +#: ../../utils/net_cache.c:343 +msgid "" +"net cache del <key string>\n" +" Delete existing cache entry by key.\n" +" key string\tKey string to delete." +msgstr "" + +#: ../../utils/net_cache.c:351 +msgid "Get cache entry by key" +msgstr "" + +#: ../../utils/net_cache.c:352 +msgid "" +"net cache get <key string>\n" +" Get cache entry by key.\n" +" key string\tKey string to look up cache entry for." +msgstr "" + +#: ../../utils/net_cache.c:361 +msgid "Search entry by pattern" +msgstr "" + +#: ../../utils/net_cache.c:362 +msgid "" +"net cache search <pattern>\n" +" Search entry by pattern.\n" +" pattern\tPattern to search for in cache." +msgstr "" + +#: ../../utils/net_cache.c:370 +msgid "List all cache entries" +msgstr "" + +#: ../../utils/net_cache.c:371 +msgid "" +"net cache list\n" +" List all cache entries" +msgstr "" + +#: ../../utils/net_cache.c:378 +msgid "Delete all cache entries" +msgstr "" + +#: ../../utils/net_cache.c:379 +msgid "" +"net cache flush\n" +" Delete all cache entries" +msgstr "" + +#: ../../utils/net_cache.c:386 +msgid "Move transient cache content to stable storage" +msgstr "" + +#: ../../utils/net_cache.c:387 +msgid "" +"net cache stabilize\n" +" Move transient cache content to stable storage" +msgstr "" + +#: ../../utils/net_conf.c:42 +msgid "USAGE: net conf list\n" +msgstr "" + +#: ../../utils/net_conf.c:49 +msgid "" +"USAGE: net conf import [--test|-T] <filename> [<servicename>]\n" +"\t[--test|-T] testmode - do not act, just print what would be done\n" +"\t<servicename> only import service <servicename>, ignore the rest\n" +msgstr "" + +#: ../../utils/net_conf.c:61 +msgid "USAGE: net conf listshares\n" +msgstr "" + +#: ../../utils/net_conf.c:68 +msgid "USAGE: net conf drop\n" +msgstr "" + +#: ../../utils/net_conf.c:75 +msgid "USAGE: net conf showshare <sharename>\n" +msgstr "" + +#: ../../utils/net_conf.c:82 +msgid "" +"USAGE: net conf addshare <sharename> <path> [writeable={y|N} [guest_ok={y|N} [<comment>]]\n" +"\t<sharename> the new share name.\n" +"\t<path> the path on the filesystem to export.\n" +"\twriteable={y|N} set \"writeable to \"yes\" or \"no\" (default) on this share.\n" +"\tguest_ok={y|N} set \"guest ok\" to \"yes\" or \"no\" (default) on this share.\n" +"\t<comment> optional comment for the new share.\n" +msgstr "" + +#: ../../utils/net_conf.c:97 +msgid "USAGE: net conf delshare <sharename>\n" +msgstr "" + +#: ../../utils/net_conf.c:104 +msgid "USAGE: net conf setparm <section> <param> <value>\n" +msgstr "" + +#: ../../utils/net_conf.c:111 +msgid "USAGE: net conf getparm <section> <param>\n" +msgstr "" + +#: ../../utils/net_conf.c:118 +msgid "USAGE: net conf delparm <section> <param>\n" +msgstr "" + +#: ../../utils/net_conf.c:125 +msgid "USAGE: net conf getincludes <section>\n" +msgstr "" + +#: ../../utils/net_conf.c:132 +msgid "USAGE: net conf setincludes <section> [<filename>]*\n" +msgstr "" + +#: ../../utils/net_conf.c:139 +msgid "USAGE: net conf delincludes <section>\n" +msgstr "" + +#: ../../utils/net_conf.c:251 +#, c-format +msgid "Error getting config: %s\n" +msgstr "" + +#: ../../utils/net_conf.c:305 ../../utils/net_conf.c:318 ../../utils/net_conf.c:614 ../../utils/net_conf.c:742 ../../utils/net_conf.c:780 ../../utils/net_conf.c:786 ../../utils/net_conf.c:860 ../../utils/net_conf.c:866 ../../utils/net_conf.c:916 +#: ../../utils/net_conf.c:970 ../../utils/net_conf.c:1010 ../../utils/net_conf.c:1050 +msgid "error: out of memory!\n" +msgstr "" + +#: ../../utils/net_conf.c:324 +#, c-format +msgid "error loading file '%s': %s\n" +msgstr "" + +#: ../../utils/net_conf.c:330 +msgid "" +"\n" +"TEST MODE - would import the following configuration:\n" +"\n" +msgstr "" + +#: ../../utils/net_conf.c:346 ../../utils/net_conf.c:382 ../../utils/net_conf.c:407 ../../utils/net_conf.c:793 +#, c-format +msgid "error starting transaction: %s\n" +msgstr "" + +#: ../../utils/net_conf.c:400 ../../utils/net_conf.c:416 ../../utils/net_conf.c:817 +#, c-format +msgid "error committing transaction: %s\n" +msgstr "" + +#: ../../utils/net_conf.c:427 ../../utils/net_conf.c:828 +#, c-format +msgid "error cancelling transaction: %s\n" +msgstr "" + +#: ../../utils/net_conf.c:484 +#, c-format +msgid "Error deleting configuration: %s\n" +msgstr "" + +#: ../../utils/net_conf.c:521 +#, c-format +msgid "error getting share parameters: %s\n" +msgstr "" + +#: ../../utils/net_conf.c:630 +#, c-format +msgid "ERROR: share name %s contains invalid characters (any of %s)\n" +msgstr "" + +#: ../../utils/net_conf.c:638 +msgid "ERROR: 'global' is not a valid share name.\n" +msgstr "" + +#: ../../utils/net_conf.c:643 +#, c-format +msgid "ERROR: share %s already exists.\n" +msgstr "" + +#: ../../utils/net_conf.c:652 +#, c-format +msgid "Error: path '%s' is not an absolute path.\n" +msgstr "" + +#: ../../utils/net_conf.c:659 +#, c-format +msgid "" +"ERROR: cannot stat path '%s' to ensure this is a directory.\n" +"Error was '%s'.\n" +msgstr "" + +#: ../../utils/net_conf.c:668 +#, c-format +msgid "ERROR: path '%s' is not a directory.\n" +msgstr "" + +#: ../../utils/net_conf.c:679 +#, c-format +msgid "Error creating share %s: %s\n" +msgstr "" + +#: ../../utils/net_conf.c:690 ../../utils/net_conf.c:699 ../../utils/net_conf.c:707 ../../utils/net_conf.c:715 +#, c-format +msgid "Error setting parameter %s: %s\n" +msgstr "" + +#: ../../utils/net_conf.c:748 +#, c-format +msgid "Error deleting share %s: %s\n" +msgstr "" + +#: ../../utils/net_conf.c:801 +#, c-format +msgid "Error creating share '%s': %s\n" +msgstr "" + +#: ../../utils/net_conf.c:810 +#, c-format +msgid "Error setting value '%s': %s\n" +msgstr "" + +#: ../../utils/net_conf.c:874 ../../utils/net_conf.c:930 +#, c-format +msgid "Error: given service '%s' does not exist.\n" +msgstr "" + +#: ../../utils/net_conf.c:879 ../../utils/net_conf.c:935 +#, c-format +msgid "Error: given parameter '%s' is not set.\n" +msgstr "" + +#: ../../utils/net_conf.c:883 +#, c-format +msgid "Error getting value '%s': %s.\n" +msgstr "" + +#: ../../utils/net_conf.c:939 +#, c-format +msgid "Error deleting value '%s': %s.\n" +msgstr "" + +#: ../../utils/net_conf.c:977 +#, c-format +msgid "error getting includes: %s\n" +msgstr "" + +#: ../../utils/net_conf.c:1023 +#, c-format +msgid "error setting includes: %s\n" +msgstr "" + +#: ../../utils/net_conf.c:1056 +#, c-format +msgid "error deleting includes: %s\n" +msgstr "" + +#: ../../utils/net_conf.c:1136 ../../utils/net_help.c:36 ../../utils/net_rap.c:161 ../../utils/net_rap.c:302 ../../utils/net_rap.c:467 ../../utils/net_rap.c:750 ../../utils/net_rap.c:891 ../../utils/net_rap.c:1002 ../../utils/net_rap.c:1193 +#: ../../utils/net_rpc.c:960 +msgid "Usage:\n" +msgstr "" + +#: ../../utils/net_conf.c:1160 +msgid "Dump the complete configuration in smb.conf like format." +msgstr "" + +#: ../../utils/net_conf.c:1162 +msgid "" +"net conf list\n" +" Dump the complete configuration in smb.conf like format." +msgstr "" + +#: ../../utils/net_conf.c:1171 +msgid "Import configuration from file in smb.conf format." +msgstr "" + +#: ../../utils/net_conf.c:1173 +msgid "" +"net conf import\n" +" Import configuration from file in smb.conf format." +msgstr "" + +#: ../../utils/net_conf.c:1181 +msgid "List the share names." +msgstr "" + +#: ../../utils/net_conf.c:1182 +msgid "" +"net conf listshares\n" +" List the share names." +msgstr "" + +#: ../../utils/net_conf.c:1189 +msgid "Delete the complete configuration." +msgstr "" + +#: ../../utils/net_conf.c:1190 +msgid "" +"net conf drop\n" +" Delete the complete configuration." +msgstr "" + +#: ../../utils/net_conf.c:1197 +msgid "Show the definition of a share." +msgstr "" + +#: ../../utils/net_conf.c:1198 +msgid "" +"net conf showshare\n" +" Show the definition of a share." +msgstr "" + +#: ../../utils/net_conf.c:1205 +msgid "Create a new share." +msgstr "" + +#: ../../utils/net_conf.c:1206 +msgid "" +"net conf addshare\n" +" Create a new share." +msgstr "" + +#: ../../utils/net_conf.c:1213 +msgid "Delete a share." +msgstr "" + +#: ../../utils/net_conf.c:1214 +msgid "" +"net conf delshare\n" +" Delete a share." +msgstr "" + +#: ../../utils/net_conf.c:1221 +msgid "Store a parameter." +msgstr "" + +#: ../../utils/net_conf.c:1222 +msgid "" +"net conf setparm\n" +" Store a parameter." +msgstr "" + +#: ../../utils/net_conf.c:1229 +msgid "Retrieve the value of a parameter." +msgstr "" + +#: ../../utils/net_conf.c:1230 +msgid "" +"net conf getparm\n" +" Retrieve the value of a parameter." +msgstr "" + +#: ../../utils/net_conf.c:1237 +msgid "Delete a parameter." +msgstr "" + +#: ../../utils/net_conf.c:1238 +msgid "" +"net conf delparm\n" +" Delete a parameter." +msgstr "" + +#: ../../utils/net_conf.c:1245 +msgid "Show the includes of a share definition." +msgstr "" + +#: ../../utils/net_conf.c:1246 +msgid "" +"net conf getincludes\n" +" Show the includes of a share definition." +msgstr "" + +#: ../../utils/net_conf.c:1253 +msgid "Set includes for a share." +msgstr "" + +#: ../../utils/net_conf.c:1254 +msgid "" +"net conf setincludes\n" +" Set includes for a share." +msgstr "" + +#: ../../utils/net_conf.c:1261 +msgid "Delete includes from a share definition." +msgstr "" + +#: ../../utils/net_conf.c:1262 +msgid "" +"net conf setincludes\n" +" Delete includes from a share definition." +msgstr "" + +#: ../../utils/net_dom.c:25 +msgid "" +"usage: net dom join <domain=DOMAIN> <ou=OU> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" +" Join a remote machine\n" +msgstr "" + +#: ../../utils/net_dom.c:28 +msgid "" +"usage: net dom unjoin <account=ACCOUNT> <password=PASSWORD> <reboot>\n" +" Unjoin a remote machine\n" +msgstr "" + +#: ../../utils/net_dom.c:31 +msgid "" +"usage: net dom renamecomputer <newname=NEWNAME> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" +" Rename joined computer\n" +msgstr "" + +#: ../../utils/net_dom.c:91 +#, c-format +msgid "Failed to unjoin domain: %s\n" +msgstr "" + +#: ../../utils/net_dom.c:97 ../../utils/net_dom.c:204 +msgid "Shutting down due to a domain membership change" +msgstr "" + +#: ../../utils/net_dom.c:290 +#, c-format +msgid "Failed to rename machine: " +msgstr "" + +#: ../../utils/net_dom.c:292 +#, c-format +msgid "Computer is not joined to a Domain\n" +msgstr "" + +#: ../../utils/net_dom.c:301 +msgid "Shutting down due to a computer rename" +msgstr "" + +#: ../../utils/net_dom.c:338 +msgid "Join a remote machine" +msgstr "" + +#: ../../utils/net_dom.c:339 +msgid "" +"net dom join <domain=DOMAIN> <ou=OU> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" +" Join a remote machine" +msgstr "" + +#: ../../utils/net_dom.c:347 +msgid "Unjoin a remote machine" +msgstr "" + +#: ../../utils/net_dom.c:348 +msgid "" +"net dom unjoin <account=ACCOUNT> <password=PASSWORD> <reboot>\n" +" Unjoin a remote machine" +msgstr "" + +#: ../../utils/net_dom.c:356 +msgid "Rename a computer that is joined to a domain" +msgstr "" + +#: ../../utils/net_dom.c:357 +msgid "" +"net dom renamecomputer <newname=NEWNAME> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" +" Rename joined computer" +msgstr "" + +#: ../../utils/net_eventlog.c:46 +msgid "usage: net eventlog dump <file.evt>\n" +msgstr "" + +#: ../../utils/net_eventlog.c:52 ../../utils/net_eventlog.c:108 +#, c-format +msgid "failed to load evt file: %s\n" +msgstr "" + +#: ../../utils/net_eventlog.c:59 ../../utils/net_eventlog.c:129 +#, c-format +msgid "evt pull failed: %s\n" +msgstr "" + +#: ../../utils/net_eventlog.c:102 +msgid "usage: net eventlog import <file> <eventlog>\n" +msgstr "" + +#: ../../utils/net_eventlog.c:116 +#, c-format +msgid "evt header pull failed: %s\n" +msgstr "" + +#: ../../utils/net_eventlog.c:122 +msgid "input file is wrapped, cannot proceed\n" +msgstr "" + +#: ../../utils/net_eventlog.c:138 ../../utils/net_eventlog.c:203 +#, c-format +msgid "can't open the eventlog TDB (%s)\n" +msgstr "" + +#: ../../utils/net_eventlog.c:158 +#, c-format +msgid "can't write to the eventlog: %s\n" +msgstr "" + +#: ../../utils/net_eventlog.c:164 +#, c-format +msgid "wrote %d entries to tdb\n" +msgstr "" + +#: ../../utils/net_eventlog.c:197 +msgid "usage: net eventlog export <file> <eventlog>\n" +msgstr "" + +#: ../../utils/net_eventlog.c:214 +#, c-format +msgid "failed to save evt file: %s\n" +msgstr "" + +#: ../../utils/net_eventlog.c:243 +msgid "Dump eventlog" +msgstr "" + +#: ../../utils/net_eventlog.c:244 +msgid "" +"net eventlog dump\n" +" Dump win32 *.evt eventlog file" +msgstr "" + +#: ../../utils/net_eventlog.c:251 +msgid "Import eventlog" +msgstr "" + +#: ../../utils/net_eventlog.c:252 +msgid "" +"net eventlog import\n" +" Import win32 *.evt eventlog file" +msgstr "" + +#: ../../utils/net_eventlog.c:259 +msgid "Export eventlog" +msgstr "" + +#: ../../utils/net_eventlog.c:260 +msgid "" +"net eventlog export\n" +" Export win32 *.evt eventlog file" +msgstr "" + +#: ../../utils/net_file.c:27 +msgid "" +"net [<method>] file [misc. options] [targets]\n" +"\tlists all open files on file server\n" +msgstr "" + +#: ../../utils/net_file.c:29 +msgid "" +"net [<method>] file USER <username> [misc. options] [targets]\n" +"\tlists all files opened by username on file server\n" +msgstr "" + +#: ../../utils/net_file.c:32 +msgid "" +"net [<method>] file CLOSE <id> [misc. options] [targets]\n" +"\tcloses specified file on target server\n" +msgstr "" + +#: ../../utils/net_file.c:34 +msgid "" +"net [rap] file INFO <id> [misc. options] [targets]\n" +"\tdisplays information about the specified open file\n" +msgstr "" + +#: ../../utils/net_group.c:27 +msgid "" +"net [<method>] group [misc. options] [targets]\n" +"\tList user groups\n" +"\n" +msgstr "" + +#: ../../utils/net_group.c:29 +msgid "" +"net rpc group LIST [global|local|builtin]* [misc. options]\n" +"\tList specific user groups\n" +"\n" +msgstr "" + +#: ../../utils/net_group.c:31 +msgid "" +"net [<method>] group DELETE <name> [misc. options] [targets]\n" +"\tDelete specified group\n" +msgstr "" + +#: ../../utils/net_group.c:34 +msgid "" +"\n" +"net [<method>] group ADD <name> [-C comment] [-c container] [misc. options] [targets]\n" +"\tCreate specified group\n" +msgstr "" + +#: ../../utils/net_group.c:37 +msgid "" +"\n" +"net rpc group MEMBERS <name>\n" +"\tList Group Members\n" +"\n" +msgstr "" + +#: ../../utils/net_group.c:38 +msgid "" +"\n" +"net rpc group ADDMEM <group> <member>\n" +"\tAdd Group Members\n" +"\n" +msgstr "" + +#: ../../utils/net_group.c:40 +msgid "" +"\n" +"net rpc group DELMEM <group> <member>\n" +"\tDelete Group Members\n" +"\n" +msgstr "" + +#: ../../utils/net_group.c:44 +msgid "\t-C or --comment=<comment>\tdescriptive comment (for add only)\n" +msgstr "" + +#: ../../utils/net_group.c:46 +msgid "\t-c or --container=<container>\tLDAP container, defaults to cn=Users (for add in ADS only)\n" +msgstr "" + +#: ../../utils/net_group.c:48 +msgid "\t-L or --localgroup\t\tWhen adding groups, create a local group (alias)\n" +msgstr "" + +#: ../../utils/net_groupmap.c:38 +#, c-format +msgid "NT Group %s doesn't exist in mapping DB\n" +msgstr "" + +#: ../../utils/net_groupmap.c:46 +#, c-format +msgid "converting sid %s from a string failed!\n" +msgstr "" + +#: ../../utils/net_groupmap.c:65 +#, c-format +msgid "\tSID : %s\n" +msgstr "" + +#: ../../utils/net_groupmap.c:66 +#, c-format +msgid "\tUnix gid : %u\n" +msgstr "" + +#: ../../utils/net_groupmap.c:67 +#, c-format +msgid "\tUnix group: %s\n" +msgstr "" + +#: ../../utils/net_groupmap.c:68 +#, c-format +msgid "\tGroup type: %s\n" +msgstr "" + +#: ../../utils/net_groupmap.c:70 +#, c-format +msgid "\tComment : %s\n" +msgstr "" + +#: ../../utils/net_groupmap.c:84 +msgid "" +"net groupmap list [verbose] [ntgroup=NT group] [sid=SID]\n" +" verbose\tPrint verbose list\n" +" ntgroup\tNT group to list\n" +" sid\tSID of group to list" +msgstr "" + +#: ../../utils/net_groupmap.c:91 ../../utils/net_groupmap.c:271 ../../utils/net_groupmap.c:356 ../../utils/net_groupmap.c:412 ../../utils/net_groupmap.c:495 ../../utils/net_groupmap.c:522 +#, c-format +msgid "" +"Usage:\n" +"%s\n" +msgstr "" + +#: ../../utils/net_groupmap.c:106 ../../utils/net_groupmap.c:213 ../../utils/net_groupmap.c:220 ../../utils/net_groupmap.c:365 ../../utils/net_groupmap.c:372 ../../utils/net_groupmap.c:504 +msgid "must supply a name\n" +msgstr "" + +#: ../../utils/net_groupmap.c:113 ../../utils/net_groupmap.c:227 ../../utils/net_groupmap.c:511 +msgid "must supply a SID\n" +msgstr "" + +#: ../../utils/net_groupmap.c:118 ../../utils/net_groupmap.c:265 ../../utils/net_groupmap.c:406 ../../utils/net_groupmap.c:516 +#, fuzzy, c-format +msgid "Bad option: %s\n" +msgstr "" +"\n" +"Ungültige Option %s: %s\n" + +#: ../../utils/net_groupmap.c:139 +msgid "Failure to local group SID in the database\n" +msgstr "" + +#: ../../utils/net_groupmap.c:181 +msgid "net groupmap add {rid=<int>|sid=<string>} unixgroup=<string> [type=<domain|local|builtin>] [ntgroup=<string>] [comment=<string>]" +msgstr "" + +#: ../../utils/net_groupmap.c:195 +#, c-format +msgid "" +"Usage\n" +"%s\n" +msgstr "" + +#: ../../utils/net_groupmap.c:205 +#, c-format +msgid "RID must be greater than %d\n" +msgstr "" + +#: ../../utils/net_groupmap.c:235 ../../utils/net_groupmap.c:380 +msgid "must supply a comment string\n" +msgstr "" + +#: ../../utils/net_groupmap.c:259 +#, c-format +msgid "unknown group type %s\n" +msgstr "" + +#: ../../utils/net_groupmap.c:276 +#, c-format +msgid "Can't lookup UNIX group %s\n" +msgstr "" + +#: ../../utils/net_groupmap.c:282 +#, c-format +msgid "Unix group %s already mapped to SID %s\n" +msgstr "" + +#: ../../utils/net_groupmap.c:289 +msgid "No rid or sid specified, choosing a RID\n" +msgstr "" + +#: ../../utils/net_groupmap.c:292 +msgid "Could not get new RID\n" +msgstr "" + +#: ../../utils/net_groupmap.c:297 +#, c-format +msgid "Got RID %d\n" +msgstr "" + +#: ../../utils/net_groupmap.c:328 +#, c-format +msgid "adding entry for group %s failed!\n" +msgstr "" + +#: ../../utils/net_groupmap.c:332 +#, c-format +msgid "Successfully added group %s to the mapping db as a %s\n" +msgstr "" + +#: ../../utils/net_groupmap.c:349 +msgid "net groupmap modify {ntgroup=<string>|sid=<SID>} [comment=<string>] [unixgroup=<string>] [type=<domain|local>]" +msgstr "" + +#: ../../utils/net_groupmap.c:388 +msgid "must supply a group name\n" +msgstr "" + +#: ../../utils/net_groupmap.c:434 +msgid "Failed to find local group SID in the database\n" +msgstr "" + +#: ../../utils/net_groupmap.c:443 +msgid "Can't map to an unknown group type.\n" +msgstr "" + +#: ../../utils/net_groupmap.c:449 +msgid "You can only change between domain and local groups.\n" +msgstr "" + +#: ../../utils/net_groupmap.c:466 +#, c-format +msgid "Unable to lookup UNIX group %s. Make sure the group exists.\n" +msgstr "" + +#: ../../utils/net_groupmap.c:476 +msgid "Could not update group database\n" +msgstr "" + +#: ../../utils/net_groupmap.c:480 +#, c-format +msgid "Updated mapping entry for %s\n" +msgstr "" + +#: ../../utils/net_groupmap.c:491 +msgid "net groupmap delete {ntgroup=<string>|sid=<SID>}" +msgstr "" + +#: ../../utils/net_groupmap.c:532 +#, c-format +msgid "Unable to resolve group %s to a SID\n" +msgstr "" + +#: ../../utils/net_groupmap.c:539 +#, c-format +msgid "Failed to remove group %s from the mapping db!\n" +msgstr "" + +#: ../../utils/net_groupmap.c:544 +#, c-format +msgid "Sucessfully removed %s from the mapping db\n" +msgstr "" + +#: ../../utils/net_groupmap.c:557 +msgid "Usage: net groupmap set \"NT Group\" [\"unix group\"] [-C \"comment\"] [-L] [-D]\n" +msgstr "" + +#: ../../utils/net_groupmap.c:563 +msgid "Can only specify -L or -D, not both\n" +msgstr "" + +#: ../../utils/net_groupmap.c:573 +#, c-format +msgid "Could not find unix group %s\n" +msgstr "" + +#: ../../utils/net_groupmap.c:594 +#, c-format +msgid "Could not find group mapping for %s\n" +msgstr "" + +#: ../../utils/net_groupmap.c:605 +msgid "Could not allocate new RID\n" +msgstr "" + +#: ../../utils/net_groupmap.c:622 +#, c-format +msgid "Could not add mapping entry for %s\n" +msgstr "" + +#: ../../utils/net_groupmap.c:633 +#, c-format +msgid "Can't change type of the BUILTIN group %s\n" +msgstr "" + +#: ../../utils/net_groupmap.c:660 +#, c-format +msgid "Could not update group mapping for %s\n" +msgstr "" + +#: ../../utils/net_groupmap.c:674 +msgid "" +"Usage:\n" +"net groupmap cleanup\n" +" Delete all group mappings\n" +msgstr "" + +#: ../../utils/net_groupmap.c:682 +msgid "Could not list group mappings\n" +msgstr "" + +#: ../../utils/net_groupmap.c:689 +#, c-format +msgid "Group %s is not mapped\n" +msgstr "" + +#: ../../utils/net_groupmap.c:692 +#, c-format +msgid "Deleting mapping for NT Group %s, sid %s\n" +msgstr "" + +#: ../../utils/net_groupmap.c:712 +msgid "Usage: net groupmap addmem alias-sid member-sid\n" +msgstr "" + +#: ../../utils/net_groupmap.c:717 +#, c-format +msgid "Could not add sid %s to alias %s\n" +msgstr "" + +#: ../../utils/net_groupmap.c:733 +msgid "Usage: net groupmap delmem alias-sid member-sid\n" +msgstr "" + +#: ../../utils/net_groupmap.c:738 +#, c-format +msgid "Could not delete sid %s from alias %s\n" +msgstr "" + +#: ../../utils/net_groupmap.c:755 +msgid "Usage: net groupmap listmem alias-sid\n" +msgstr "" + +#: ../../utils/net_groupmap.c:764 +#, c-format +msgid "Could not list members for sid %s\n" +msgstr "" + +#: ../../utils/net_groupmap.c:791 +#, c-format +msgid "Could not list memberships for sid %s\n" +msgstr "" + +#: ../../utils/net_groupmap.c:814 +msgid "Usage: net groupmap memberof sid\n" +msgstr "" + +#: ../../utils/net_groupmap.c:820 ../../utils/net_idmap.c:345 +msgid "talloc_init failed\n" +msgstr "" + +#: ../../utils/net_groupmap.c:827 +msgid "Could not get domain sid\n" +msgstr "" + +#: ../../utils/net_groupmap.c:850 +msgid "Create a new group mapping" +msgstr "" + +#: ../../utils/net_groupmap.c:851 +msgid "" +"net groupmap add\n" +" Create a new group mapping" +msgstr "" + +#: ../../utils/net_groupmap.c:858 +msgid "Update a group mapping" +msgstr "" + +#: ../../utils/net_groupmap.c:859 +msgid "" +"net groupmap modify\n" +" Modify an existing group mapping" +msgstr "" + +#: ../../utils/net_groupmap.c:866 +msgid "Remove a group mapping" +msgstr "" + +#: ../../utils/net_groupmap.c:867 +msgid "" +"net groupmap delete\n" +" Remove a group mapping" +msgstr "" + +#: ../../utils/net_groupmap.c:874 +msgid "Set group mapping" +msgstr "" + +#: ../../utils/net_groupmap.c:875 +msgid "" +"net groupmap set\n" +" Set a group mapping" +msgstr "" + +#: ../../utils/net_groupmap.c:882 +msgid "Remove foreign group mapping entries" +msgstr "" + +#: ../../utils/net_groupmap.c:883 +msgid "" +"net groupmap cleanup\n" +" Remove foreign group mapping entries" +msgstr "" + +#: ../../utils/net_groupmap.c:890 +msgid "Add a foreign alias member" +msgstr "" + +#: ../../utils/net_groupmap.c:891 +msgid "" +"net groupmap addmem\n" +" Add a foreign alias member" +msgstr "" + +#: ../../utils/net_groupmap.c:898 +msgid "Delete foreign alias member" +msgstr "" + +#: ../../utils/net_groupmap.c:899 +msgid "" +"net groupmap delmem\n" +" Delete foreign alias member" +msgstr "" + +#: ../../utils/net_groupmap.c:906 +msgid "List foreign group members" +msgstr "" + +#: ../../utils/net_groupmap.c:907 +msgid "" +"net groupmap listmem\n" +" List foreign alias members" +msgstr "" + +#: ../../utils/net_groupmap.c:914 +msgid "List foreign group memberships" +msgstr "" + +#: ../../utils/net_groupmap.c:915 +msgid "" +"net groupmap memberships\n" +" List foreign group memberships" +msgstr "" + +#: ../../utils/net_groupmap.c:922 +msgid "List current group map" +msgstr "" + +#: ../../utils/net_groupmap.c:923 +msgid "" +"net groupmap list\n" +" List current group map" +msgstr "" + +#: ../../utils/net_help.c:39 +#, c-format +msgid "net %s usage:\n" +msgstr "" + +#: ../../utils/net_help_common.c:25 ../../utils/net_join.c:28 +msgid "Valid methods: (auto-detected if not specified)\n" +msgstr "" + +#: ../../utils/net_help_common.c:26 ../../utils/net_join.c:29 +msgid "\tads\t\t\t\tActive Directory (LDAP/Kerberos)\n" +msgstr "" + +#: ../../utils/net_help_common.c:27 ../../utils/net_join.c:30 +msgid "\trpc\t\t\t\tDCE-RPC\n" +msgstr "" + +#: ../../utils/net_help_common.c:28 +msgid "\trap\t\t\t\tRAP (older systems)\n" +msgstr "" + +#: ../../utils/net_help_common.c:35 +msgid "Valid targets: choose one (none defaults to localhost)\n" +msgstr "" + +#: ../../utils/net_help_common.c:36 +msgid "\t-S or --server=<server>\t\tserver name\n" +msgstr "" + +#: ../../utils/net_help_common.c:37 +msgid "\t-I or --ipaddress=<ipaddr>\taddress of target server\n" +msgstr "" + +#: ../../utils/net_help_common.c:38 +msgid "\t-w or --workgroup=<wg>\t\ttarget workgroup or domain\n" +msgstr "" + +#: ../../utils/net_help_common.c:41 +msgid "Valid miscellaneous options are:\n" +msgstr "" + +#. misc options +#: ../../utils/net_help_common.c:42 +msgid "\t-p or --port=<port>\t\tconnection port on target\n" +msgstr "" + +#: ../../utils/net_help_common.c:43 +msgid "\t-W or --myworkgroup=<wg>\tclient workgroup\n" +msgstr "" + +#: ../../utils/net_help_common.c:44 +msgid "\t-d or --debuglevel=<level>\tdebug level (0-10)\n" +msgstr "" + +#: ../../utils/net_help_common.c:45 +msgid "\t-n or --myname=<name>\t\tclient name\n" +msgstr "" + +#: ../../utils/net_help_common.c:46 +msgid "\t-U or --user=<name>\t\tuser name\n" +msgstr "" + +#: ../../utils/net_help_common.c:47 +msgid "\t-s or --configfile=<path>\tpathname of smb.conf file\n" +msgstr "" + +#: ../../utils/net_help_common.c:48 +msgid "\t-l or --long\t\t\tDisplay full information\n" +msgstr "" + +#: ../../utils/net_help_common.c:49 +msgid "\t-V or --version\t\t\tPrint samba version information\n" +msgstr "" + +#: ../../utils/net_help_common.c:50 +msgid "\t-P or --machine-pass\t\tAuthenticate as machine account\n" +msgstr "" + +#: ../../utils/net_help_common.c:52 +msgid "\t-e or --encrypt\t\t\tEncrypt SMB transport (UNIX extended servers only)\n" +msgstr "" + +#: ../../utils/net_help_common.c:54 +msgid "\t-k or --kerberos\t\tUse kerberos (active directory) authentication\n" +msgstr "" + +#: ../../utils/net_idmap.c:25 +msgid "Out of memory!\n" +msgstr "" + +#: ../../utils/net_idmap.c:39 +#, c-format +msgid "USER HWM %d\n" +msgstr "" + +#: ../../utils/net_idmap.c:44 +#, c-format +msgid "GROUP HWM %d\n" +msgstr "" + +#: ../../utils/net_idmap.c:63 +msgid "" +"Usage:\n" +"net idmap dump <inputfile>\n" +" Dump current ID mapping.\n" +" inputfile\tTDB file to read mappings from.\n" +msgstr "" + +#: ../../utils/net_idmap.c:73 +#, c-format +msgid "Could not open idmap: %s\n" +msgstr "" + +#: ../../utils/net_idmap.c:94 +msgid "" +"Usage:\n" +"net idmap restore [inputfile]\n" +" Restore ID mappings from file\n" +" inputfile\tFile to load ID mappings from. If not given, load data from stdin.\n" +msgstr "" + +#: ../../utils/net_idmap.c:104 +msgid "To use net idmap Winbindd must be running.\n" +msgstr "" + +#: ../../utils/net_idmap.c:142 +#, c-format +msgid "Could not set USER HWM: %s\n" +msgstr "" + +#: ../../utils/net_idmap.c:151 +#, c-format +msgid "Could not set GROUP HWM: %s\n" +msgstr "" + +#: ../../utils/net_idmap.c:156 +#, c-format +msgid "ignoring invalid line [%s]\n" +msgstr "" + +#: ../../utils/net_idmap.c:163 +#, fuzzy, c-format +msgid "ignoring invalid sid [%s]: %s\n" +msgstr "" +"\n" +"Ungültige Option %s: %s\n" + +#: ../../utils/net_idmap.c:175 +#, c-format +msgid "Could not set mapping of %s %lu to sid %s: %s\n" +msgstr "" + +#: ../../utils/net_idmap.c:196 ../../utils/net_idmap.c:202 +msgid "Not Implemented yet\n" +msgstr "" + +#: ../../utils/net_idmap.c:240 +msgid "" +"Usage:\n" +"net idmap secret {<DOMAIN>|alloc} <secret>\n" +" Set the secret for the specified domain (or alloc module)\n" +" DOMAIN\tDomain to set secret for.\n" +" alloc\tSet secret for the alloc module\n" +" secret\tNew secret to set.\n" +msgstr "" + +#: ../../utils/net_idmap.c:271 +msgid "The only currently supported backend is LDAP\n" +msgstr "" + +#: ../../utils/net_idmap.c:281 +#, c-format +msgid "Missing ldap_user_dn option for domain %s\n" +msgstr "" + +#: ../../utils/net_idmap.c:292 +msgid "Missing ldap_user_dn option for alloc backend\n" +msgstr "" + +#: ../../utils/net_idmap.c:302 +msgid "Failed to store secret\n" +msgstr "" + +#: ../../utils/net_idmap.c:307 +msgid "Secret stored\n" +msgstr "" + +#: ../../utils/net_idmap.c:313 +msgid "" +"net idmap dump <inputfile>\n" +" Dump current id mapping\n" +msgstr "" + +#: ../../utils/net_idmap.c:316 +msgid "" +"net idmap restore\n" +" Restore entries from stdin\n" +msgstr "" + +#. Deliberately *not* document net idmap delete +#: ../../utils/net_idmap.c:321 +msgid "" +"net idmap secret <DOMAIN>|alloc <secret>\n" +" Set the secret for the specified DOMAIN (or the alloc module)\n" +msgstr "" + +#: ../../utils/net_idmap.c:339 +msgid "usage: net idmap aclmapset <tdb> <src-sid> <dst-sid>\n" +msgstr "" + +#: ../../utils/net_idmap.c:351 +#, c-format +msgid "db_open failed: %s\n" +msgstr "" + +#: ../../utils/net_idmap.c:356 ../../utils/net_idmap.c:361 +#, c-format +msgid "%s is not a valid sid\n" +msgstr "" + +#: ../../utils/net_idmap.c:367 +msgid "talloc_strdup failed\n" +msgstr "" + +#: ../../utils/net_idmap.c:373 +msgid "could not fetch db record\n" +msgstr "" + +#: ../../utils/net_idmap.c:381 +#, c-format +msgid "could not store record: %s\n" +msgstr "" + +#: ../../utils/net_idmap.c:402 +msgid "Dump the current ID mappings" +msgstr "" + +#: ../../utils/net_idmap.c:403 +msgid "" +"net idmap dump\n" +" Dump the current ID mappings" +msgstr "" + +#: ../../utils/net_idmap.c:410 +msgid "Restore entries from stdin" +msgstr "" + +#: ../../utils/net_idmap.c:411 +msgid "" +"net idmap restore\n" +" Restore entries from stdin" +msgstr "" + +#: ../../utils/net_idmap.c:418 ../../utils/net_idmap.c:426 +msgid "Not implemented yet" +msgstr "" + +#: ../../utils/net_idmap.c:419 +msgid "" +"net idmap setmap\n" +" Not implemented yet" +msgstr "" + +#: ../../utils/net_idmap.c:427 +msgid "" +"net idmap delete\n" +" Not implemented yet" +msgstr "" + +#: ../../utils/net_idmap.c:434 +msgid "Set secret for specified domain" +msgstr "" + +#: ../../utils/net_idmap.c:435 +msgid "" +"net idmap secret {<DOMAIN>|alloc} <secret>\n" +" Set secret for specified domain or alloc module" +msgstr "" + +#: ../../utils/net_idmap.c:442 +msgid "Set acl map" +msgstr "" + +#: ../../utils/net_idmap.c:443 +msgid "" +"net idmap aclmapset\n" +" Set acl map" +msgstr "" + +#: ../../utils/net_join.c:26 +msgid "" +"\n" +"net [<method>] join [misc. options]\n" +"\tjoins this server to a domain\n" +msgstr "" + +#: ../../utils/net_join.c:47 +msgid "ADS join did not work, falling back to RPC...\n" +msgstr "" + +#: ../../utils/net_lookup.c:25 +msgid "" +" net lookup [host] HOSTNAME[#<type>]\n" +"\tgives IP for a hostname\n" +"\n" +" net lookup ldap [domain]\n" +"\tgives IP of domain's ldap server\n" +"\n" +" net lookup kdc [realm]\n" +"\tgives IP of realm's kerberos KDC\n" +"\n" +" net lookup pdc [domain|realm]\n" +"\tgives IP of realm's kerberos KDC\n" +"\n" +" net lookup dc [domain]\n" +"\tgives IP of domains Domain Controllers\n" +"\n" +" net lookup master [domain|wg]\n" +"\tgive IP of master browser\n" +"\n" +" net lookup name [name]\n" +"\tLookup name's sid and type\n" +"\n" +" net lookup sid [sid]\n" +"\tGive sid's name and type\n" +"\n" +" net lookup dsgetdcname [name] [flags] [sitename]\n" +"\n" +msgstr "" + +#: ../../utils/net_lookup.c:112 +msgid "net_lookup_ldap: talloc_init() failed!\n" +msgstr "" + +#: ../../utils/net_lookup.c:325 +msgid "usage: net lookup name <name>\n" +msgstr "" + +#: ../../utils/net_lookup.c:331 ../../utils/net_lookup.c:358 +#, c-format +msgid "Could not lookup name %s\n" +msgstr "" + +#: ../../utils/net_lookup.c:347 +msgid "usage: net lookup sid <sid>\n" +msgstr "" + +#: ../../utils/net_lookup.c:352 +#, c-format +msgid "Could not convert %s to SID\n" +msgstr "" + +#: ../../utils/net_lookup.c:378 +msgid "usage: net lookup dsgetdcname <name> <flags> <sitename>\n" +msgstr "" + +#: ../../utils/net_lookup.c:404 +#, c-format +msgid "failed with: %s\n" +msgstr "" + +#: ../../utils/net_lookup.c:437 +msgid "" +"\n" +"Usage: \n" +msgstr "" + +#: ../../utils/net_lua.c:60 +msgid "connect: Expected IP-Address" +msgstr "" + +#: ../../utils/net_lua.c:65 +msgid "connect: Expected port" +msgstr "" + +#: ../../utils/net_lua.c:84 +#, c-format +msgid "connect failed: %s" +msgstr "" + +#: ../../utils/net_lua.c:132 +#, c-format +msgid "socket domain %s unknown" +msgstr "" + +#: ../../utils/net_lua.c:144 +#, c-format +msgid "socket type %s unknown" +msgstr "" + +#: ../../utils/net_lua.c:155 +#, c-format +msgid "socket() failed: %s" +msgstr "" + +#: ../../utils/net_lua.c:278 +msgid "evt_reference_thread failed\n" +msgstr "" + +#: ../../utils/net_lua.c:287 +msgid "event_add_timed failed" +msgstr "" + +#: ../../utils/net_lua.c:300 +msgid "event_once called from non-base thread" +msgstr "" + +#: ../../utils/net_lua.c:323 +msgid "event_context_init failed" +msgstr "" + +#: ../../utils/net_lua.c:353 +msgid "lua_newstate failed\n" +msgstr "" + +#: ../../utils/net_lua.c:371 +msgid "luaL_dofile returned an error\n" +msgstr "" + +#: ../../utils/net_lua.c:376 +msgid "luaL_dostring returned an error\n" +msgstr "" + +#: ../../utils/net_rap.c:39 +msgid "" +"\n" +"Not implemented\n" +msgstr "" + +#: ../../utils/net_rap.c:61 +#, c-format +msgid "" +"File ID %d\n" +"User name %s\n" +"Locks 0x%-4.2x\n" +"Path %s\n" +"Permissions 0x%x\n" +msgstr "" + +#. list open files +#: ../../utils/net_rap.c:114 +msgid "" +"\n" +"Enumerating open files on remote server:\n" +"\n" +"\n" +"FileId Opened by Perms Locks Path \n" +"------ --------- ----- ----- ---- \n" +msgstr "" + +#: ../../utils/net_rap.c:120 ../../utils/net_rap.c:180 +msgid "" +"\n" +"Operation not supported by server!\n" +"\n" +msgstr "" + +#: ../../utils/net_rap.c:133 +msgid "Close specified file on server" +msgstr "" + +#: ../../utils/net_rap.c:134 +msgid "" +"net rap file close\n" +" Close specified file on server" +msgstr "" + +#: ../../utils/net_rap.c:141 +msgid "List all files opened by username" +msgstr "" + +#: ../../utils/net_rap.c:142 +msgid "" +"net rap file user\n" +" List all files opened by username" +msgstr "" + +#: ../../utils/net_rap.c:149 +msgid "Display info about an opened file" +msgstr "" + +#: ../../utils/net_rap.c:150 +msgid "" +"net rap file info\n" +" Display info about an opened file" +msgstr "" + +#: ../../utils/net_rap.c:162 +msgid "" +"net rap file\n" +" List all open files on rempte server\n" +msgstr "" + +#. list open files +#: ../../utils/net_rap.c:174 +msgid "" +"\n" +"Enumerating open files on remote server:\n" +"\n" +"\n" +"FileId Opened by Perms Locks Path\n" +"------ --------- ----- ----- ----\n" +msgstr "" + +#: ../../utils/net_rap.c:243 +msgid "Server path not specified\n" +msgstr "" + +#: ../../utils/net_rap.c:273 ../../utils/net_rap.c:281 +msgid "Delete a share from server" +msgstr "" + +#: ../../utils/net_rap.c:274 +msgid "" +"net rap share delete\n" +" Delete a share from server" +msgstr "" + +#: ../../utils/net_rap.c:282 +msgid "" +"net rap share close\n" +" Delete a share from server\n" +" Alias for net rap share delete" +msgstr "" + +#: ../../utils/net_rap.c:290 +msgid "Add a share to server" +msgstr "" + +#: ../../utils/net_rap.c:291 +msgid "" +"net rap share add\n" +" Add a share to server" +msgstr "" + +#: ../../utils/net_rap.c:303 +msgid "" +"net rap share\n" +" List all shares on remote server\n" +msgstr "" + +#: ../../utils/net_rap.c:314 +msgid "" +"\n" +"Enumerating shared resources (exports) on remote server:\n" +"\n" +"\n" +"Share name Type Description\n" +"---------- ---- -----------\n" +msgstr "" + +#: ../../utils/net_rap.c:331 +msgid "" +"\n" +"net rap session [misc. options] [targets]\n" +"\tenumerates all active SMB/CIFS sessions on target server\n" +msgstr "" + +#: ../../utils/net_rap.c:334 +msgid "" +"\n" +"net rap session DELETE <client_name> [misc. options] [targets] \n" +"\tor\n" +"net rap session CLOSE <client_name> [misc. options] [targets]\n" +"\tDeletes (closes) a session from specified client to server\n" +msgstr "" + +#: ../../utils/net_rap.c:339 +msgid "" +"\n" +"net rap session INFO <client_name>\n" +"\tEnumerates all open files in specified session\n" +msgstr "" + +#: ../../utils/net_rap.c:369 +#, c-format +msgid "" +"User name %-20.20s\n" +"Computer %-20.20s\n" +"Guest logon %-20.20s\n" +"Client Type %-40.40s\n" +"Sess time %2.2d:%2.2d:%2.2d\n" +"Idle time %2.2d:%2.2d:%2.2d\n" +msgstr "" + +#: ../../utils/net_rap.c:408 +msgid "" +"Share name Type # Opens\n" +"------------------------------------------------------------------------------\n" +msgstr "" + +#: ../../utils/net_rap.c:438 +msgid "Display information about session" +msgstr "" + +#: ../../utils/net_rap.c:439 +msgid "" +"net rap session info\n" +" Display information about session" +msgstr "" + +#: ../../utils/net_rap.c:446 ../../utils/net_rap.c:455 +msgid "Close specified session" +msgstr "" + +#: ../../utils/net_rap.c:447 +msgid "" +"net rap session delete\n" +" Close specified session\n" +" Alias for net rap session close" +msgstr "" + +#: ../../utils/net_rap.c:456 +msgid "" +"net rap session close\n" +" Close specified session" +msgstr "" + +#: ../../utils/net_rap.c:468 +msgid "" +"net rap session\n" +" List all open sessions on remote server\n" +msgstr "" + +#: ../../utils/net_rap.c:478 +msgid "" +"Computer User name Client Type Opens Idle time\n" +"------------------------------------------------------------------------------\n" +msgstr "" + +#: ../../utils/net_rap.c:506 +msgid "" +"Usage:\n" +"net rap server name\n" +" Get the name of the server\n" +msgstr "" + +#: ../../utils/net_rap.c:516 +msgid "cli_get_server_name failed\n" +msgstr "" + +#: ../../utils/net_rap.c:521 +#, c-format +msgid "Server name = %s\n" +msgstr "" + +#: ../../utils/net_rap.c:535 +msgid "" +"Usage:\n" +"net rap server domain\n" +" Enumerate servers in this domain/workgroup\n" +msgstr "" + +#: ../../utils/net_rap.c:544 +msgid "" +"\n" +"Enumerating servers in this domain or workgroup: \n" +"\n" +"\tServer name Server description\n" +"\t------------- ----------------------------\n" +msgstr "" + +#: ../../utils/net_rap.c:561 +msgid "Get the name of the server" +msgstr "" + +#: ../../utils/net_rap.c:562 +msgid "" +"net rap server name\n" +" Get the name of the server" +msgstr "" + +#: ../../utils/net_rap.c:569 +msgid "Get the servers in this domain/workgroup" +msgstr "" + +#: ../../utils/net_rap.c:570 +msgid "" +"net rap server domain\n" +" Get the servers in this domain/workgroup" +msgstr "" + +#: ../../utils/net_rap.c:584 +msgid "" +"net rap domain [misc. options] [target]\n" +"\tlists the domains or workgroups visible on the current network\n" +msgstr "" + +#: ../../utils/net_rap.c:602 +msgid "" +"\n" +"Enumerating domains:\n" +"\n" +"\tDomain name Server name of Browse Master\n" +"\t------------- ----------------------------\n" +msgstr "" + +#: ../../utils/net_rap.c:615 +msgid "" +"net rap printq [misc. options] [targets]\n" +"\tor\n" +"net rap printq info [<queue_name>] [misc. options] [targets]\n" +"\tlists the specified queue and jobs on the target server.\n" +"\tIf the queue name is not specified, all queues are listed.\n" +"\n" +msgstr "" + +#: ../../utils/net_rap.c:621 +msgid "" +"net rap printq delete [<queue name>] [misc. options] [targets]\n" +"\tdeletes the specified job number on the target server, or the\n" +"\tprinter queue if no job number is specified\n" +msgstr "" + +#: ../../utils/net_rap.c:635 +#, c-format +msgid "%-17.17s Queue %5d jobs " +msgstr "" + +#: ../../utils/net_rap.c:640 +msgid "*Printer Active*\n" +msgstr "" + +#: ../../utils/net_rap.c:643 +msgid "*Printer Paused*\n" +msgstr "" + +#: ../../utils/net_rap.c:646 +msgid "*Printer error*\n" +msgstr "" + +#: ../../utils/net_rap.c:649 +msgid "*Delete Pending*\n" +msgstr "" + +#: ../../utils/net_rap.c:652 ../../utils/net_rap.c:678 +msgid "**UNKNOWN STATUS**\n" +msgstr "" + +#: ../../utils/net_rap.c:666 +msgid "Waiting\n" +msgstr "" + +#: ../../utils/net_rap.c:669 +msgid "Held in queue\n" +msgstr "" + +#: ../../utils/net_rap.c:672 +msgid "Spooling\n" +msgstr "" + +#: ../../utils/net_rap.c:675 +msgid "Printing\n" +msgstr "" + +#: ../../utils/net_rap.c:683 +#, c-format +msgid "" +"Print queues at \\\\%s\n" +"\n" +"Name Job # Size Status\n" +"\n" +"-------------------------------------------------------------------------------\n" +msgstr "" + +#: ../../utils/net_rap.c:731 +msgid "Display info about print queues and jobs" +msgstr "" + +#: ../../utils/net_rap.c:732 +msgid "" +"net rap printq info [queue]\n" +" Display info about print jobs in queue.\n" +" If queue is not specified, all queues are listed" +msgstr "" + +#: ../../utils/net_rap.c:741 +msgid "Delete print job(s)" +msgstr "" + +#: ../../utils/net_rap.c:742 +msgid "" +"net rap printq delete\n" +" Delete print job(s)" +msgstr "" + +#: ../../utils/net_rap.c:751 +msgid "" +"net rap printq\n" +" List the print queue\n" +msgstr "" + +#: ../../utils/net_rap.c:864 ../../utils/net_rpc.c:909 +msgid "Add specified user" +msgstr "" + +#: ../../utils/net_rap.c:865 +msgid "" +"net rap user add\n" +" Add specified user" +msgstr "" + +#: ../../utils/net_rap.c:872 +msgid "List domain groups of specified user" +msgstr "" + +#: ../../utils/net_rap.c:873 +msgid "" +"net rap user info\n" +" List domain groups of specified user" +msgstr "" + +#: ../../utils/net_rap.c:881 ../../utils/net_rpc.c:925 +msgid "Remove specified user" +msgstr "" + +#: ../../utils/net_rap.c:882 +msgid "" +"net rap user delete\n" +" Remove specified user" +msgstr "" + +#: ../../utils/net_rap.c:892 +msgid "" +"net rap user\n" +" List all users\n" +msgstr "" + +#: ../../utils/net_rap.c:915 +#, c-format +msgid "Net user returned: %d\n" +msgstr "" + +#: ../../utils/net_rap.c:983 +msgid "Add specified group" +msgstr "" + +#: ../../utils/net_rap.c:984 +msgid "" +"net rap group add\n" +" Add specified group" +msgstr "" + +#: ../../utils/net_rap.c:991 +msgid "Delete specified group" +msgstr "" + +#: ../../utils/net_rap.c:992 +msgid "" +"net rap group delete\n" +" Delete specified group" +msgstr "" + +#: ../../utils/net_rap.c:1003 +msgid "" +"net rap group\n" +" List all groups\n" +msgstr "" + +#: ../../utils/net_rap.c:1012 +msgid "" +"Group name Comment\n" +"-----------------------------\n" +msgstr "" + +#: ../../utils/net_rap.c:1029 +msgid "" +"net rap groupmember LIST <group> [misc. options] [targets]\n" +"\t Enumerate users in a group\n" +"\n" +"net rap groupmember DELETE <group> <user> [misc. options] [targets]\n" +"\t Delete specified user from specified group\n" +"\n" +"net rap groupmember ADD <group> <user> [misc. options] [targets]\n" +"\t Add specified user to specified group\n" +msgstr "" + +#: ../../utils/net_rap.c:1096 +msgid "Add specified user to group" +msgstr "" + +#: ../../utils/net_rap.c:1097 +msgid "" +"net rap groupmember add\n" +" Add specified user to group" +msgstr "" + +#: ../../utils/net_rap.c:1104 +msgid "List users in group" +msgstr "" + +#: ../../utils/net_rap.c:1105 +msgid "" +"net rap groupmember list\n" +" List users in group" +msgstr "" + +#: ../../utils/net_rap.c:1112 +msgid "Remove user from group" +msgstr "" + +#: ../../utils/net_rap.c:1113 +msgid "" +"net rap groupmember delete\n" +" Remove user from group" +msgstr "" + +#: ../../utils/net_rap.c:1124 +msgid "" +"net rap validate <username> [password]\n" +"\tValidate user and password to check whether they can access target server or domain\n" +msgstr "" + +#: ../../utils/net_rap.c:1139 +msgid "" +"net rap service [misc. options] [targets] \n" +"\tlists all running service daemons on target server\n" +msgstr "" + +#: ../../utils/net_rap.c:1141 +msgid "" +"\n" +"net rap service START <name> [service startup arguments] [misc. options] [targets]\n" +"\tStart named service on remote server\n" +msgstr "" + +#: ../../utils/net_rap.c:1144 +msgid "" +"\n" +"net rap service STOP <name> [misc. options] [targets]\n" +"\n" +"\tStop named service on remote server\n" +msgstr "" + +#: ../../utils/net_rap.c:1174 +msgid "Start service on remote server" +msgstr "" + +#: ../../utils/net_rap.c:1175 +msgid "" +"net rap service start\n" +" Start service on remote server" +msgstr "" + +#: ../../utils/net_rap.c:1182 +msgid "Stop named serve on remote server" +msgstr "" + +#: ../../utils/net_rap.c:1183 +msgid "" +"net rap service stop\n" +" Stop named serve on remote server" +msgstr "" + +#: ../../utils/net_rap.c:1194 +msgid "" +"net rap service\n" +" List services on remote server\n" +msgstr "" + +#: ../../utils/net_rap.c:1204 +msgid "" +"Service name Comment\n" +"-----------------------------\n" +msgstr "" + +#: ../../utils/net_rap.c:1219 +msgid "" +"net rap password <user> <oldpwo> <newpw> [misc. options] [target]\n" +"\tchanges the password for the specified user at target\n" +msgstr "" + +#: ../../utils/net_rap.c:1246 +msgid "" +"net rap admin <remote command> [cmd args [env]] [misc. options] [targets]\n" +"\texecutes a remote command on an os/2 target server\n" +msgstr "" + +#: ../../utils/net_rap.c:1267 +msgid "List open files" +msgstr "" + +#: ../../utils/net_rap.c:1268 +msgid "" +"net rap file\n" +" List open files" +msgstr "" + +#: ../../utils/net_rap.c:1275 +msgid "List shares exported by server" +msgstr "" + +#: ../../utils/net_rap.c:1276 +msgid "" +"net rap share\n" +" List shares exported by server" +msgstr "" + +#: ../../utils/net_rap.c:1283 +msgid "List open sessions" +msgstr "" + +#: ../../utils/net_rap.c:1284 +msgid "" +"net rap session\n" +" List open sessions" +msgstr "" + +#: ../../utils/net_rap.c:1292 +msgid "" +"net rap server\n" +" List servers in domain/workgroup" +msgstr "" + +#: ../../utils/net_rap.c:1299 +msgid "List domains in network" +msgstr "" + +#: ../../utils/net_rap.c:1300 +msgid "" +"net rap domain\n" +" List domains in network" +msgstr "" + +#: ../../utils/net_rap.c:1307 +msgid "List printer queues on server" +msgstr "" + +#: ../../utils/net_rap.c:1308 +msgid "" +"net rap printq\n" +" List printer queues on server" +msgstr "" + +#: ../../utils/net_rap.c:1315 +msgid "List users" +msgstr "" + +#: ../../utils/net_rap.c:1316 +msgid "" +"net rap user\n" +" List users" +msgstr "" + +#: ../../utils/net_rap.c:1323 +msgid "List user groups" +msgstr "" + +#: ../../utils/net_rap.c:1324 +msgid "" +"net rap group\n" +" List user groups" +msgstr "" + +#: ../../utils/net_rap.c:1331 +msgid "Check username/password" +msgstr "" + +#: ../../utils/net_rap.c:1332 +msgid "" +"net rap validate\n" +" Check username/password" +msgstr "" + +#: ../../utils/net_rap.c:1339 +msgid "List/modify group memberships" +msgstr "" + +#: ../../utils/net_rap.c:1340 +msgid "" +"net rap groupmember\n" +" List/modify group memberships" +msgstr "" + +#: ../../utils/net_rap.c:1347 +msgid "Execute commands on remote OS/2" +msgstr "" + +#: ../../utils/net_rap.c:1348 +msgid "" +"net rap admin\n" +" Execute commands on remote OS/2" +msgstr "" + +#: ../../utils/net_rap.c:1355 +msgid "Start/stop remote service" +msgstr "" + +#: ../../utils/net_rap.c:1356 +msgid "" +"net rap service\n" +" Start/stop remote service" +msgstr "" + +#: ../../utils/net_rap.c:1363 ../../utils/net_rpc.c:933 +msgid "Change user password" +msgstr "" + +#: ../../utils/net_rap.c:1364 +msgid "" +"net rap password\n" +" Change user password" +msgstr "" + +#: ../../utils/net_registry.c:94 ../../utils/net_registry.c:197 ../../utils/net_registry.c:250 +#, c-format +msgid "open_hive failed: %s\n" +msgstr "" + +#: ../../utils/net_registry.c:101 +#, c-format +msgid "reg_openkey failed: %s\n" +msgstr "" + +#: ../../utils/net_registry.c:133 +msgid "Usage: net registry enumerate <path>\n" +msgstr "" + +#: ../../utils/net_registry.c:134 +msgid "Example: net registry enumerate 'HKLM\\Software\\Samba'\n" +msgstr "" + +#: ../../utils/net_registry.c:141 ../../utils/net_registry.c:286 ../../utils/net_registry.c:356 ../../utils/net_registry.c:390 ../../utils/net_registry.c:439 +#, c-format +msgid "open_key failed: %s\n" +msgstr "" + +#: ../../utils/net_registry.c:185 +msgid "Usage: net registry createkey <path>\n" +msgstr "" + +#: ../../utils/net_registry.c:186 +msgid "Example: net registry createkey 'HKLM\\Software\\Samba\\smbconf.127.0.0.1'\n" +msgstr "" + +#: ../../utils/net_registry.c:191 ../../utils/net_registry.c:244 +msgid "error: zero length key name given\n" +msgstr "" + +#: ../../utils/net_registry.c:205 +#, c-format +msgid "reg_createkey failed: %s\n" +msgstr "" + +#: ../../utils/net_registry.c:211 +msgid "createkey did nothing -- huh?\n" +msgstr "" + +#: ../../utils/net_registry.c:214 +#, c-format +msgid "createkey created %s\n" +msgstr "" + +#: ../../utils/net_registry.c:217 +#, c-format +msgid "createkey opened existing %s\n" +msgstr "" + +#: ../../utils/net_registry.c:238 +msgid "Usage: net registry deletekey <path>\n" +msgstr "" + +#: ../../utils/net_registry.c:239 +msgid "Example: net registry deletekey 'HKLM\\Software\\Samba\\smbconf.127.0.0.1'\n" +msgstr "" + +#: ../../utils/net_registry.c:257 ../../utils/net_registry.c:396 +#, c-format +msgid "reg_deletekey failed: %s\n" +msgstr "" + +#: ../../utils/net_registry.c:279 +msgid "usage: net rpc registry getvalue <key> <valuename>\n" +msgstr "" + +#: ../../utils/net_registry.c:292 +#, c-format +msgid "reg_queryvalue failed: %s\n" +msgstr "" + +#: ../../utils/net_registry.c:328 +msgid "usage: net rpc registry setvalue <key> <valuename> <type> [<val>]+\n" +msgstr "" + +#: ../../utils/net_registry.c:334 +#, c-format +msgid "Too many args for type %s\n" +msgstr "" + +#: ../../utils/net_registry.c:350 +#, c-format +msgid "type \"%s\" not implemented\n" +msgstr "" + +#: ../../utils/net_registry.c:362 +#, c-format +msgid "reg_setvalue failed: %s\n" +msgstr "" + +#: ../../utils/net_registry.c:383 +msgid "usage: net rpc registry deletevalue <key> <valuename>\n" +msgstr "" + +#: ../../utils/net_registry.c:427 +msgid "Usage: net registry getsd <path>\n" +msgstr "" + +#: ../../utils/net_registry.c:428 +msgid "Example: net registry getsd 'HKLM\\Software\\Samba'\n" +msgstr "" + +#: ../../utils/net_registry.c:445 +#, c-format +msgid "reg_getkeysecurity failed: %s\n" +msgstr "" + +#: ../../utils/net_registry.c:468 +msgid "Enumerate registry keys and values" +msgstr "" + +#: ../../utils/net_registry.c:469 +msgid "" +"net registry enumerate\n" +" Enumerate registry keys and values" +msgstr "" + +#: ../../utils/net_registry.c:476 +msgid "Create a new registry key" +msgstr "" + +#: ../../utils/net_registry.c:477 +msgid "" +"net registry createkey\n" +" Create a new registry key" +msgstr "" + +#: ../../utils/net_registry.c:484 +msgid "Delete a registry key" +msgstr "" + +#: ../../utils/net_registry.c:485 +msgid "" +"net registry deletekey\n" +" Delete a registry key" +msgstr "" + +#: ../../utils/net_registry.c:492 +msgid "Print a registry value" +msgstr "" + +#: ../../utils/net_registry.c:493 +msgid "" +"net registry getvalue\n" +" Print a registry value" +msgstr "" + +#: ../../utils/net_registry.c:500 +msgid "Print a registry value (raw format)" +msgstr "" + +#: ../../utils/net_registry.c:501 +msgid "" +"net registry getvalueraw\n" +" Print a registry value (raw format)" +msgstr "" + +#: ../../utils/net_registry.c:508 +msgid "Set a new registry value" +msgstr "" + +#: ../../utils/net_registry.c:509 +msgid "" +"net registry setvalue\n" +" Set a new registry value" +msgstr "" + +#: ../../utils/net_registry.c:516 +msgid "Delete a registry value" +msgstr "" + +#: ../../utils/net_registry.c:517 +msgid "" +"net registry deletevalue\n" +" Delete a registry value" +msgstr "" + +#: ../../utils/net_registry.c:524 +msgid "Get security descriptor" +msgstr "" + +#: ../../utils/net_registry.c:525 +msgid "" +"net registry getsd\n" +" Get security descriptor" +msgstr "" + +#: ../../utils/net_registry_util.c:28 +#, c-format +msgid "Keyname = %s\n" +msgstr "" + +#: ../../utils/net_registry_util.c:29 +#, c-format +msgid "Modtime = %s\n" +msgstr "" + +#: ../../utils/net_registry_util.c:32 +msgid "None" +msgstr "" + +#: ../../utils/net_registry_util.c:39 +#, c-format +msgid "Type = %s\n" +msgstr "" + +#: ../../utils/net_registry_util.c:45 ../../utils/net_registry_util.c:76 ../../utils/net_registry_util.c:82 +msgid "Value = " +msgstr "" + +#: ../../utils/net_registry_util.c:52 +msgid "Value = \"" +msgstr "" + +#: ../../utils/net_registry_util.c:64 +#, c-format +msgid "Value[%3.3d] = \"" +msgstr "" + +#: ../../utils/net_registry_util.c:78 +#, c-format +msgid "%d bytes\n" +msgstr "" + +#: ../../utils/net_registry_util.c:84 +msgid "<unprintable>\n" +msgstr "" + +#: ../../utils/net_registry_util.c:92 +#, c-format +msgid "Valuename = %s\n" +msgstr "" + +#: ../../utils/net_rpc.c:66 +msgid "Could not initialise lsa pipe\n" +msgstr "" + +#: ../../utils/net_rpc.c:74 +#, c-format +msgid "open_policy failed: %s\n" +msgstr "" + +#: ../../utils/net_rpc.c:84 +#, c-format +msgid "lsaquery failed: %s\n" +msgstr "" + +#: ../../utils/net_rpc.c:257 +msgid "" +"Usage:\n" +"net rpc changetrustpw\n" +" Change the machine trust password\n" +msgstr "" + +#: ../../utils/net_rpc.c:341 +#, c-format +msgid "Joined domain %s.\n" +msgstr "" + +#: ../../utils/net_rpc.c:387 +msgid "" +"Usage:\n" +"net rpc oldjoin\n" +" Join a domain the old way\n" +msgstr "" + +#: ../../utils/net_rpc.c:396 +msgid "Failed to join domain\n" +msgstr "" + +#: ../../utils/net_rpc.c:417 +#, c-format +msgid "" +"Usage:\n" +"net rpc join -U <username>[%%password] <type>\n" +" Join a domain\n" +" username\tName of the admin user password\tPassword of the admin user, will prompt if not specified\n" +" type\tCan be one of the following:\n" +"\t\tMEMBER\tJoin as member server (default)\n" +"\t\tBDC\tJoin as BDC\n" +"\t\tPDC\tJoin as PDC\n" +msgstr "" + +#: ../../utils/net_rpc.c:431 +msgid "cannot join as standalone machine\n" +msgstr "" + +#: ../../utils/net_rpc.c:486 +#, c-format +msgid "Could not connect to SAM: %s\n" +msgstr "" + +#: ../../utils/net_rpc.c:498 +#, c-format +msgid "Could not open domain: %s\n" +msgstr "" + +#: ../../utils/net_rpc.c:508 +#, c-format +msgid "Domain Name: %s\n" +msgstr "" + +#: ../../utils/net_rpc.c:510 +#, c-format +msgid "Domain SID: %s\n" +msgstr "" + +#: ../../utils/net_rpc.c:511 +#, c-format +msgid "Sequence number: %llu\n" +msgstr "" + +#: ../../utils/net_rpc.c:513 +#, c-format +msgid "Num users: %u\n" +msgstr "" + +#: ../../utils/net_rpc.c:514 +#, c-format +msgid "Num domain groups: %u\n" +msgstr "" + +#: ../../utils/net_rpc.c:515 +#, c-format +msgid "Num local groups: %u\n" +msgstr "" + +#: ../../utils/net_rpc.c:532 +msgid "" +"Usage:\n" +"net rpc info\n" +" Display information about the domain\n" +msgstr "" + +#: ../../utils/net_rpc.c:571 +#, c-format +msgid "Storing SID %s for Domain %s in secrets.tdb\n" +msgstr "" + +#: ../../utils/net_rpc.c:592 +msgid "" +"Usage:\n" +"net rpc getsid\n" +" Fetch domain SID into local secrets.tdb\n" +msgstr "" + +#: ../../utils/net_rpc.c:649 +#, c-format +msgid "Failed to add user '%s' with error: %s.\n" +msgstr "" + +#: ../../utils/net_rpc.c:654 +#, c-format +msgid "Added user '%s'.\n" +msgstr "" + +#: ../../utils/net_rpc.c:687 +#, c-format +msgid "Failed to rename user from %s to %s - %s\n" +msgstr "" + +#: ../../utils/net_rpc.c:691 +#, c-format +msgid "Renamed user from %s to %s\n" +msgstr "" + +#: ../../utils/net_rpc.c:719 +#, c-format +msgid "Failed to delete user '%s' with: %s.\n" +msgstr "" + +#: ../../utils/net_rpc.c:724 +#, c-format +msgid "Deleted user '%s'.\n" +msgstr "" + +#: ../../utils/net_rpc.c:770 +#, c-format +msgid "Failed to set password for '%s' with error: %s.\n" +msgstr "" + +#: ../../utils/net_rpc.c:813 +#, c-format +msgid "Failed to get groups for '%s' with error: %s.\n" +msgstr "" + +#: ../../utils/net_rpc.c:910 +msgid "" +"net rpc user add\n" +" Add specified user" +msgstr "" + +#: ../../utils/net_rpc.c:917 +msgid "List domain groups of user" +msgstr "" + +#: ../../utils/net_rpc.c:918 +msgid "" +"net rpc user info\n" +" Lis domain groups of user" +msgstr "" + +#: ../../utils/net_rpc.c:926 +msgid "" +"net rpc user delete\n" +" Remove specified user" +msgstr "" + +#: ../../utils/net_rpc.c:934 +msgid "" +"net rpc user password\n" +" Change user password" +msgstr "" + +#: ../../utils/net_rpc.c:941 +msgid "Rename specified user" +msgstr "" + +#: ../../utils/net_rpc.c:942 +msgid "" +"net rpc user rename\n" +" Rename specified user" +msgstr "" + +#: ../../utils/net_rpc.c:961 +msgid "" +"net rpc user\n" +" List all users\n" +msgstr "" + +#: ../../utils/net_rpc.c:1011 +#, c-format +msgid "usage: %s <username>\n" +msgstr "" + +#: ../../utils/net_rpc.c:1022 +#, c-format +msgid "Could not lookup %s: %s\n" +msgstr "" + +#: ../../utils/net_rpc.c:1028 +#, c-format +msgid "%s is a %s, not a user\n" +msgstr "" + +#: ../../utils/net_rpc.c:1035 +#, c-format +msgid "%s is not in our domain\n" +msgstr "" + +#: ../../utils/net_rpc.c:1092 +#, c-format +msgid "usage: %s show <username>\n" +msgstr "" + +#: ../../utils/net_rpc.c:1104 +#, c-format +msgid "user rid: %d, group rid: %d\n" +msgstr "" + +#: ../../utils/net_rpc.c:1145 +#, c-format +msgid "usage: %s <username> [new value|NULL]\n" +msgstr "" + +#: ../../utils/net_rpc.c:1168 +#, c-format +msgid "%s's %s: [%s]\n" +msgstr "" + +#: ../../utils/net_rpc.c:1190 +#, c-format +msgid "Set %s's %s from [%s] to [%s]\n" +msgstr "" + +#. TRANSATORS: The yes|no here are program keywords. Please do +#. not translate. +#: ../../utils/net_rpc.c:1236 +#, c-format +msgid "usage: %s <username> [yes|no]\n" +msgstr "" + +#: ../../utils/net_rpc.c:1261 +#, c-format +msgid "%s's %s flag: %s\n" +msgstr "" + +#: ../../utils/net_rpc.c:1277 +#, c-format +msgid "Set %s's %s flag from [%s] to [%s]\n" +msgstr "" + +#: ../../utils/net_rpc.c:1303 +msgid "Show/Set a user's full name" +msgstr "" + +#: ../../utils/net_rpc.c:1306 +msgid "Show/Set a user's home directory" +msgstr "" + +#: ../../utils/net_rpc.c:1309 +msgid "Show/Set a user's home drive" +msgstr "" + +#: ../../utils/net_rpc.c:1312 +msgid "Show/Set a user's logon script" +msgstr "" + +#: ../../utils/net_rpc.c:1315 +msgid "Show/Set a user's profile path" +msgstr "" + +#: ../../utils/net_rpc.c:1318 +msgid "Show/Set a user's description" +msgstr "" + +#: ../../utils/net_rpc.c:1321 +msgid "Show/Set whether a user is disabled" +msgstr "" + +#: ../../utils/net_rpc.c:1324 +msgid "Show/Set whether a user locked out" +msgstr "" + +#: ../../utils/net_rpc.c:1327 +msgid "Show/Set whether a user does not need a password" +msgstr "" + +#: ../../utils/net_rpc.c:1330 +msgid "Show/Set whether a user's password does not expire" +msgstr "" + +#: ../../utils/net_rpc.c:1345 +msgid "List available users" +msgstr "" + +#: ../../utils/net_rpc.c:1348 +msgid "List the domain groups a user is member of" +msgstr "" + +#: ../../utils/net_rpc.c:1351 +msgid "Show info about a user" +msgstr "" + +#: ../../utils/net_rpc.c:1354 +msgid "Show/Modify a user's fields" +msgstr "" + +#: ../../utils/net_rpc.c:1425 +msgid "Request samr_Connect2 failed\n" +msgstr "" + +#: ../../utils/net_rpc.c:1436 +msgid "Request open_domain failed\n" +msgstr "" + +#: ../../utils/net_rpc.c:1449 +#, c-format +msgid "Lookup of '%s' failed\n" +msgstr "" + +#: ../../utils/net_rpc.c:1462 +msgid "Request open_group failed" +msgstr "" + +#: ../../utils/net_rpc.c:1474 +#, c-format +msgid "Unable to query group members of %s" +msgstr "" + +#: ../../utils/net_rpc.c:1481 +#, c-format +msgid "Domain Group %s (rid: %d) has %d members\n" +msgstr "" + +#: ../../utils/net_rpc.c:1496 +#, c-format +msgid "Unable to open group member %d\n" +msgstr "" + +#: ../../utils/net_rpc.c:1508 +#, c-format +msgid "Unable to lookup userinfo for group member %d\n" +msgstr "" + +#: ../../utils/net_rpc.c:1516 +#, c-format +msgid "Group is primary group of %s\n" +msgstr "" + +#: ../../utils/net_rpc.c:1527 +msgid "Unable to delete group because some of it's members have it as primary group\n" +msgstr "" + +#: ../../utils/net_rpc.c:1538 +#, c-format +msgid "Remove group member %d..." +msgstr "" + +#: ../../utils/net_rpc.c:1546 +msgid "ok\n" +msgstr "" + +#: ../../utils/net_rpc.c:1549 +msgid "failed\n" +msgstr "" + +#: ../../utils/net_rpc.c:1567 +msgid "Request open_alias failed\n" +msgstr "" + +#: ../../utils/net_rpc.c:1575 +#, c-format +msgid "%s is of type %s. This command is only for deleting local or global groups\n" +msgstr "" + +#: ../../utils/net_rpc.c:1584 +#, c-format +msgid "Deleted %s '%s'\n" +msgstr "" + +#: ../../utils/net_rpc.c:1587 +#, c-format +msgid "Deleting of %s failed: %s\n" +msgstr "" + +#: ../../utils/net_rpc.c:1624 +#, c-format +msgid "Failed to add group '%s' with error: %s.\n" +msgstr "" + +#: ../../utils/net_rpc.c:1629 +#, c-format +msgid "Added group '%s'.\n" +msgstr "" + +#: ../../utils/net_rpc.c:1657 +#, c-format +msgid "Failed to add alias '%s' with error: %s.\n" +msgstr "" + +#: ../../utils/net_rpc.c:1662 +#, c-format +msgid "Added alias '%s'.\n" +msgstr "" + +#: ../../utils/net_rpc.c:1782 ../../utils/net_rpc.c:1832 ../../utils/net_rpc.c:1989 ../../utils/net_rpc.c:2036 +#, c-format +msgid "Could not lookup up group member %s\n" +msgstr "" + +#: ../../utils/net_rpc.c:1892 +msgid "" +"Usage:\n" +"net rpc group addmem <group> <member>\n" +" Add a member to a group\n" +" group\tGroup to add member to\n" +" member\tMember to add to group\n" +msgstr "" + +#: ../../utils/net_rpc.c:1902 ../../utils/net_rpc.c:2104 +#, c-format +msgid "Could not lookup group name %s\n" +msgstr "" + +#: ../../utils/net_rpc.c:1912 ../../utils/net_rpc.c:1923 +#, c-format +msgid "Could not add %s to %s: %s\n" +msgstr "" + +#: ../../utils/net_rpc.c:1929 +#, c-format +msgid "Can only add members to global or local groups which %s is not\n" +msgstr "" + +#: ../../utils/net_rpc.c:2094 +msgid "" +"Usage:\n" +"net rpc group delmem <group> <member>\n" +" Delete a member from a group\n" +" group\tGroup to delete member from\n" +" member\tMember to delete from group\n" +msgstr "" + +#: ../../utils/net_rpc.c:2114 ../../utils/net_rpc.c:2125 +#, c-format +msgid "Could not del %s from %s: %s\n" +msgstr "" + +#: ../../utils/net_rpc.c:2131 +#, c-format +msgid "Can only delete members from global or local groups which %s is not\n" +msgstr "" + +#: ../../utils/net_rpc.c:2178 +msgid "" +"Usage:\n" +"net rpc group list [global] [local] [builtin]\n" +" List groups on RPC server\n" +" global\tList global groups\n" +" local\tList local groups\n" +" builtin\tList builtin groups\n" +" If none of global, local or builtin is specified, all three options are considered set\n" +msgstr "" diff --git a/source3/locale/net/genmsg b/source3/locale/net/genmsg new file mode 100755 index 0000000000..2e0769ecea --- /dev/null +++ b/source3/locale/net/genmsg @@ -0,0 +1,58 @@ +#!/bin/sh +# Copyright (C) 2003 TAKAHASHI Motonobu <monyo@samba.org> +# Copyright (C) 2009 Kai Blin <kai@samba.org> +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see <http://www.gnu.org/licenses/>. +# +add_basedir_to_filelist() { + BASEDIR="$1" + shift; + FILELIST="$@" + FULL_LIST="" + for file in ${FILELIST}; do + FULL_LIST="${FULL_LIST} $BASEDIR/${file}" + done + echo ${FULL_LIST} +} + +FILES=`add_basedir_to_filelist ../../utils net.c net_ads.c net_ads_gpo.c \ + net_afs.c net_cache.c net_conf.c net_dom.c net_eventlog.c net_file.c \ + net_group.c net_groupmap.c net_help.c net_help_common.c net_idmap.c \ + net_join.c net_lookup.c net_lua.c net_rap.c net_registry.c \ + net_registry_util.c net_rpc.c net_rpc_audit.c` + +LANGS="af ar bg bn bs ca cs cy da de el en_GB en_US es et fi fr gl gu he hi hr + hu id it ja ka km ko lo lt mk mr nb nl pa pl pt_BR pt ro ru si sk sl sr + sv ta th tr uk vi wa xh zh_CN zh_TW zu" +XGETTEXT=xgettext +MSGMERGE=msgmerge + +WIDTH=256 + +${XGETTEXT} --default-domain="net" \ + --add-comments \ + --keyword=_ --keyword=N_ \ + --width=${WIDTH} \ + ${FILES} + +for lang in ${LANGS}; do + printf "%s " ${lang} + touch ${lang}.po + mv ${lang}.po ${lang}.po.old + ${MSGMERGE} --width=${WIDTH} ${lang}.po.old net.po -o ${lang}.po + rm -rf ${lang}.po.old +done + +rm -rf net.po + diff --git a/source3/modules/vfs_default.c b/source3/modules/vfs_default.c index a4922e7e05..2ee2fd1249 100644 --- a/source3/modules/vfs_default.c +++ b/source3/modules/vfs_default.c @@ -780,6 +780,21 @@ static int vfswrap_ntimes(vfs_handle_struct *handle, goto out; } + if (null_timespec(ft->atime)) { + ft->atime= smb_fname->st.st_ex_atime; + } + + if (null_timespec(ft->mtime)) { + ft->mtime = smb_fname->st.st_ex_mtime; + } + + if ((timespec_compare(&ft->atime, + &smb_fname->st.st_ex_atime) == 0) && + (timespec_compare(&ft->mtime, + &smb_fname->st.st_ex_mtime) == 0)) { + return 0; + } + #if defined(HAVE_UTIMES) if (ft != NULL) { struct timeval tv[2]; diff --git a/source3/po/de.msg b/source3/po/de.msg index 8c51cc093f..31baaf794c 100644 --- a/source3/po/de.msg +++ b/source3/po/de.msg @@ -19,7 +19,7 @@ msgid "" msgstr "" "Project-Id-Version: swat\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-07-30 12:18+0200\n" +"POT-Creation-Date: 2007-06-04 18:15+0200\n" "PO-Revision-Date: 2007-06-10 11:52+0200\n" "Last-Translator: Helge Kreutzmann <debian@helgefjell.de>\n" "Language-Team: German <debian-l10n-german@lists.debian.org>\n" @@ -27,4014 +27,590 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../web/swat.c:153 +#: ../web/swat.c:139 #, c-format msgid "ERROR: Can't open %s" msgstr "FEHLER: Kann %s nicht öffnen" -#: ../web/swat.c:241 +#: ../web/swat.c:223 msgid "Help" msgstr "Hilfe" -#: ../web/swat.c:247 ../web/swat.c:272 ../web/swat.c:293 ../web/swat.c:302 ../web/swat.c:311 ../web/swat.c:317 ../web/swat.c:329 ../web/swat.c:343 +#: ../web/swat.c:229 ../web/swat.c:254 ../web/swat.c:275 ../web/swat.c:285 +#: ../web/swat.c:294 ../web/swat.c:303 ../web/swat.c:309 ../web/swat.c:315 +#: ../web/swat.c:328 msgid "Set Default" msgstr "Standardwert setzen" -#: ../web/swat.c:465 +#: ../web/swat.c:450 #, c-format msgid "failed to open %s for writing" msgstr "konnte %s nicht zum Schreiben öffnen" -#: ../web/swat.c:488 +#: ../web/swat.c:473 #, c-format msgid "Can't reload %s" msgstr "Kann %s nicht erneut laden" -#: ../web/swat.c:561 +#: ../web/swat.c:543 #, c-format msgid "Logged in as <b>%s</b>" msgstr "Verbunden als <b>%s</b>" -#: ../web/swat.c:565 +#: ../web/swat.c:547 msgid "Home" msgstr "Home" -#: ../web/swat.c:567 +#: ../web/swat.c:549 msgid "Globals" msgstr "Globals" -#: ../web/swat.c:568 +#: ../web/swat.c:550 msgid "Shares" msgstr "Freigaben" -#: ../web/swat.c:569 +#: ../web/swat.c:551 msgid "Printers" msgstr "Drucker" -#: ../web/swat.c:570 +#: ../web/swat.c:552 msgid "Wizard" msgstr "Assistent" -#: ../web/swat.c:574 +#: ../web/swat.c:556 msgid "Status" msgstr "Status" -#: ../web/swat.c:575 +#: ../web/swat.c:557 msgid "View Config" msgstr "Zeige Konfiguration" -#: ../web/swat.c:577 +#: ../web/swat.c:559 msgid "Password Management" msgstr "Passwortverwaltung" -#: ../web/swat.c:587 +#: ../web/swat.c:569 msgid "Current View Is" msgstr "Aktuelle Ansicht lautet" -#: ../web/swat.c:588 ../web/swat.c:591 +#: ../web/swat.c:570 ../web/swat.c:573 msgid "Basic" msgstr "Einfache Ansicht" -#: ../web/swat.c:589 ../web/swat.c:592 +#: ../web/swat.c:571 ../web/swat.c:574 msgid "Advanced" msgstr "Erweiterte Ansicht" -#: ../web/swat.c:590 +#: ../web/swat.c:572 msgid "Change View To" msgstr "Ansicht ändern in" -#: ../web/swat.c:619 +#: ../web/swat.c:601 msgid "Current Config" msgstr "Aktuelle Konfiguration" -#: ../web/swat.c:623 +#: ../web/swat.c:605 msgid "Normal View" msgstr "Normale Ansicht" -#: ../web/swat.c:625 +#: ../web/swat.c:607 msgid "Full View" msgstr "Komplette Ansicht" #. Here we first set and commit all the parameters that were selected #. in the previous screen. -#: ../web/swat.c:644 +#: ../web/swat.c:626 msgid "Wizard Parameter Edit Page" msgstr "Bearbeitungsseite der Assistenten-Parameter" -#: ../web/swat.c:673 +#: ../web/swat.c:655 msgid "Note: smb.conf file has been read and rewritten" msgstr "Hinweis: smb.conf wurde gelesen und überschrieben" #. Here we go ... -#: ../web/swat.c:779 +#: ../web/swat.c:763 msgid "Samba Configuration Wizard" msgstr "Samba-Konfigurationsassistent" -#: ../web/swat.c:783 -msgid "The \"Rewrite smb.conf file\" button will clear the smb.conf file of all default values and of comments." -msgstr "Der Knopf »Schreibe smb.conf neu« wird alle Kommentare und Standardwerte aus der smb.conf löschen." +#: ../web/swat.c:767 +msgid "" +"The \"Rewrite smb.conf file\" button will clear the smb.conf file of all " +"default values and of comments." +msgstr "" +"Der Knopf »Schreibe smb.conf neu« wird alle Kommentare und Standardwerte " +"aus der smb.conf löschen." -#: ../web/swat.c:784 +#: ../web/swat.c:768 msgid "The same will happen if you press the commit button." msgstr "Das gleiche passiert beim Knopf »übernehmen«." -#: ../web/swat.c:787 +#: ../web/swat.c:771 msgid "Rewrite smb.conf file" msgstr "Schreibe smb.conf neu" -#: ../web/swat.c:788 +#: ../web/swat.c:772 msgid "Commit" msgstr "Übernehmen" -#: ../web/swat.c:789 +#: ../web/swat.c:773 msgid "Edit Parameter Values" msgstr "Bearbeite Parameterwerte" -#: ../web/swat.c:795 +#: ../web/swat.c:779 msgid "Server Type" msgstr "Server-Typ" -#: ../web/swat.c:796 +#: ../web/swat.c:780 msgid "Stand Alone" msgstr "Einzelserver" -#: ../web/swat.c:797 +#: ../web/swat.c:781 msgid "Domain Member" msgstr "Domänenmitglied" -#: ../web/swat.c:798 +#: ../web/swat.c:782 msgid "Domain Controller" msgstr "Domänencontroller" -#: ../web/swat.c:801 +#: ../web/swat.c:785 msgid "Unusual Type in smb.conf - Please Select New Mode" -msgstr "Ungewöhnlicher Typ in der smb.conf - Bitte wählen Sie einen neuen Modus" +msgstr "" +"Ungewöhnlicher Typ in der smb.conf - Bitte wählen Sie einen neuen Modus" -#: ../web/swat.c:803 +#: ../web/swat.c:787 msgid "Configure WINS As" msgstr "Konfiguriere WINS als" -#: ../web/swat.c:804 +#: ../web/swat.c:788 msgid "Not Used" msgstr "Nicht benutzt" -#: ../web/swat.c:805 +#: ../web/swat.c:789 msgid "Server for client use" msgstr "Server für Client-Verwendung" -#: ../web/swat.c:806 +#: ../web/swat.c:790 msgid "Client of another WINS server" msgstr "Client eines anderen WINS-Servers" -#: ../web/swat.c:808 +#: ../web/swat.c:792 msgid "Remote WINS Server" msgstr "Entfernter WINS-Server:" -#: ../web/swat.c:819 +#: ../web/swat.c:803 msgid "Error: WINS Server Mode and WINS Support both set in smb.conf" -msgstr "Fehler: Sowohl WINS-Server-Modus als auch WINS-Unterstützung in smb.conf aktiviert" +msgstr "" +"Fehler: Sowohl WINS-Server-Modus als auch WINS-Unterstützung in smb.conf " +"aktiviert" -#: ../web/swat.c:820 +#: ../web/swat.c:804 msgid "Please Select desired WINS mode above." msgstr "Bitte wählen Sie den gewünschten WINS-Modus oben aus." -#: ../web/swat.c:822 +#: ../web/swat.c:806 msgid "Expose Home Directories" msgstr "Home-Verzeichnisse freigeben" -#: ../web/swat.c:837 -msgid "The above configuration options will set multiple parameters and will generally assist with rapid Samba deployment." -msgstr "Die obigen Konfigurationsoptionen bearbeiten mehrere Parameter und dienen als Hilfe zur schnellen Samba-Einrichtung." +#: ../web/swat.c:821 +msgid "" +"The above configuration options will set multiple parameters and will " +"generally assist with rapid Samba deployment." +msgstr "" +"Die obigen Konfigurationsoptionen bearbeiten mehrere Parameter und dienen als " +"Hilfe zur schnellen Samba-Einrichtung." -#: ../web/swat.c:850 +#: ../web/swat.c:834 msgid "Global Parameters" msgstr "Globale Parameter" -#: ../web/swat.c:878 ../web/swat.c:986 ../web/swat.c:1344 +#: ../web/swat.c:862 ../web/swat.c:966 ../web/swat.c:1318 msgid "Commit Changes" msgstr "Änderungen speichern" -#: ../web/swat.c:882 ../web/swat.c:989 ../web/swat.c:1346 +#: ../web/swat.c:866 ../web/swat.c:969 ../web/swat.c:1320 msgid "Reset Values" msgstr "Werte zurücksetzen" -#: ../web/swat.c:908 +#: ../web/swat.c:891 msgid "Share Parameters" msgstr "Parameter der Freigabe" -#: ../web/swat.c:955 +#: ../web/swat.c:934 msgid "Choose Share" msgstr "Wähle Freigabe" -#: ../web/swat.c:971 +#: ../web/swat.c:951 msgid "Delete Share" msgstr "Lösche Freigabe" -#: ../web/swat.c:978 +#: ../web/swat.c:958 msgid "Create Share" msgstr "Erstelle Freigabe" -#: ../web/swat.c:1014 +#: ../web/swat.c:994 msgid "password change in demo mode rejected" msgstr "Änderung des Passworts im Demo-Modus nicht möglich" -#: ../web/swat.c:1028 +#: ../web/swat.c:1007 msgid "Can't setup password database vectors." msgstr "Kann Passwort-Datenbankvektoren nicht einrichten" -#: ../web/swat.c:1056 +#: ../web/swat.c:1033 msgid " Must specify \"User Name\" " msgstr " »Benutzername« muss angegeben werden " -#: ../web/swat.c:1072 +#: ../web/swat.c:1049 msgid " Must specify \"Old Password\" " msgstr " »Altes Passwort« muss angegeben werden " -#: ../web/swat.c:1078 +#: ../web/swat.c:1055 msgid " Must specify \"Remote Machine\" " msgstr " »Entfernter Server« muss angegeben werden " -#: ../web/swat.c:1085 +#: ../web/swat.c:1062 msgid " Must specify \"New, and Re-typed Passwords\" " msgstr " »Neues/wiederholtes Passwort« muss angegeben werden " -#: ../web/swat.c:1091 +#: ../web/swat.c:1068 msgid " Re-typed password didn't match new password " msgstr " Das wiederholte Passwort stimmt nicht mit dem neuen Passwort überein" -#: ../web/swat.c:1124 +#: ../web/swat.c:1101 #, c-format msgid " The passwd for '%s' has been changed." msgstr " Das Passwort für '%s' wurde geändert." -#: ../web/swat.c:1127 +#: ../web/swat.c:1104 #, c-format msgid " The passwd for '%s' has NOT been changed." msgstr " Das Passwort für '%s' wurde NICHT geändert." -#: ../web/swat.c:1152 +#: ../web/swat.c:1129 msgid "Server Password Management" msgstr "Verwaltung des Server-Passwortes" #. #. * Create all the dialog boxes for data collection #. -#: ../web/swat.c:1161 ../web/swat.c:1208 +#: ../web/swat.c:1138 ../web/swat.c:1185 msgid "User Name" msgstr "Benutzername" -#: ../web/swat.c:1164 ../web/swat.c:1210 +#: ../web/swat.c:1141 ../web/swat.c:1187 msgid "Old Password" msgstr "Altes Passwort" -#: ../web/swat.c:1167 ../web/swat.c:1212 +#: ../web/swat.c:1144 ../web/swat.c:1189 msgid "New Password" msgstr "Neues Passwort" -#: ../web/swat.c:1169 ../web/swat.c:1214 +#: ../web/swat.c:1146 ../web/swat.c:1191 msgid "Re-type New Password" msgstr "Wiederhole neues Passwort" -#: ../web/swat.c:1177 ../web/swat.c:1225 +#: ../web/swat.c:1154 ../web/swat.c:1202 msgid "Change Password" msgstr "Ändere Passwort" -#: ../web/swat.c:1180 +#: ../web/swat.c:1157 msgid "Add New User" msgstr "Füge neuen Benutzer hinzu" -#: ../web/swat.c:1182 +#: ../web/swat.c:1159 msgid "Delete User" msgstr "Lösche Benutzer" -#: ../web/swat.c:1184 +#: ../web/swat.c:1161 msgid "Disable User" msgstr "Deaktiviere Benutzer" -#: ../web/swat.c:1186 +#: ../web/swat.c:1163 msgid "Enable User" msgstr "Aktiviere Benutzer" -#: ../web/swat.c:1199 +#: ../web/swat.c:1176 msgid "Client/Server Password Management" msgstr "Client/Server Passwort-Verwaltung" -#: ../web/swat.c:1216 +#: ../web/swat.c:1193 msgid "Remote Machine" msgstr "Entfernte Maschine" -#: ../web/swat.c:1255 +#: ../web/swat.c:1232 msgid "Printer Parameters" msgstr "Drucker-Parameter" -#: ../web/swat.c:1257 +#: ../web/swat.c:1234 msgid "Important Note:" msgstr "Wichtiger Hinweis:" -#: ../web/swat.c:1258 +#: ../web/swat.c:1235 +#, c-format msgid "Printer names marked with [*] in the Choose Printer drop-down box " msgstr "Mit [*] gekennzeichnete Drucker in der »Wähle Drucker«-Auswahlliste " -#: ../web/swat.c:1259 +#: ../web/swat.c:1236 +#, c-format msgid "are autoloaded printers from " msgstr "sind automatisch geladene Drucker aus " -#: ../web/swat.c:1260 +#: ../web/swat.c:1237 msgid "Printcap Name" msgstr "Printcap-Name" -#: ../web/swat.c:1261 +#: ../web/swat.c:1238 msgid "Attempting to delete these printers from SWAT will have no effect." -msgstr "Der Versuch, diese Drucker von SWAT aus zu löschen, wird keine Auswirkung haben." +msgstr "" +"Der Versuch, diese Drucker von SWAT aus zu löschen, wird keine Auswirkung " +"haben." -#: ../web/swat.c:1310 +#: ../web/swat.c:1284 msgid "Choose Printer" msgstr "Wähle Drucker" -#: ../web/swat.c:1329 +#: ../web/swat.c:1303 msgid "Delete Printer" msgstr "Lösche Drucker" -#: ../web/swat.c:1336 +#: ../web/swat.c:1310 msgid "Create Printer" msgstr "Erstelle Drucker" -#: ../web/statuspage.c:151 +#: ../web/statuspage.c:139 msgid "RDWR " msgstr "LESE/SCHREIBE " -#: ../web/statuspage.c:153 +#: ../web/statuspage.c:141 msgid "WRONLY " msgstr "NUR SCHREIBE " -#: ../web/statuspage.c:155 +#: ../web/statuspage.c:143 msgid "RDONLY " msgstr "NUR LESE " -#: ../web/statuspage.c:329 +#: ../web/statuspage.c:330 msgid "Server Status" msgstr "Server-Status" -#: ../web/statuspage.c:334 +#: ../web/statuspage.c:335 msgid "Auto Refresh" msgstr "Automatische Aktualisierung" -#: ../web/statuspage.c:335 ../web/statuspage.c:340 +#: ../web/statuspage.c:336 ../web/statuspage.c:341 msgid "Refresh Interval: " msgstr "Aktualisierungsintervall: " -#: ../web/statuspage.c:339 +#: ../web/statuspage.c:340 msgid "Stop Refreshing" msgstr "Stoppe Aktualisierung" -#: ../web/statuspage.c:348 +#: ../web/statuspage.c:355 msgid "version:" msgstr "Version:" -#: ../web/statuspage.c:351 +#: ../web/statuspage.c:358 msgid "smbd:" msgstr "smbd:" -#: ../web/statuspage.c:351 ../web/statuspage.c:364 ../web/statuspage.c:378 +#: ../web/statuspage.c:358 ../web/statuspage.c:371 ../web/statuspage.c:385 msgid "running" msgstr "aktiv" -#: ../web/statuspage.c:351 ../web/statuspage.c:364 ../web/statuspage.c:378 +#: ../web/statuspage.c:358 ../web/statuspage.c:371 ../web/statuspage.c:385 msgid "not running" msgstr "inaktiv" -#: ../web/statuspage.c:355 +#: ../web/statuspage.c:362 msgid "Stop smbd" msgstr "Stoppe smbd" -#: ../web/statuspage.c:357 +#: ../web/statuspage.c:364 msgid "Start smbd" msgstr "Starte smbd" -#: ../web/statuspage.c:359 +#: ../web/statuspage.c:366 msgid "Restart smbd" msgstr "Starte smbd neu" -#: ../web/statuspage.c:364 +#: ../web/statuspage.c:371 msgid "nmbd:" msgstr "nmbd:" -#: ../web/statuspage.c:368 +#: ../web/statuspage.c:375 msgid "Stop nmbd" msgstr "Stoppe nmbd" -#: ../web/statuspage.c:370 +#: ../web/statuspage.c:377 msgid "Start nmbd" msgstr "Starte nmbd" -#: ../web/statuspage.c:372 +#: ../web/statuspage.c:379 msgid "Restart nmbd" msgstr "Starte nmbd neu" -#: ../web/statuspage.c:378 +#: ../web/statuspage.c:385 msgid "winbindd:" msgstr "winbindd:" -#: ../web/statuspage.c:382 +#: ../web/statuspage.c:389 msgid "Stop winbindd" msgstr "Stoppe winbindd" -#: ../web/statuspage.c:384 +#: ../web/statuspage.c:391 msgid "Start winbindd" msgstr "Starte winbindd" -#: ../web/statuspage.c:386 +#: ../web/statuspage.c:393 msgid "Restart winbindd" msgstr "Starte winbindd neu" #. stop, restart all -#: ../web/statuspage.c:395 +#: ../web/statuspage.c:402 msgid "Stop All" msgstr "Alle Stoppen" -#: ../web/statuspage.c:396 +#: ../web/statuspage.c:403 msgid "Restart All" msgstr "Alle neu starten" #. start all -#: ../web/statuspage.c:400 +#: ../web/statuspage.c:407 msgid "Start All" msgstr "Alle starten" -#: ../web/statuspage.c:407 +#: ../web/statuspage.c:414 msgid "Active Connections" msgstr "Aktive Verbindungen" -#: ../web/statuspage.c:409 ../web/statuspage.c:422 ../web/statuspage.c:431 +#: ../web/statuspage.c:416 ../web/statuspage.c:429 ../web/statuspage.c:437 msgid "PID" msgstr "PID" -#: ../web/statuspage.c:409 ../web/statuspage.c:422 +#: ../web/statuspage.c:416 ../web/statuspage.c:429 msgid "Client" msgstr "Client" -#: ../web/statuspage.c:409 +#: ../web/statuspage.c:416 msgid "IP address" msgstr "IP-Adresse" -#: ../web/statuspage.c:409 ../web/statuspage.c:422 ../web/statuspage.c:431 +#: ../web/statuspage.c:416 ../web/statuspage.c:429 ../web/statuspage.c:437 msgid "Date" msgstr "Datum" -#: ../web/statuspage.c:411 +#: ../web/statuspage.c:418 msgid "Kill" msgstr "Töten" -#: ../web/statuspage.c:419 +#: ../web/statuspage.c:426 msgid "Active Shares" msgstr "Aktive Freigaben" -#: ../web/statuspage.c:422 +#: ../web/statuspage.c:429 msgid "Share" msgstr "Freigabe" -#: ../web/statuspage.c:422 +#: ../web/statuspage.c:429 msgid "User" msgstr "Benutzer" -#: ../web/statuspage.c:422 +#: ../web/statuspage.c:429 msgid "Group" msgstr "Gruppe" -#: ../web/statuspage.c:428 +#: ../web/statuspage.c:435 msgid "Open Files" msgstr "Offene Dateien" -#: ../web/statuspage.c:431 -#, fuzzy -msgid "UID" -msgstr "PID" - -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:437 msgid "Sharing" msgstr "Freigeben" -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:437 msgid "R/W" msgstr "Lese/Schreibe" -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:437 msgid "Oplock" msgstr "Opportunistische Sperre (Lock)" -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:437 msgid "File" msgstr "Datei" -#: ../web/statuspage.c:438 +#: ../web/statuspage.c:446 msgid "Show Client in col 1" msgstr "Zeige Client in Spalte 1" -#: ../web/statuspage.c:439 +#: ../web/statuspage.c:447 msgid "Show PID in col 1" msgstr "Zeige PID in Spalte 1" -#: ../param/loadparm.c:907 +#: ../param/loadparm.c:836 msgid "Base Options" msgstr "Basisoptionen" -#: ../param/loadparm.c:1047 +#: ../param/loadparm.c:855 msgid "Security Options" msgstr "Sicherheitsoptionen" -#: ../param/loadparm.c:1800 +#: ../param/loadparm.c:945 msgid "Logging Options" msgstr "Protokollier-Optionen" -#: ../param/loadparm.c:1929 +#: ../param/loadparm.c:962 msgid "Protocol Options" msgstr "Protokoll-Optionen" -#: ../param/loadparm.c:2301 +#: ../param/loadparm.c:1008 msgid "Tuning Options" msgstr "Optimierungsoptionen" -#: ../param/loadparm.c:2538 +#: ../param/loadparm.c:1037 msgid "Printing Options" msgstr "Druckoptionen" -#: ../param/loadparm.c:2858 +#: ../param/loadparm.c:1075 msgid "Filename Handling" msgstr "Dateinamen-Verwaltung" -#: ../param/loadparm.c:3088 +#: ../param/loadparm.c:1105 msgid "Domain Options" msgstr "Domänen-Optionen" -#: ../param/loadparm.c:3100 +#: ../param/loadparm.c:1109 msgid "Logon Options" msgstr "Anmelde-Optionen" -#: ../param/loadparm.c:3273 +#: ../param/loadparm.c:1130 msgid "Browse Options" msgstr "Browsing-Optionen" -#: ../param/loadparm.c:3384 +#: ../param/loadparm.c:1144 msgid "WINS Options" msgstr "WINS-Optionen" -#: ../param/loadparm.c:3432 +#: ../param/loadparm.c:1153 msgid "Locking Options" msgstr "Locking-(Sperr-)Optionen" -#: ../param/loadparm.c:3552 +#: ../param/loadparm.c:1170 msgid "Ldap Options" msgstr "LDAP-Optionen" -#: ../param/loadparm.c:3708 -msgid "EventLog Options" -msgstr "EventLog-Optionen" - -#: ../param/loadparm.c:3720 +#: ../param/loadparm.c:1186 msgid "Miscellaneous Options" msgstr "Sonstige Optionen" -#: ../param/loadparm.c:4301 -msgid "VFS module options" -msgstr "VFS-Modul-Optionen" +#: ../param/loadparm.c:1191 +#| msgid "Logon Options" +msgid "EventLog Options" +msgstr "EventLog-Optionen" -#: ../param/loadparm.c:4323 -#, fuzzy -msgid "MSDFS options" +#: ../param/loadparm.c:1258 +msgid "VFS module options" msgstr "VFS-Modul-Optionen" -#: ../param/loadparm.c:4353 +#: ../param/loadparm.c:1268 msgid "Winbind options" msgstr "Winbind-Optionen" - -#: ../utils/net.c:103 -msgid "Enter machine password: " -msgstr "" - -#: ../utils/net.c:107 -msgid "Unable to write the machine account password in the secrets database" -msgstr "" - -#: ../utils/net.c:111 -msgid "Modified trust account password in secrets database\n" -msgstr "" - -#: ../utils/net.c:115 -msgid "" -"Machine account password change requires the -f flag.\n" -"Do NOT use this function unless you know what it does!\n" -"This function will change the ADS Domain member machine account password in the secrets.tdb file!\n" -msgstr "" - -#: ../utils/net.c:150 ../utils/net.c:228 -#, c-format -msgid "Unable to open secrets.tdb. Can't fetch domain SID for name: %s\n" -msgstr "" - -#: ../utils/net.c:163 ../utils/net.c:251 -#, c-format -msgid "SID for domain %s is: %s\n" -msgstr "" - -#: ../utils/net.c:175 -msgid "usage: net setlocalsid S-1-5-21-x-y-z\n" -msgstr "" - -#: ../utils/net.c:195 -msgid "usage: net setdomainsid S-1-5-21-x-y-z\n" -msgstr "" - -#: ../utils/net.c:213 -msgid "usage: net getdomainsid\n" -msgstr "" - -#: ../utils/net.c:238 -msgid "Could not fetch local SID\n" -msgstr "" - -#: ../utils/net.c:242 -#, c-format -msgid "SID for local machine %s is: %s\n" -msgstr "" - -#: ../utils/net.c:246 -msgid "Could not fetch domain SID\n" -msgstr "" - -#: ../utils/net.c:263 -#, c-format -msgid "get_maxrid: Could not search %s\n" -msgstr "" - -#: ../utils/net.c:297 -msgid "usage: net maxrid\n" -msgstr "" - -#: ../utils/net.c:302 -msgid "can't get current maximum rid\n" -msgstr "" - -#: ../utils/net.c:306 -#, c-format -msgid "Currently used maximum rid: %d\n" -msgstr "" - -#: ../utils/net.c:317 -msgid "Run functions using RPC transport" -msgstr "" - -#: ../utils/net.c:318 -msgid " Use 'net help rpc' to get more extensive information about 'net rpc' commands." -msgstr "" - -#: ../utils/net.c:325 -msgid "Run functions using RAP transport" -msgstr "" - -#: ../utils/net.c:326 -msgid " Use 'net help rap' to get more extensive information about 'net rap' commands." -msgstr "" - -#: ../utils/net.c:333 -msgid "Run functions using ADS transport" -msgstr "" - -#: ../utils/net.c:334 -msgid " Use 'net help ads' to get more extensive information about 'net ads' commands." -msgstr "" - -#: ../utils/net.c:343 -msgid "Functions on remote opened files" -msgstr "" - -#: ../utils/net.c:344 -msgid " Use 'net help file' to get more information about 'net file' commands." -msgstr "" - -#: ../utils/net.c:351 -msgid "Functions on shares" -msgstr "" - -#: ../utils/net.c:352 -msgid " Use 'net help share' to get more information about 'net share' commands." -msgstr "" - -#: ../utils/net.c:359 -msgid "Manage sessions" -msgstr "" - -#: ../utils/net.c:360 -msgid " Use 'net help session' to get more information about 'net session' commands." -msgstr "" - -#: ../utils/net.c:367 -msgid "List servers in workgroup" -msgstr "" - -#: ../utils/net.c:368 -msgid " Use 'net help server' to get more information about 'net server' commands." -msgstr "" - -#: ../utils/net.c:375 -msgid "List domains/workgroups on network" -msgstr "" - -#: ../utils/net.c:376 -msgid " Use 'net help domain' to get more information about 'net domain' commands." -msgstr "" - -#: ../utils/net.c:383 -msgid "Modify printer queue" -msgstr "" - -#: ../utils/net.c:384 -msgid " Use 'net help printq' to get more information about 'net printq' commands." -msgstr "" - -#: ../utils/net.c:391 -#, fuzzy -msgid "Manage users" -msgstr "Aktiviere Benutzer" - -#: ../utils/net.c:392 -msgid " Use 'net help user' to get more information about 'net user' commands." -msgstr "" - -#: ../utils/net.c:399 -msgid "Manage groups" -msgstr "" - -#: ../utils/net.c:400 -msgid " Use 'net help group' to get more information about 'net group' commands." -msgstr "" - -#: ../utils/net.c:407 -msgid "Manage group mappings" -msgstr "" - -#: ../utils/net.c:408 -msgid " Use 'net help groupmap' to get more information about 'net groupmap' commands." -msgstr "" - -#: ../utils/net.c:415 -msgid "Functions on the SAM database" -msgstr "" - -#: ../utils/net.c:416 -msgid " Use 'net help sam' to get more information about 'net sam' commands." -msgstr "" - -#: ../utils/net.c:423 -msgid "Validate username and password" -msgstr "" - -#: ../utils/net.c:424 -msgid " Use 'net help validate' to get more information about 'net validate' commands." -msgstr "" - -#: ../utils/net.c:431 -msgid "Modify group memberships" -msgstr "" - -#: ../utils/net.c:432 -msgid " Use 'net help groupmember' to get more information about 'net groupmember' commands." -msgstr "" - -#: ../utils/net.c:438 -msgid "Execute remote command on a remote OS/2 server" -msgstr "" - -#: ../utils/net.c:439 -msgid " Use 'net help admin' to get more information about 'net admin' commands." -msgstr "" - -#: ../utils/net.c:445 -msgid "List/modify running services" -msgstr "" - -#: ../utils/net.c:446 -msgid " Use 'net help service' to get more information about 'net service' commands." -msgstr "" - -#: ../utils/net.c:453 -#, fuzzy -msgid "Change user password on target server" -msgstr "Kann Passwort-Datenbankvektoren nicht einrichten" - -#: ../utils/net.c:454 -msgid " Use 'net help password' to get more information about 'net password' commands." -msgstr "" - -#: ../utils/net.c:460 -#, fuzzy -msgid "Change the trust password" -msgstr "Ändere Passwort" - -#: ../utils/net.c:461 -msgid " Use 'net help changetrustpw' to get more information about 'net changetrustpw'." -msgstr "" - -#: ../utils/net.c:467 -#, fuzzy -msgid "Change the secret password" -msgstr "Ändere Passwort" - -#: ../utils/net.c:468 -msgid "" -" net [options] changesecretpw\n" -" Change the ADS domain member machine account password in secrets.tdb.\n" -" Do NOT use this function unless you know what it does.\n" -" Requires the -f flag to work." -msgstr "" - -#: ../utils/net.c:477 -msgid "Show/set time" -msgstr "" - -#: ../utils/net.c:478 -msgid " Use 'net help time' to get more information about 'net time' commands." -msgstr "" - -#: ../utils/net.c:484 -msgid "Look up host names/IP addresses" -msgstr "" - -#: ../utils/net.c:485 -msgid " Use 'net help lookup' to get more information about 'net lookup' commands." -msgstr "" - -#: ../utils/net.c:491 -msgid "Join a domain/AD" -msgstr "" - -#: ../utils/net.c:492 -msgid " Use 'net help join' to get more information about 'net join'." -msgstr "" - -#: ../utils/net.c:498 -msgid "Join/unjoin (remote) machines to/from a domain/AD" -msgstr "" - -#: ../utils/net.c:499 -msgid " Use 'net help dom' to get more information about 'net dom' commands." -msgstr "" - -#: ../utils/net.c:505 -msgid "Operate on the cache tdb file" -msgstr "" - -#: ../utils/net.c:506 -msgid " Use 'net help cache' to get more information about 'net cache' commands." -msgstr "" - -#: ../utils/net.c:512 -msgid "Get the SID for the local domain" -msgstr "" - -#: ../utils/net.c:513 -msgid " net getlocalsid" -msgstr "" - -#: ../utils/net.c:518 -msgid "Set the SID for the local domain" -msgstr "" - -#: ../utils/net.c:519 -msgid " net setlocalsid S-1-5-21-x-y-z" -msgstr "" - -#: ../utils/net.c:524 -msgid "Set domain SID on member servers" -msgstr "" - -#: ../utils/net.c:525 -msgid " net setdomainsid S-1-5-21-x-y-z" -msgstr "" - -#: ../utils/net.c:530 -msgid "Get domain SID on member servers" -msgstr "" - -#: ../utils/net.c:531 -msgid " net getdomainsid" -msgstr "" - -#: ../utils/net.c:536 -msgid "Display the maximul RID currently used" -msgstr "" - -#: ../utils/net.c:537 -msgid " net maxrid" -msgstr "" - -#: ../utils/net.c:542 -#, fuzzy -msgid "IDmap functions" -msgstr "Domänen-Optionen" - -#: ../utils/net.c:543 -msgid " Use 'net help idmap to get more information about 'net idmap' commands." -msgstr "" - -#: ../utils/net.c:549 -#, fuzzy -msgid "Display server status" -msgstr "Server-Status" - -#: ../utils/net.c:550 -msgid " Use 'net help status' to get more information about 'net status' commands." -msgstr "" - -#: ../utils/net.c:556 -msgid "Manage user-modifiable shares" -msgstr "" - -#: ../utils/net.c:557 -msgid " Use 'net help usershare to get more information about 'net usershare' commands." -msgstr "" - -#: ../utils/net.c:563 -msgid "Display list of all users with SID" -msgstr "" - -#: ../utils/net.c:564 -msgid " Use 'net help usersidlist' to get more information about 'net usersidlist'." -msgstr "" - -#: ../utils/net.c:570 -msgid "Manage Samba registry based configuration" -msgstr "" - -#: ../utils/net.c:571 -msgid " Use 'net help conf' to get more information about 'net conf' commands." -msgstr "" - -#: ../utils/net.c:577 -msgid "Manage the Samba registry" -msgstr "" - -#: ../utils/net.c:578 -msgid " Use 'net help registry' to get more information about 'net registry' commands." -msgstr "" - -#: ../utils/net.c:584 -msgid "Open a lua interpreter" -msgstr "" - -#: ../utils/net.c:585 -msgid " Use 'net help lua' to get more information about 'net lua' commands." -msgstr "" - -#: ../utils/net.c:591 -msgid "Process Win32 *.evt eventlog files" -msgstr "" - -#: ../utils/net.c:592 -msgid " Use 'net help eventlog' to get more information about 'net eventlog' commands." -msgstr "" - -#: ../utils/net.c:600 -msgid "Manage AFS tokens" -msgstr "" - -#: ../utils/net.c:601 -msgid " Use 'net help afs' to get more information about 'net afs' commands." -msgstr "" - -#: ../utils/net.c:609 -msgid "Print usage information" -msgstr "" - -#: ../utils/net.c:610 -msgid " Use 'net help help' to list usage information for 'net' commands." -msgstr "" - -#: ../utils/net.c:639 -msgid "Encrypt SMB transport (UNIX extended servers only)" -msgstr "" - -#: ../utils/net.c:703 -msgid "" -"\n" -"Invalid ip address specified\n" -msgstr "" - -#: ../utils/net.c:718 -#, c-format -msgid "" -"\n" -"Invalid option %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:52 ../utils/net_ads.c:392 -msgid "CLDAP query failed!\n" -msgstr "" - -#: ../utils/net_ads.c:56 -#, fuzzy, c-format -msgid "" -"Information for Domain Controller: %s\n" -"\n" -msgstr "Domänencontroller" - -#: ../utils/net_ads.c:59 -msgid "Response Type: " -msgstr "" - -#: ../utils/net_ads.c:72 -#, c-format -msgid "GUID: %s\n" -msgstr "" - -#: ../utils/net_ads.c:74 -#, c-format -msgid "" -"Flags:\n" -"\tIs a PDC: %s\n" -"\tIs a GC of the forest: %s\n" -"\tIs an LDAP server: %s\n" -"\tSupports DS: %s\n" -"\tIs running a KDC: %s\n" -"\tIs running time services: %s\n" -"\tIs the closest DC: %s\n" -"\tIs writable: %s\n" -"\tHas a hardware clock: %s\n" -"\tIs a non-domain NC serviced by LDAP server: %s\n" -"\tIs NT6 DC that has some secrets: %s\n" -"\tIs NT6 DC that has all secrets: %s\n" -msgstr "" - -#: ../utils/net_ads.c:87 ../utils/net_ads.c:88 ../utils/net_ads.c:89 ../utils/net_ads.c:90 ../utils/net_ads.c:91 ../utils/net_ads.c:92 ../utils/net_ads.c:93 ../utils/net_ads.c:94 ../utils/net_ads.c:95 ../utils/net_ads.c:96 ../utils/net_ads.c:97 -#: ../utils/net_ads.c:98 -msgid "yes" -msgstr "" - -#: ../utils/net_ads.c:87 ../utils/net_ads.c:88 ../utils/net_ads.c:89 ../utils/net_ads.c:90 ../utils/net_ads.c:91 ../utils/net_ads.c:92 ../utils/net_ads.c:93 ../utils/net_ads.c:94 ../utils/net_ads.c:95 ../utils/net_ads.c:96 ../utils/net_ads.c:97 -#: ../utils/net_ads.c:98 -msgid "no" -msgstr "" - -#: ../utils/net_ads.c:101 -#, c-format -msgid "Forest:\t\t\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:102 -#, c-format -msgid "Domain:\t\t\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:103 -#, fuzzy, c-format -msgid "Domain Controller:\t%s\n" -msgstr "Domänencontroller" - -#: ../utils/net_ads.c:105 -#, c-format -msgid "Pre-Win2k Domain:\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:106 -#, c-format -msgid "Pre-Win2k Hostname:\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:108 -#, fuzzy, c-format -msgid "User name:\t%s\n" -msgstr "Benutzername" - -#: ../utils/net_ads.c:110 -#, fuzzy, c-format -msgid "Server Site Name :\t\t%s\n" -msgstr "Server-Status" - -#: ../utils/net_ads.c:111 -#, c-format -msgid "Client Site Name :\t\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:113 -#, fuzzy, c-format -msgid "NT Version: %d\n" -msgstr "Version:" - -#: ../utils/net_ads.c:114 -#, c-format -msgid "LMNT Token: %.2x\n" -msgstr "" - -#: ../utils/net_ads.c:115 -#, c-format -msgid "LM20 Token: %.2x\n" -msgstr "" - -#: ../utils/net_ads.c:130 -msgid "" -"Usage:\n" -"net ads lookup\n" -" Find the ADS DC using CLDAP lookup.\n" -msgstr "" - -#: ../utils/net_ads.c:137 ../utils/net_ads.c:381 -msgid "Didn't find the cldap server!\n" -msgstr "" - -#: ../utils/net_ads.c:160 -msgid "" -"Usage:\n" -"net ads info\n" -" Display information about an Active Directory server.\n" -msgstr "" - -#: ../utils/net_ads.c:168 ../utils/net_ads.c:173 -msgid "Didn't find the ldap server!\n" -msgstr "" - -#: ../utils/net_ads.c:182 -msgid "Failed to get server's current time!\n" -msgstr "" - -#: ../utils/net_ads.c:187 -#, c-format -msgid "LDAP server: %s\n" -msgstr "" - -#: ../utils/net_ads.c:188 -#, c-format -msgid "LDAP server name: %s\n" -msgstr "" - -#: ../utils/net_ads.c:189 -#, c-format -msgid "Realm: %s\n" -msgstr "" - -#: ../utils/net_ads.c:190 -#, c-format -msgid "Bind Path: %s\n" -msgstr "" - -#: ../utils/net_ads.c:191 -#, c-format -msgid "LDAP port: %d\n" -msgstr "" - -#: ../utils/net_ads.c:192 -#, fuzzy, c-format -msgid "Server time: %s\n" -msgstr "Server-Status" - -#: ../utils/net_ads.c:195 -#, c-format -msgid "KDC server: %s\n" -msgstr "" - -#: ../utils/net_ads.c:196 -#, c-format -msgid "Server time offset: %d\n" -msgstr "" - -#: ../utils/net_ads.c:374 -msgid "" -"Usage:\n" -"net ads workgroup\n" -" Print the workgroup name\n" -msgstr "" - -#: ../utils/net_ads.c:397 -#, c-format -msgid "Workgroup: %s\n" -msgstr "" - -#: ../utils/net_ads.c:458 -#, c-format -msgid "ads_user_add: %s\n" -msgstr "" - -#: ../utils/net_ads.c:463 -#, c-format -msgid "ads_user_add: User %s already exists\n" -msgstr "" - -#: ../utils/net_ads.c:477 -#, c-format -msgid "Could not add user %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:484 ../utils/net_ads.c:497 -#, fuzzy, c-format -msgid "User %s added\n" -msgstr "Benutzername" - -#. password didn't set, delete account -#: ../utils/net_ads.c:503 -#, c-format -msgid "Could not add user %s. Error setting password %s\n" -msgstr "" - -#: ../utils/net_ads.c:551 -#, c-format -msgid "ads_user_info: failed to escape user %s\n" -msgstr "" - -#: ../utils/net_ads.c:569 -#, c-format -msgid "ads_search: %s\n" -msgstr "" - -#: ../utils/net_ads.c:575 -msgid "ads_pull_uint32 failed\n" -msgstr "" - -#: ../utils/net_ads.c:582 -#, c-format -msgid "ads_domain_sid: %s\n" -msgstr "" - -#: ../utils/net_ads.c:642 -#, c-format -msgid "User %s does not exist.\n" -msgstr "" - -#: ../utils/net_ads.c:652 -#, c-format -msgid "User %s deleted\n" -msgstr "" - -#: ../utils/net_ads.c:656 -#, c-format -msgid "Error deleting user %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:669 -#, fuzzy -msgid "Add an AD user" -msgstr "Füge neuen Benutzer hinzu" - -#: ../utils/net_ads.c:670 -msgid "" -"net ads user add\n" -" Add an AD user" -msgstr "" - -#: ../utils/net_ads.c:677 -msgid "Display information about an AD user" -msgstr "" - -#: ../utils/net_ads.c:678 -msgid "" -"net ads user info\n" -" Display information about an AD user" -msgstr "" - -#: ../utils/net_ads.c:685 -#, fuzzy -msgid "Delete an AD user" -msgstr "Lösche Benutzer" - -#: ../utils/net_ads.c:686 -msgid "" -"net ads user delete\n" -" Delete an AD user" -msgstr "" - -#: ../utils/net_ads.c:699 -msgid "" -"Usage:\n" -"net ads user\n" -" List AD users\n" -msgstr "" - -#: ../utils/net_ads.c:711 -msgid "" -"\n" -"User name Comment\n" -"-----------------------------\n" -msgstr "" - -#: ../utils/net_ads.c:751 -#, c-format -msgid "ads_group_add: %s\n" -msgstr "" - -#: ../utils/net_ads.c:756 -#, c-format -msgid "ads_group_add: Group %s already exists\n" -msgstr "" - -#: ../utils/net_ads.c:769 -#, c-format -msgid "Group %s added\n" -msgstr "" - -#: ../utils/net_ads.c:772 -#, c-format -msgid "Could not add group %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:801 -#, c-format -msgid "Group %s does not exist.\n" -msgstr "" - -#: ../utils/net_ads.c:811 -#, c-format -msgid "Group %s deleted\n" -msgstr "" - -#: ../utils/net_ads.c:815 -#, c-format -msgid "Error deleting group %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:828 -msgid "Add an AD group" -msgstr "" - -#: ../utils/net_ads.c:829 -msgid "" -"net ads group add\n" -" Add an AD group" -msgstr "" - -#: ../utils/net_ads.c:836 -#, fuzzy -msgid "Delete an AD group" -msgstr "Lösche Freigabe" - -#: ../utils/net_ads.c:837 -msgid "" -"net ads group delete\n" -" Delete an AD group" -msgstr "" - -#: ../utils/net_ads.c:850 -msgid "" -"Usage:\n" -"net ads group\n" -" List AD groups\n" -msgstr "" - -#: ../utils/net_ads.c:862 -msgid "" -"\n" -"Group name Comment\n" -"-----------------------------\n" -msgstr "" - -#: ../utils/net_ads.c:884 -msgid "" -"Usage:\n" -"net ads status\n" -" Display machine account details\n" -msgstr "" - -#: ../utils/net_ads.c:896 -#, c-format -msgid "ads_find_machine_acct: %s\n" -msgstr "" - -#: ../utils/net_ads.c:902 -#, c-format -msgid "No machine account for '%s' found\n" -msgstr "" - -#: ../utils/net_ads.c:926 -msgid "" -"Usage:\n" -"net ads leave\n" -" Leave an AD domain\n" -msgstr "" - -#: ../utils/net_ads.c:933 -msgid "No realm set, are we joined ?\n" -msgstr "" - -#: ../utils/net_ads.c:938 ../utils/net_ads.c:1260 -msgid "Could not initialise talloc context.\n" -msgstr "" - -#: ../utils/net_ads.c:948 -msgid "Could not initialise unjoin context.\n" -msgstr "" - -#: ../utils/net_ads.c:968 -#, c-format -msgid "Failed to leave domain: %s\n" -msgstr "" - -#: ../utils/net_ads.c:975 -#, c-format -msgid "Deleted account for '%s' in realm '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:982 -#, c-format -msgid "Disabled account for '%s' in realm '%s'\n" -msgstr "" - -#. Based on what we requseted, we shouldn't get here, but if -#. we did, it means the secrets were removed, and therefore -#. we have left the domain -#: ../utils/net_ads.c:991 -#, c-format -msgid "Machine '%s' Left domain '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:1035 -msgid "" -"Usage:\n" -"net ads testjoin\n" -" Test if the existing join is ok\n" -msgstr "" - -#: ../utils/net_ads.c:1044 -#, c-format -msgid "Join to domain is not valid: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1049 -#, c-format -msgid "Join is OK\n" -msgstr "" - -#: ../utils/net_ads.c:1060 -msgid "Host is not configured as a member server.\n" -msgstr "" - -#: ../utils/net_ads.c:1065 -#, c-format -msgid "Our netbios name can be at most 15 chars long, \"%s\" is %u chars long\n" -msgstr "" - -#: ../utils/net_ads.c:1072 -#, c-format -msgid "realm must be set in in %s for ADS join to succeed.\n" -msgstr "" - -#: ../utils/net_ads.c:1105 -#, c-format -msgid "No DNS domain configured for %s. Unable to perform DNS Update.\n" -msgstr "" - -#: ../utils/net_ads.c:1212 -msgid "" -"net ads join [options]\n" -"Valid options:\n" -msgstr "" - -#: ../utils/net_ads.c:1214 -msgid "" -" createupn[=UPN] Set the userPrincipalName attribute during the join.\n" -" The deault UPN is in the form host/netbiosname@REALM.\n" -msgstr "" - -#: ../utils/net_ads.c:1216 -msgid "" -" createcomputer=OU Precreate the computer account in a specific OU.\n" -" The OU string read from top to bottom without RDNs and delimited by a '/'.\n" -" E.g. \"createcomputer=Computers/Servers/Unix\"\n" -" NB: A backslash '\\' is used as escape at multiple levels and may\n" -" need to be doubled or even quadrupled. It is not used as a separator.\n" -msgstr "" - -#: ../utils/net_ads.c:1221 -msgid " osName=string Set the operatingSystem attribute during the join.\n" -msgstr "" - -#: ../utils/net_ads.c:1222 -msgid "" -" osVer=string Set the operatingSystemVersion attribute during the join.\n" -" NB: osName and osVer must be specified together for either to take effect.\n" -" Also, the operatingSystemService attribute is also set when along with\n" -" the two other attributes.\n" -msgstr "" - -#: ../utils/net_ads.c:1254 -msgid "Invalid configuration. Exiting....\n" -msgstr "" - -#: ../utils/net_ads.c:1283 -msgid "Please supply a valid OU path.\n" -msgstr "" - -#: ../utils/net_ads.c:1290 -msgid "Please supply a operating system name.\n" -msgstr "" - -#: ../utils/net_ads.c:1297 -msgid "Please supply a valid operating system version.\n" -msgstr "" - -#: ../utils/net_ads.c:1308 -msgid "Please supply a valid domain name\n" -msgstr "" - -#: ../utils/net_ads.c:1339 -#, c-format -msgid "" -"The workgroup in %s does not match the short\n" -"domain name obtained from the server.\n" -"Using the name [%s] from the server.\n" -"You should set \"workgroup = %s\" in %s.\n" -msgstr "" - -#: ../utils/net_ads.c:1347 -#, c-format -msgid "Using short domain name -- %s\n" -msgstr "" - -#: ../utils/net_ads.c:1350 -#, c-format -msgid "Joined '%s' to realm '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:1353 -#, c-format -msgid "Joined '%s' to domain '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:1377 ../utils/net_ads.c:1433 -msgid "DNS update failed!\n" -msgstr "" - -#. issue an overall failure message at the end. -#: ../utils/net_ads.c:1391 ../utils/net_dom.c:198 -#, c-format -msgid "Failed to join domain: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1414 -msgid "" -"Usage:\n" -"net ads dns register\n" -" Register hostname with DNS\n" -msgstr "" - -#: ../utils/net_ads.c:1421 -msgid "Could not initialise talloc context\n" -msgstr "" - -#: ../utils/net_ads.c:1439 -msgid "Successfully registered hostname with DNS\n" -msgstr "" - -#: ../utils/net_ads.c:1447 -msgid "DNS update support not enabled at compile time!\n" -msgstr "" - -#: ../utils/net_ads.c:1466 -msgid "" -"Usage:\n" -"net ads dns gethostbyname <server> <name>\n" -" Look up hostname from the AD\n" -" server\tName server to use\n" -" name\tName to look up\n" -msgstr "" - -#: ../utils/net_ads.c:1476 -#, c-format -msgid "do_gethostbyname returned %d\n" -msgstr "" - -#: ../utils/net_ads.c:1488 -msgid "Add host dns entry to AD" -msgstr "" - -#: ../utils/net_ads.c:1489 -msgid "" -"net ads dns register\n" -" Add host dns entry to AD" -msgstr "" - -#: ../utils/net_ads.c:1496 -msgid "Look up host" -msgstr "" - -#: ../utils/net_ads.c:1497 -msgid "" -"net ads dns gethostbyname\n" -" Look up host" -msgstr "" - -#: ../utils/net_ads.c:1512 -msgid "" -"\n" -"net ads printer search <printer>\n" -"\tsearch for a printer in the directory\n" -"\n" -"net ads printer info <printer> <server>\n" -"\tlookup info in directory for printer on server\n" -"\t(note: printer defaults to \"*\", server defaults to local)\n" -"\n" -"net ads printer publish <printername>\n" -"\tpublish printer in directory\n" -"\t(note: printer name is required)\n" -"\n" -"net ads printer remove <printername>\n" -"\tremove printer from directory\n" -"\t(note: printer name is required)\n" -msgstr "" - -#: ../utils/net_ads.c:1536 -msgid "" -"Usage:\n" -"net ads printer search\n" -" List printers in the AD\n" -msgstr "" - -#: ../utils/net_ads.c:1549 -#, c-format -msgid "ads_find_printer: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1556 -msgid "No results found\n" -msgstr "" - -#: ../utils/net_ads.c:1576 -msgid "" -"Usage:\n" -"net ads printer info [printername [servername]]\n" -" Display printer info from AD\n" -" printername\tPrinter name or wildcard\n" -" servername\tName of the print server\n" -msgstr "" - -#: ../utils/net_ads.c:1603 -#, c-format -msgid "Server '%s' not found: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1611 ../utils/net_ads.c:1794 -#, c-format -msgid "Printer '%s' not found\n" -msgstr "" - -#: ../utils/net_ads.c:1640 -msgid "" -"Usage:\n" -"net ads printer publish <printername> [servername]\n" -" Publish printer in AD\n" -" printername\tName of the printer\n" -" servername\tName of the print server\n" -msgstr "" - -#: ../utils/net_ads.c:1675 -#, c-format -msgid "Unable to open a connnection to %s to obtain data for %s\n" -msgstr "" - -#: ../utils/net_ads.c:1688 -#, c-format -msgid "Could not find machine account for server %s\n" -msgstr "" - -#: ../utils/net_ads.c:1704 ../utils/net_ads.c:1713 -msgid "Internal error, out of memory!" -msgstr "" - -#: ../utils/net_ads.c:1724 -#, c-format -msgid "Unable to open a connnection to the spoolss pipe on %s\n" -msgstr "" - -#: ../utils/net_ads.c:1766 -msgid "" -"Usage:\n" -"net ads printer remove <printername> [servername]\n" -" Remove a printer from the AD\n" -" printername\tName of the printer\n" -" servername\tName of the print server\n" -msgstr "" - -#: ../utils/net_ads.c:1787 -#, c-format -msgid "ads_find_printer_on_server: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1806 -#, c-format -msgid "ads_del_dn: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1822 -msgid "Search for a printer" -msgstr "" - -#: ../utils/net_ads.c:1823 -msgid "" -"net ads printer search\n" -" Search for a printer" -msgstr "" - -#: ../utils/net_ads.c:1830 -msgid "Display printer information" -msgstr "" - -#: ../utils/net_ads.c:1831 -msgid "" -"net ads printer info\n" -" Display printer information" -msgstr "" - -#: ../utils/net_ads.c:1838 -msgid "Publish a printer" -msgstr "" - -#: ../utils/net_ads.c:1839 -msgid "" -"net ads printer publish\n" -" Publish a printer" -msgstr "" - -#: ../utils/net_ads.c:1846 -#, fuzzy -msgid "Delete a printer" -msgstr "Lösche Drucker" - -#: ../utils/net_ads.c:1847 -msgid "" -"net ads printer remove\n" -" Delete a printer" -msgstr "" - -#: ../utils/net_ads.c:1869 -msgid "" -"Usage:\n" -"net ads password <username>\n" -" Change password for user\n" -" username\tName of user to change password for\n" -msgstr "" - -#: ../utils/net_ads.c:1877 -msgid "You must supply an administrator username/password\n" -msgstr "" - -#: ../utils/net_ads.c:1883 -msgid "ERROR: You must say which username to change password for\n" -msgstr "" - -#: ../utils/net_ads.c:1915 -msgid "Didn't find the kerberos server!\n" -msgstr "" - -#: ../utils/net_ads.c:1923 -#, c-format -msgid "Enter new password for %s:" -msgstr "" - -#: ../utils/net_ads.c:1933 ../utils/net_ads.c:1982 -#, fuzzy, c-format -msgid "Password change failed: %s\n" -msgstr "Passwortverwaltung" - -#: ../utils/net_ads.c:1938 -#, fuzzy, c-format -msgid "Password change for %s completed.\n" -msgstr "Änderung des Passworts im Demo-Modus nicht möglich" - -#: ../utils/net_ads.c:1952 -msgid "" -"Usage:\n" -"net ads changetrustpw\n" -" Change the machine account's trust password\n" -msgstr "" - -#: ../utils/net_ads.c:1977 -#, c-format -msgid "Changing password for principal: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1988 -#, c-format -msgid "Password change for principal %s succeeded.\n" -msgstr "" - -#: ../utils/net_ads.c:1991 -msgid "Attempting to update system keytab with new password.\n" -msgstr "" - -#: ../utils/net_ads.c:1993 -msgid "Failed to update system keytab.\n" -msgstr "" - -#: ../utils/net_ads.c:2009 -msgid "" -"\n" -"net ads search <expression> <attributes...>\n" -"\n" -"Perform a raw LDAP search on a ADS server and dump the results.\n" -"The expression is a standard LDAP search expression, and the\n" -"attributes are a list of LDAP fields to show in the results.\n" -"\n" -"Example: net ads search '(objectCategory=group)' sAMAccountName\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2046 ../utils/net_ads.c:2107 ../utils/net_ads.c:2171 ../utils/net_ads_gpo.c:250 -#, c-format -msgid "search failed: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2051 ../utils/net_ads.c:2176 ../utils/net_ads_gpo.c:256 -#, c-format -msgid "" -"Got %d replies\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2069 -msgid "" -"\n" -"net ads dn <dn> <attributes...>\n" -"\n" -"perform a raw LDAP search on a ADS server and dump the results\n" -"The DN standard LDAP DN, and the attributes are a list of LDAP fields \n" -"to show in the results\n" -"\n" -"Example: net ads dn 'CN=administrator,CN=Users,DC=my,DC=domain' sAMAccountName\n" -"\n" -"Note: the DN must be provided properly escaped. See RFC 4514 for details\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2129 -msgid "" -"\n" -"net ads sid <sid> <attributes...>\n" -"\n" -"perform a raw LDAP search on a ADS server and dump the results\n" -"The SID is in string format, and the attributes are a list of LDAP fields \n" -"to show in the results\n" -"\n" -"Example: net ads sid 'S-1-5-32' distinguishedName\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2164 -msgid "could not convert sid\n" -msgstr "" - -#: ../utils/net_ads.c:2193 -msgid "" -"Usage:\n" -"net ads keytab flush\n" -" Delete the whole keytab\n" -msgstr "" - -#: ../utils/net_ads.c:2214 -msgid "" -"Usage:\n" -"net ads keytab add <principal> [principal ...]\n" -" Add principals to local keytab\n" -" principal\tKerberos principal to add to keytab\n" -msgstr "" - -#: ../utils/net_ads.c:2222 -msgid "Processing principals to add...\n" -msgstr "" - -#: ../utils/net_ads.c:2239 -msgid "" -"Usage:\n" -"net ads keytab create\n" -" Create new default keytab\n" -msgstr "" - -#: ../utils/net_ads.c:2258 -msgid "" -"Usage:\n" -"net ads keytab list [keytab]\n" -" List a local keytab\n" -" keytab\tKeytab to list\n" -msgstr "" - -#: ../utils/net_ads.c:2280 -msgid "Add a service principal" -msgstr "" - -#: ../utils/net_ads.c:2281 -msgid "" -"net ads keytab add\n" -" Add a service principal" -msgstr "" - -#: ../utils/net_ads.c:2288 -#, fuzzy -msgid "Create a fresh keytab" -msgstr "Erstelle Freigabe" - -#: ../utils/net_ads.c:2289 -msgid "" -"net ads keytab create\n" -" Create a fresh keytab" -msgstr "" - -#: ../utils/net_ads.c:2296 -msgid "Remove all keytab entries" -msgstr "" - -#: ../utils/net_ads.c:2297 -msgid "" -"net ads keytab flush\n" -" Remove all keytab entries" -msgstr "" - -#: ../utils/net_ads.c:2304 -msgid "List a keytab" -msgstr "" - -#: ../utils/net_ads.c:2305 -msgid "" -"net ads keytab list\n" -" List a keytab" -msgstr "" - -#: ../utils/net_ads.c:2312 -msgid "" -"\n" -"Warning: \"kerberos method\" must be set to a keytab method to use keytab functions.\n" -msgstr "" - -#: ../utils/net_ads.c:2324 -msgid "" -"Usage:\n" -"net ads kerberos renew\n" -" Renew TGT from existing credential cache\n" -msgstr "" - -#: ../utils/net_ads.c:2332 -#, c-format -msgid "failed to renew kerberos ticket: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2347 -msgid "" -"Usage:\n" -"net ads kerberos pac\n" -" Dump the Kerberos PAC\n" -msgstr "" - -#: ../utils/net_ads.c:2372 -#, c-format -msgid "failed to query kerberos PAC: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2381 -#, c-format -msgid "The Pac: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2397 -msgid "" -"Usage:\n" -"net ads kerberos kinit\n" -" Get Ticket Granting Ticket (TGT) for the user\n" -msgstr "" - -#: ../utils/net_ads.c:2421 -#, c-format -msgid "failed to kinit password: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2435 -msgid "Retrieve Ticket Granting Ticket (TGT)" -msgstr "" - -#: ../utils/net_ads.c:2436 -msgid "" -"net ads kerberos kinit\n" -" Receive Ticket Granting Ticket (TGT)" -msgstr "" - -#: ../utils/net_ads.c:2443 -msgid "Renew Ticket Granting Ticket from credential cache" -msgstr "" - -#: ../utils/net_ads.c:2444 -msgid "" -"net ads kerberos renew\n" -" Renew Ticket Granting Ticket (TGT) from credential cache" -msgstr "" - -#: ../utils/net_ads.c:2452 -msgid "Dump Kerberos PAC" -msgstr "" - -#: ../utils/net_ads.c:2453 -msgid "" -"net ads kerberos pac\n" -" Dump Kerberos PAC" -msgstr "" - -#: ../utils/net_ads.c:2469 -msgid "Display details on remote ADS server" -msgstr "" - -#: ../utils/net_ads.c:2470 -msgid "" -"net ads info\n" -" Display details on remote ADS server" -msgstr "" - -#: ../utils/net_ads.c:2477 -msgid "Join the local machine to ADS realm" -msgstr "" - -#: ../utils/net_ads.c:2478 -msgid "" -"net ads join\n" -" Join the local machine to ADS realm" -msgstr "" - -#: ../utils/net_ads.c:2485 -msgid "Validate machine account" -msgstr "" - -#: ../utils/net_ads.c:2486 -msgid "" -"net ads testjoin\n" -" Validate machine account" -msgstr "" - -#: ../utils/net_ads.c:2493 -msgid "Remove the local machine from ADS" -msgstr "" - -#: ../utils/net_ads.c:2494 -msgid "" -"net ads leave\n" -" Remove the local machine from ADS" -msgstr "" - -#: ../utils/net_ads.c:2501 -msgid "Display machine account details" -msgstr "" - -#: ../utils/net_ads.c:2502 -msgid "" -"net ads status\n" -" Display machine account details" -msgstr "" - -#: ../utils/net_ads.c:2509 -msgid "List/modify users" -msgstr "" - -#: ../utils/net_ads.c:2510 -msgid "" -"net ads user\n" -" List/modify users" -msgstr "" - -#: ../utils/net_ads.c:2517 -msgid "List/modify groups" -msgstr "" - -#: ../utils/net_ads.c:2518 -msgid "" -"net ads group\n" -" List/modify groups" -msgstr "" - -#: ../utils/net_ads.c:2525 -msgid "Issue dynamic DNS update" -msgstr "" - -#: ../utils/net_ads.c:2526 -msgid "" -"net ads dns\n" -" Issue dynamic DNS update" -msgstr "" - -#: ../utils/net_ads.c:2533 -#, fuzzy -msgid "Change user passwords" -msgstr "Ändere Passwort" - -#: ../utils/net_ads.c:2534 -msgid "" -"net ads password\n" -" Change user passwords" -msgstr "" - -#: ../utils/net_ads.c:2541 -#, fuzzy -msgid "Change trust account password" -msgstr "Ändere Passwort" - -#: ../utils/net_ads.c:2542 -msgid "" -"net ads changetrustpw\n" -" Change trust account password" -msgstr "" - -#: ../utils/net_ads.c:2549 -msgid "List/modify printer entries" -msgstr "" - -#: ../utils/net_ads.c:2550 -msgid "" -"net ads printer\n" -" List/modify printer entries" -msgstr "" - -#: ../utils/net_ads.c:2557 -msgid "Issue LDAP search using filter" -msgstr "" - -#: ../utils/net_ads.c:2558 -msgid "" -"net ads search\n" -" Issue LDAP search using filter" -msgstr "" - -#: ../utils/net_ads.c:2565 -msgid "Issue LDAP search by DN" -msgstr "" - -#: ../utils/net_ads.c:2566 -msgid "" -"net ads dn\n" -" Issue LDAP search by DN" -msgstr "" - -#: ../utils/net_ads.c:2573 -msgid "Issue LDAP search by SID" -msgstr "" - -#: ../utils/net_ads.c:2574 -msgid "" -"net ads sid\n" -" Issue LDAP search by SID" -msgstr "" - -#: ../utils/net_ads.c:2581 -msgid "Display workgroup name" -msgstr "" - -#: ../utils/net_ads.c:2582 -msgid "" -"net ads workgroup\n" -" Display the workgroup name" -msgstr "" - -#: ../utils/net_ads.c:2589 -msgid "Perfom CLDAP query on DC" -msgstr "" - -#: ../utils/net_ads.c:2590 -msgid "" -"net ads lookup\n" -" Find the ADS DC using CLDAP lookups" -msgstr "" - -#: ../utils/net_ads.c:2597 -msgid "Manage local keytab file" -msgstr "" - -#: ../utils/net_ads.c:2598 -msgid "" -"net ads keytab\n" -" Manage local keytab file" -msgstr "" - -#: ../utils/net_ads.c:2605 -msgid "Manage group policy objects" -msgstr "" - -#: ../utils/net_ads.c:2606 -msgid "" -"net ads gpo\n" -" Manage group policy objects" -msgstr "" - -#: ../utils/net_ads.c:2613 -msgid "Manage kerberos keytab" -msgstr "" - -#: ../utils/net_ads.c:2614 -msgid "" -"net ads kerberos\n" -" Manage kerberos keytab" -msgstr "" - -#: ../utils/net_ads.c:2627 -msgid "ADS support not compiled in\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:40 -msgid "" -"Usage:\n" -"net ads gpo refresh <username|machinename>\n" -" Lists all GPOs assigned to an account and downloads them\n" -" username\tUser to refresh GPOs for\n" -" machinename\tMachine to refresh GPOs for\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:56 -#, c-format -msgid "failed to connect AD server: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:62 -#, c-format -msgid "failed to find samaccount for %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:70 -#, c-format -msgid "" -"\n" -"%s: '%s' has dn: '%s'\n" -"\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:71 ../utils/net_ads_gpo.c:328 -#, fuzzy -msgid "machine" -msgstr "Entfernte Maschine" - -#: ../utils/net_ads_gpo.c:71 ../utils/net_ads_gpo.c:328 -#, fuzzy -msgid "user" -msgstr "Benutzer" - -#: ../utils/net_ads_gpo.c:74 -msgid "* fetching token " -msgstr "" - -#: ../utils/net_ads_gpo.c:82 ../utils/net_ads_gpo.c:90 ../utils/net_ads_gpo.c:102 ../utils/net_ads_gpo.c:113 ../utils/net_ads_gpo.c:158 -#, c-format -msgid "failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:85 ../utils/net_ads_gpo.c:94 ../utils/net_ads_gpo.c:105 ../utils/net_ads_gpo.c:118 ../utils/net_ads_gpo.c:163 -msgid "finished\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:87 -msgid "* fetching GPO List " -msgstr "" - -#: ../utils/net_ads_gpo.c:96 -msgid "* Refreshing Group Policy Data " -msgstr "" - -#: ../utils/net_ads_gpo.c:107 -msgid "* storing GPO list to registry " -msgstr "" - -#: ../utils/net_ads_gpo.c:122 -msgid "* dumping GPO list\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:151 -msgid "* re-reading GPO list from registry " -msgstr "" - -#: ../utils/net_ads_gpo.c:167 -msgid "* dumping GPO list from registry\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:226 -msgid "" -"Usage:\n" -"net ads gpo listall\n" -" List all GPOs on the DC\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:270 -#, fuzzy, c-format -msgid "ads_parse_gpo failed: %s\n" -msgstr "Passwortverwaltung" - -#: ../utils/net_ads_gpo.c:300 -msgid "" -"Usage:\n" -"net ads gpo list <username|machinename>\n" -" Lists all GPOs for machine/user\n" -" username\tUser to list GPOs for\n" -" machinename\tMachine to list GPOs for\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:327 -#, c-format -msgid "%s: '%s' has dn: '%s'\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:451 -msgid "" -"Usage:\n" -"net ads gpo linkget <container>\n" -" Lists gPLink of a containter\n" -" container\tContainer to get link for\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:470 -#, c-format -msgid "get link for %s failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:492 -msgid "" -"Usage:\n" -"net ads gpo linkadd <linkdn> <gpodn> [options]\n" -" Link a container to a GPO\n" -" linkdn\tContainer to link to a GPO\n" -" gpodn\tGPO to link container to\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:497 -msgid "" -"note: DNs must be provided properly escaped.\n" -"See RFC 4514 for details\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:518 -#, c-format -msgid "link add failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:579 -msgid "" -"Usage:\n" -"net ads gpo getgpo <gpo>\n" -" List speciefied GPO\n" -" gpo\t\tGPO to list\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:603 -#, c-format -msgid "get gpo for [%s] failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:634 -msgid "List specified GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:635 -msgid "" -"net ads gpo getgpo\n" -" List specified GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:642 -msgid "Link a container to a GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:643 -msgid "" -"net ads gpo linkadd\n" -" Link a container to a GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:660 -msgid "Lists gPLink of containter" -msgstr "" - -#: ../utils/net_ads_gpo.c:661 -msgid "" -"net ads gpo linkget\n" -" Lists gPLink of containter" -msgstr "" - -#: ../utils/net_ads_gpo.c:668 -msgid "Lists all GPOs for machine/user" -msgstr "" - -#: ../utils/net_ads_gpo.c:669 -msgid "" -"net ads gpo list\n" -" Lists all GPOs for machine/user" -msgstr "" - -#: ../utils/net_ads_gpo.c:676 -msgid "Lists all GPOs on a DC" -msgstr "" - -#: ../utils/net_ads_gpo.c:677 -msgid "" -"net ads gpo listall\n" -" Lists all GPOs on a DC" -msgstr "" - -#: ../utils/net_ads_gpo.c:684 -msgid "Lists all GPOs assigned to an account and downloads them" -msgstr "" - -#: ../utils/net_ads_gpo.c:686 -msgid "" -"net ads gpo refresh\n" -" Lists all GPOs assigned to an account and downloads them" -msgstr "" - -#: ../utils/net_afs.c:25 -msgid "" -" net afs key filename\n" -"\tImports a OpenAFS KeyFile into our secrets.tdb\n" -"\n" -msgstr "" - -#: ../utils/net_afs.c:27 -msgid "" -" net afs impersonate <user> <cell>\n" -"\tCreates a token for user@cell\n" -"\n" -msgstr "" - -#: ../utils/net_afs.c:38 -msgid "usage: 'net afs key <keyfile> cell'\n" -msgstr "" - -#: ../utils/net_afs.c:43 -msgid "Could not open secrets.tdb\n" -msgstr "" - -#: ../utils/net_afs.c:48 -#, c-format -msgid "Could not open %s\n" -msgstr "" - -#: ../utils/net_afs.c:53 -msgid "Could not read keyfile\n" -msgstr "" - -#: ../utils/net_afs.c:58 -msgid "Could not write keyfile to secrets.tdb\n" -msgstr "" - -#: ../utils/net_afs.c:71 -#, c-format -msgid "Usage: net afs impersonate <user> <cell>\n" -msgstr "" - -#: ../utils/net_afs.c:78 -#, c-format -msgid "Could not create token\n" -msgstr "" - -#: ../utils/net_afs.c:83 -#, c-format -msgid "Could not set token into kernel\n" -msgstr "" - -#: ../utils/net_afs.c:87 -#, c-format -msgid "Success: %s@%s\n" -msgstr "" - -#: ../utils/net_afs.c:98 -msgid "Import an OpenAFS keyfile" -msgstr "" - -#: ../utils/net_afs.c:99 -msgid "" -"net afs key <filename>\n" -" Import kefile from <filename>." -msgstr "" - -#: ../utils/net_afs.c:106 -msgid "Get a user token" -msgstr "" - -#: ../utils/net_afs.c:107 -msgid "" -"net afs impersonate <user> <cell>\n" -" Create token for user@cell" -msgstr "" - -#: ../utils/net_cache.c:74 -#, c-format -msgid "Key: %s\t Timeout: %s\t Value: %s %s\n" -msgstr "" - -#: ../utils/net_cache.c:75 -msgid "(expired)" -msgstr "" - -#: ../utils/net_cache.c:84 -#, c-format -msgid "Couldn't delete entry! key = %s\n" -msgstr "" - -#: ../utils/net_cache.c:158 -msgid "" -"\n" -"Usage:\n" -"net cache add <key string> <data string> <timeout>\n" -msgstr "" - -#: ../utils/net_cache.c:170 -msgid "Invalid timeout argument.\n" -msgstr "" - -#: ../utils/net_cache.c:175 -msgid "New cache entry stored successfully.\n" -msgstr "" - -#: ../utils/net_cache.c:179 -msgid "Entry couldn't be added. Perhaps there's already such a key.\n" -msgstr "" - -#: ../utils/net_cache.c:195 -msgid "" -"\n" -"Usage: net cache del <key string>\n" -msgstr "" - -#: ../utils/net_cache.c:200 -msgid "Entry deleted.\n" -msgstr "" - -#: ../utils/net_cache.c:204 -msgid "Couldn't delete specified entry\n" -msgstr "" - -#: ../utils/net_cache.c:223 -msgid "" -"\n" -"Usage: net cache get <key>\n" -msgstr "" - -#: ../utils/net_cache.c:233 -msgid "Failed to find entry\n" -msgstr "" - -#: ../utils/net_cache.c:250 -msgid "Usage: net cache search <pattern>\n" -msgstr "" - -#: ../utils/net_cache.c:272 -msgid "" -"Usage:\n" -"net cache list\n" -" List all cache entries.\n" -msgstr "" - -#: ../utils/net_cache.c:293 ../utils/net_cache.c:306 -msgid "" -"Usage:\n" -"net cache flush\n" -" Delete all cache entries.\n" -msgstr "" - -#: ../utils/net_cache.c:331 -msgid "Add new cache entry" -msgstr "" - -#: ../utils/net_cache.c:332 -msgid "" -"net cache add <key string> <data string> <timeout>\n" -" Add new cache entry.\n" -" key string\tKey string to add cache data under.\n" -" data string\tData to store under given key.\n" -" timeout\tTimeout for cache data." -msgstr "" - -#: ../utils/net_cache.c:342 -msgid "Delete existing cache entry by key" -msgstr "" - -#: ../utils/net_cache.c:343 -msgid "" -"net cache del <key string>\n" -" Delete existing cache entry by key.\n" -" key string\tKey string to delete." -msgstr "" - -#: ../utils/net_cache.c:351 -msgid "Get cache entry by key" -msgstr "" - -#: ../utils/net_cache.c:352 -msgid "" -"net cache get <key string>\n" -" Get cache entry by key.\n" -" key string\tKey string to look up cache entry for." -msgstr "" - -#: ../utils/net_cache.c:361 -msgid "Search entry by pattern" -msgstr "" - -#: ../utils/net_cache.c:362 -msgid "" -"net cache search <pattern>\n" -" Search entry by pattern.\n" -" pattern\tPattern to search for in cache." -msgstr "" - -#: ../utils/net_cache.c:370 -msgid "List all cache entries" -msgstr "" - -#: ../utils/net_cache.c:371 -msgid "" -"net cache list\n" -" List all cache entries" -msgstr "" - -#: ../utils/net_cache.c:378 -#, fuzzy -msgid "Delete all cache entries" -msgstr "Lösche Drucker" - -#: ../utils/net_cache.c:379 -msgid "" -"net cache flush\n" -" Delete all cache entries" -msgstr "" - -#: ../utils/net_cache.c:386 -msgid "Move transient cache content to stable storage" -msgstr "" - -#: ../utils/net_cache.c:387 -msgid "" -"net cache stabilize\n" -" Move transient cache content to stable storage" -msgstr "" - -#: ../utils/net_conf.c:42 -msgid "USAGE: net conf list\n" -msgstr "" - -#: ../utils/net_conf.c:49 -msgid "" -"USAGE: net conf import [--test|-T] <filename> [<servicename>]\n" -"\t[--test|-T] testmode - do not act, just print what would be done\n" -"\t<servicename> only import service <servicename>, ignore the rest\n" -msgstr "" - -#: ../utils/net_conf.c:61 -msgid "USAGE: net conf listshares\n" -msgstr "" - -#: ../utils/net_conf.c:68 -msgid "USAGE: net conf drop\n" -msgstr "" - -#: ../utils/net_conf.c:75 -msgid "USAGE: net conf showshare <sharename>\n" -msgstr "" - -#: ../utils/net_conf.c:82 -msgid "" -"USAGE: net conf addshare <sharename> <path> [writeable={y|N} [guest_ok={y|N} [<comment>]]\n" -"\t<sharename> the new share name.\n" -"\t<path> the path on the filesystem to export.\n" -"\twriteable={y|N} set \"writeable to \"yes\" or \"no\" (default) on this share.\n" -"\tguest_ok={y|N} set \"guest ok\" to \"yes\" or \"no\" (default) on this share.\n" -"\t<comment> optional comment for the new share.\n" -msgstr "" - -#: ../utils/net_conf.c:97 -msgid "USAGE: net conf delshare <sharename>\n" -msgstr "" - -#: ../utils/net_conf.c:104 -msgid "USAGE: net conf setparm <section> <param> <value>\n" -msgstr "" - -#: ../utils/net_conf.c:111 -msgid "USAGE: net conf getparm <section> <param>\n" -msgstr "" - -#: ../utils/net_conf.c:118 -msgid "USAGE: net conf delparm <section> <param>\n" -msgstr "" - -#: ../utils/net_conf.c:125 -msgid "USAGE: net conf getincludes <section>\n" -msgstr "" - -#: ../utils/net_conf.c:132 -msgid "USAGE: net conf setincludes <section> [<filename>]*\n" -msgstr "" - -#: ../utils/net_conf.c:139 -msgid "USAGE: net conf delincludes <section>\n" -msgstr "" - -#: ../utils/net_conf.c:251 -#, c-format -msgid "Error getting config: %s\n" -msgstr "" - -#: ../utils/net_conf.c:305 ../utils/net_conf.c:318 ../utils/net_conf.c:614 ../utils/net_conf.c:742 ../utils/net_conf.c:780 ../utils/net_conf.c:786 ../utils/net_conf.c:860 ../utils/net_conf.c:866 ../utils/net_conf.c:916 ../utils/net_conf.c:970 -#: ../utils/net_conf.c:1010 ../utils/net_conf.c:1050 -msgid "error: out of memory!\n" -msgstr "" - -#: ../utils/net_conf.c:324 -#, c-format -msgid "error loading file '%s': %s\n" -msgstr "" - -#: ../utils/net_conf.c:330 -msgid "" -"\n" -"TEST MODE - would import the following configuration:\n" -"\n" -msgstr "" - -#: ../utils/net_conf.c:346 ../utils/net_conf.c:382 ../utils/net_conf.c:407 ../utils/net_conf.c:793 -#, c-format -msgid "error starting transaction: %s\n" -msgstr "" - -#: ../utils/net_conf.c:400 ../utils/net_conf.c:416 ../utils/net_conf.c:817 -#, c-format -msgid "error committing transaction: %s\n" -msgstr "" - -#: ../utils/net_conf.c:427 ../utils/net_conf.c:828 -#, c-format -msgid "error cancelling transaction: %s\n" -msgstr "" - -#: ../utils/net_conf.c:484 -#, c-format -msgid "Error deleting configuration: %s\n" -msgstr "" - -#: ../utils/net_conf.c:521 -#, c-format -msgid "error getting share parameters: %s\n" -msgstr "" - -#: ../utils/net_conf.c:630 -#, c-format -msgid "ERROR: share name %s contains invalid characters (any of %s)\n" -msgstr "" - -#: ../utils/net_conf.c:638 -msgid "ERROR: 'global' is not a valid share name.\n" -msgstr "" - -#: ../utils/net_conf.c:643 -#, c-format -msgid "ERROR: share %s already exists.\n" -msgstr "" - -#: ../utils/net_conf.c:652 -#, c-format -msgid "Error: path '%s' is not an absolute path.\n" -msgstr "" - -#: ../utils/net_conf.c:659 -#, c-format -msgid "" -"ERROR: cannot stat path '%s' to ensure this is a directory.\n" -"Error was '%s'.\n" -msgstr "" - -#: ../utils/net_conf.c:668 -#, c-format -msgid "ERROR: path '%s' is not a directory.\n" -msgstr "" - -#: ../utils/net_conf.c:679 -#, c-format -msgid "Error creating share %s: %s\n" -msgstr "" - -#: ../utils/net_conf.c:690 ../utils/net_conf.c:699 ../utils/net_conf.c:707 ../utils/net_conf.c:715 -#, c-format -msgid "Error setting parameter %s: %s\n" -msgstr "" - -#: ../utils/net_conf.c:748 -#, c-format -msgid "Error deleting share %s: %s\n" -msgstr "" - -#: ../utils/net_conf.c:801 -#, c-format -msgid "Error creating share '%s': %s\n" -msgstr "" - -#: ../utils/net_conf.c:810 -#, c-format -msgid "Error setting value '%s': %s\n" -msgstr "" - -#: ../utils/net_conf.c:874 ../utils/net_conf.c:930 -#, c-format -msgid "Error: given service '%s' does not exist.\n" -msgstr "" - -#: ../utils/net_conf.c:879 ../utils/net_conf.c:935 -#, c-format -msgid "Error: given parameter '%s' is not set.\n" -msgstr "" - -#: ../utils/net_conf.c:883 -#, c-format -msgid "Error getting value '%s': %s.\n" -msgstr "" - -#: ../utils/net_conf.c:939 -#, c-format -msgid "Error deleting value '%s': %s.\n" -msgstr "" - -#: ../utils/net_conf.c:977 -#, c-format -msgid "error getting includes: %s\n" -msgstr "" - -#: ../utils/net_conf.c:1023 -#, c-format -msgid "error setting includes: %s\n" -msgstr "" - -#: ../utils/net_conf.c:1056 -#, c-format -msgid "error deleting includes: %s\n" -msgstr "" - -#: ../utils/net_conf.c:1136 ../utils/net_help.c:36 -msgid "Usage:\n" -msgstr "" - -#: ../utils/net_conf.c:1160 -msgid "Dump the complete configuration in smb.conf like format." -msgstr "" - -#: ../utils/net_conf.c:1162 -msgid "" -"net conf list\n" -" Dump the complete configuration in smb.conf like format." -msgstr "" - -#: ../utils/net_conf.c:1171 -msgid "Import configuration from file in smb.conf format." -msgstr "" - -#: ../utils/net_conf.c:1173 -msgid "" -"net conf import\n" -" Import configuration from file in smb.conf format." -msgstr "" - -#: ../utils/net_conf.c:1181 -msgid "List the share names." -msgstr "" - -#: ../utils/net_conf.c:1182 -msgid "" -"net conf listshares\n" -" List the share names." -msgstr "" - -#: ../utils/net_conf.c:1189 -msgid "Delete the complete configuration." -msgstr "" - -#: ../utils/net_conf.c:1190 -msgid "" -"net conf drop\n" -" Delete the complete configuration." -msgstr "" - -#: ../utils/net_conf.c:1197 -msgid "Show the definition of a share." -msgstr "" - -#: ../utils/net_conf.c:1198 -msgid "" -"net conf showshare\n" -" Show the definition of a share." -msgstr "" - -#: ../utils/net_conf.c:1205 -#, fuzzy -msgid "Create a new share." -msgstr "Erstelle Freigabe" - -#: ../utils/net_conf.c:1206 -msgid "" -"net conf addshare\n" -" Create a new share." -msgstr "" - -#: ../utils/net_conf.c:1213 -#, fuzzy -msgid "Delete a share." -msgstr "Lösche Freigabe" - -#: ../utils/net_conf.c:1214 -msgid "" -"net conf delshare\n" -" Delete a share." -msgstr "" - -#: ../utils/net_conf.c:1221 -#, fuzzy -msgid "Store a parameter." -msgstr "Parameter der Freigabe" - -#: ../utils/net_conf.c:1222 -msgid "" -"net conf setparm\n" -" Store a parameter." -msgstr "" - -#: ../utils/net_conf.c:1229 -msgid "Retrieve the value of a parameter." -msgstr "" - -#: ../utils/net_conf.c:1230 -msgid "" -"net conf getparm\n" -" Retrieve the value of a parameter." -msgstr "" - -#: ../utils/net_conf.c:1237 -#, fuzzy -msgid "Delete a parameter." -msgstr "Lösche Drucker" - -#: ../utils/net_conf.c:1238 -msgid "" -"net conf delparm\n" -" Delete a parameter." -msgstr "" - -#: ../utils/net_conf.c:1245 -msgid "Show the includes of a share definition." -msgstr "" - -#: ../utils/net_conf.c:1246 -msgid "" -"net conf getincludes\n" -" Show the includes of a share definition." -msgstr "" - -#: ../utils/net_conf.c:1253 -msgid "Set includes for a share." -msgstr "" - -#: ../utils/net_conf.c:1254 -msgid "" -"net conf setincludes\n" -" Set includes for a share." -msgstr "" - -#: ../utils/net_conf.c:1261 -msgid "Delete includes from a share definition." -msgstr "" - -#: ../utils/net_conf.c:1262 -msgid "" -"net conf setincludes\n" -" Delete includes from a share definition." -msgstr "" - -#: ../utils/net_dom.c:25 -msgid "" -"usage: net dom join <domain=DOMAIN> <ou=OU> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Join a remote machine\n" -msgstr "" - -#: ../utils/net_dom.c:28 -msgid "" -"usage: net dom unjoin <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Unjoin a remote machine\n" -msgstr "" - -#: ../utils/net_dom.c:31 -msgid "" -"usage: net dom renamecomputer <newname=NEWNAME> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Rename joined computer\n" -msgstr "" - -#: ../utils/net_dom.c:91 -#, c-format -msgid "Failed to unjoin domain: %s\n" -msgstr "" - -#: ../utils/net_dom.c:97 ../utils/net_dom.c:204 -msgid "Shutting down due to a domain membership change" -msgstr "" - -#: ../utils/net_dom.c:290 -#, c-format -msgid "Failed to rename machine: " -msgstr "" - -#: ../utils/net_dom.c:292 -#, c-format -msgid "Computer is not joined to a Domain\n" -msgstr "" - -#: ../utils/net_dom.c:301 -msgid "Shutting down due to a computer rename" -msgstr "" - -#: ../utils/net_dom.c:338 -#, fuzzy -msgid "Join a remote machine" -msgstr "Entfernte Maschine" - -#: ../utils/net_dom.c:339 -msgid "" -"net dom join <domain=DOMAIN> <ou=OU> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Join a remote machine" -msgstr "" - -#: ../utils/net_dom.c:347 -#, fuzzy -msgid "Unjoin a remote machine" -msgstr "Entfernte Maschine" - -#: ../utils/net_dom.c:348 -msgid "" -"net dom unjoin <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Unjoin a remote machine" -msgstr "" - -#: ../utils/net_dom.c:356 -msgid "Rename a computer that is joined to a domain" -msgstr "" - -#: ../utils/net_dom.c:357 -msgid "" -"net dom renamecomputer <newname=NEWNAME> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Rename joined computer" -msgstr "" - -#: ../utils/net_eventlog.c:46 -msgid "usage: net eventlog dump <file.evt>\n" -msgstr "" - -#: ../utils/net_eventlog.c:52 ../utils/net_eventlog.c:108 -#, c-format -msgid "failed to load evt file: %s\n" -msgstr "" - -#: ../utils/net_eventlog.c:59 ../utils/net_eventlog.c:129 -#, fuzzy, c-format -msgid "evt pull failed: %s\n" -msgstr "Passwortverwaltung" - -#: ../utils/net_eventlog.c:102 -msgid "usage: net eventlog import <file> <eventlog>\n" -msgstr "" - -#: ../utils/net_eventlog.c:116 -#, fuzzy, c-format -msgid "evt header pull failed: %s\n" -msgstr "Passwortverwaltung" - -#: ../utils/net_eventlog.c:122 -msgid "input file is wrapped, cannot proceed\n" -msgstr "" - -#: ../utils/net_eventlog.c:138 ../utils/net_eventlog.c:203 -#, c-format -msgid "can't open the eventlog TDB (%s)\n" -msgstr "" - -#: ../utils/net_eventlog.c:158 -#, c-format -msgid "can't write to the eventlog: %s\n" -msgstr "" - -#: ../utils/net_eventlog.c:164 -#, c-format -msgid "wrote %d entries to tdb\n" -msgstr "" - -#: ../utils/net_eventlog.c:197 -msgid "usage: net eventlog export <file> <eventlog>\n" -msgstr "" - -#: ../utils/net_eventlog.c:214 -#, c-format -msgid "failed to save evt file: %s\n" -msgstr "" - -#: ../utils/net_eventlog.c:243 -msgid "Dump eventlog" -msgstr "" - -#: ../utils/net_eventlog.c:244 -msgid "" -"net eventlog dump\n" -" Dump win32 *.evt eventlog file" -msgstr "" - -#: ../utils/net_eventlog.c:251 -#, fuzzy -msgid "Import eventlog" -msgstr "Wichtiger Hinweis:" - -#: ../utils/net_eventlog.c:252 -msgid "" -"net eventlog import\n" -" Import win32 *.evt eventlog file" -msgstr "" - -#: ../utils/net_eventlog.c:259 -msgid "Export eventlog" -msgstr "" - -#: ../utils/net_eventlog.c:260 -msgid "" -"net eventlog export\n" -" Export win32 *.evt eventlog file" -msgstr "" - -#: ../utils/net_file.c:27 -msgid "" -"net [<method>] file [misc. options] [targets]\n" -"\tlists all open files on file server\n" -msgstr "" - -#: ../utils/net_file.c:29 -msgid "" -"net [<method>] file USER <username> [misc. options] [targets]\n" -"\tlists all files opened by username on file server\n" -msgstr "" - -#: ../utils/net_file.c:32 -msgid "" -"net [<method>] file CLOSE <id> [misc. options] [targets]\n" -"\tcloses specified file on target server\n" -msgstr "" - -#: ../utils/net_file.c:34 -msgid "" -"net [rap] file INFO <id> [misc. options] [targets]\n" -"\tdisplays information about the specified open file\n" -msgstr "" - -#: ../utils/net_group.c:27 -msgid "" -"net [<method>] group [misc. options] [targets]\n" -"\tList user groups\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:29 -msgid "" -"net rpc group LIST [global|local|builtin]* [misc. options]\n" -"\tList specific user groups\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:31 -msgid "" -"net [<method>] group DELETE <name> [misc. options] [targets]\n" -"\tDelete specified group\n" -msgstr "" - -#: ../utils/net_group.c:34 -msgid "" -"\n" -"net [<method>] group ADD <name> [-C comment] [-c container] [misc. options] [targets]\n" -"\tCreate specified group\n" -msgstr "" - -#: ../utils/net_group.c:37 -msgid "" -"\n" -"net rpc group MEMBERS <name>\n" -"\tList Group Members\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:38 -msgid "" -"\n" -"net rpc group ADDMEM <group> <member>\n" -"\tAdd Group Members\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:40 -msgid "" -"\n" -"net rpc group DELMEM <group> <member>\n" -"\tDelete Group Members\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:44 -msgid "\t-C or --comment=<comment>\tdescriptive comment (for add only)\n" -msgstr "" - -#: ../utils/net_group.c:46 -msgid "\t-c or --container=<container>\tLDAP container, defaults to cn=Users (for add in ADS only)\n" -msgstr "" - -#: ../utils/net_group.c:48 -msgid "\t-L or --localgroup\t\tWhen adding groups, create a local group (alias)\n" -msgstr "" - -#: ../utils/net_groupmap.c:38 -#, c-format -msgid "NT Group %s doesn't exist in mapping DB\n" -msgstr "" - -#: ../utils/net_groupmap.c:46 -#, c-format -msgid "converting sid %s from a string failed!\n" -msgstr "" - -#: ../utils/net_groupmap.c:65 -#, c-format -msgid "\tSID : %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:66 -#, c-format -msgid "\tUnix gid : %u\n" -msgstr "" - -#: ../utils/net_groupmap.c:67 -#, c-format -msgid "\tUnix group: %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:68 -#, c-format -msgid "\tGroup type: %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:70 -#, c-format -msgid "\tComment : %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:84 -msgid "" -"net groupmap list [verbose] [ntgroup=NT group] [sid=SID]\n" -" verbose\tPrint verbose list\n" -" ntgroup\tNT group to list\n" -" sid\tSID of group to list" -msgstr "" - -#: ../utils/net_groupmap.c:91 ../utils/net_groupmap.c:271 ../utils/net_groupmap.c:356 ../utils/net_groupmap.c:412 ../utils/net_groupmap.c:495 ../utils/net_groupmap.c:522 -#, fuzzy, c-format -msgid "" -"Usage:\n" -"%s\n" -msgstr "Benutzername" - -#: ../utils/net_groupmap.c:106 ../utils/net_groupmap.c:213 ../utils/net_groupmap.c:220 ../utils/net_groupmap.c:365 ../utils/net_groupmap.c:372 ../utils/net_groupmap.c:504 -msgid "must supply a name\n" -msgstr "" - -#: ../utils/net_groupmap.c:113 ../utils/net_groupmap.c:227 ../utils/net_groupmap.c:511 -msgid "must supply a SID\n" -msgstr "" - -#: ../utils/net_groupmap.c:118 ../utils/net_groupmap.c:265 ../utils/net_groupmap.c:406 ../utils/net_groupmap.c:516 -#, fuzzy, c-format -msgid "Bad option: %s\n" -msgstr "Basisoptionen" - -#: ../utils/net_groupmap.c:139 -msgid "Failure to local group SID in the database\n" -msgstr "" - -#: ../utils/net_groupmap.c:181 -msgid "net groupmap add {rid=<int>|sid=<string>} unixgroup=<string> [type=<domain|local|builtin>] [ntgroup=<string>] [comment=<string>]" -msgstr "" - -#: ../utils/net_groupmap.c:195 -#, fuzzy, c-format -msgid "" -"Usage\n" -"%s\n" -msgstr "Benutzername" - -#: ../utils/net_groupmap.c:205 -#, c-format -msgid "RID must be greater than %d\n" -msgstr "" - -#: ../utils/net_groupmap.c:235 ../utils/net_groupmap.c:380 -msgid "must supply a comment string\n" -msgstr "" - -#: ../utils/net_groupmap.c:259 -#, c-format -msgid "unknown group type %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:276 -#, c-format -msgid "Can't lookup UNIX group %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:282 -#, c-format -msgid "Unix group %s already mapped to SID %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:289 -msgid "No rid or sid specified, choosing a RID\n" -msgstr "" - -#: ../utils/net_groupmap.c:292 -msgid "Could not get new RID\n" -msgstr "" - -#: ../utils/net_groupmap.c:297 -#, c-format -msgid "Got RID %d\n" -msgstr "" - -#: ../utils/net_groupmap.c:328 -#, c-format -msgid "adding entry for group %s failed!\n" -msgstr "" - -#: ../utils/net_groupmap.c:332 -#, c-format -msgid "Successfully added group %s to the mapping db as a %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:349 -msgid "net groupmap modify {ntgroup=<string>|sid=<SID>} [comment=<string>] [unixgroup=<string>] [type=<domain|local>]" -msgstr "" - -#: ../utils/net_groupmap.c:388 -msgid "must supply a group name\n" -msgstr "" - -#: ../utils/net_groupmap.c:434 -msgid "Failed to find local group SID in the database\n" -msgstr "" - -#: ../utils/net_groupmap.c:443 -msgid "Can't map to an unknown group type.\n" -msgstr "" - -#: ../utils/net_groupmap.c:449 -msgid "You can only change between domain and local groups.\n" -msgstr "" - -#: ../utils/net_groupmap.c:466 -#, c-format -msgid "Unable to lookup UNIX group %s. Make sure the group exists.\n" -msgstr "" - -#: ../utils/net_groupmap.c:476 -msgid "Could not update group database\n" -msgstr "" - -#: ../utils/net_groupmap.c:480 -#, c-format -msgid "Updated mapping entry for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:491 -msgid "net groupmap delete {ntgroup=<string>|sid=<SID>}" -msgstr "" - -#: ../utils/net_groupmap.c:532 -#, c-format -msgid "Unable to resolve group %s to a SID\n" -msgstr "" - -#: ../utils/net_groupmap.c:539 -#, c-format -msgid "Failed to remove group %s from the mapping db!\n" -msgstr "" - -#: ../utils/net_groupmap.c:544 -#, c-format -msgid "Sucessfully removed %s from the mapping db\n" -msgstr "" - -#: ../utils/net_groupmap.c:557 -msgid "Usage: net groupmap set \"NT Group\" [\"unix group\"] [-C \"comment\"] [-L] [-D]\n" -msgstr "" - -#: ../utils/net_groupmap.c:563 -msgid "Can only specify -L or -D, not both\n" -msgstr "" - -#: ../utils/net_groupmap.c:573 -#, c-format -msgid "Could not find unix group %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:594 -#, c-format -msgid "Could not find group mapping for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:605 -msgid "Could not allocate new RID\n" -msgstr "" - -#: ../utils/net_groupmap.c:622 -#, c-format -msgid "Could not add mapping entry for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:633 -#, c-format -msgid "Can't change type of the BUILTIN group %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:660 -#, c-format -msgid "Could not update group mapping for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:674 -msgid "" -"Usage:\n" -"net groupmap cleanup\n" -" Delete all group mappings\n" -msgstr "" - -#: ../utils/net_groupmap.c:682 -msgid "Could not list group mappings\n" -msgstr "" - -#: ../utils/net_groupmap.c:689 -#, c-format -msgid "Group %s is not mapped\n" -msgstr "" - -#: ../utils/net_groupmap.c:692 -#, c-format -msgid "Deleting mapping for NT Group %s, sid %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:712 -msgid "Usage: net groupmap addmem alias-sid member-sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:717 -#, c-format -msgid "Could not add sid %s to alias %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:733 -msgid "Usage: net groupmap delmem alias-sid member-sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:738 -#, c-format -msgid "Could not delete sid %s from alias %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:755 -msgid "Usage: net groupmap listmem alias-sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:764 -#, c-format -msgid "Could not list members for sid %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:791 -#, c-format -msgid "Could not list memberships for sid %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:814 -msgid "Usage: net groupmap memberof sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:820 ../utils/net_idmap.c:345 -msgid "talloc_init failed\n" -msgstr "" - -#: ../utils/net_groupmap.c:827 -msgid "Could not get domain sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:850 -msgid "Create a new group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:851 -msgid "" -"net groupmap add\n" -" Create a new group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:858 -msgid "Update a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:859 -msgid "" -"net groupmap modify\n" -" Modify an existing group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:866 -msgid "Remove a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:867 -msgid "" -"net groupmap delete\n" -" Remove a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:874 -msgid "Set group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:875 -msgid "" -"net groupmap set\n" -" Set a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:882 -msgid "Remove foreign group mapping entries" -msgstr "" - -#: ../utils/net_groupmap.c:883 -msgid "" -"net groupmap cleanup\n" -" Remove foreign group mapping entries" -msgstr "" - -#: ../utils/net_groupmap.c:890 -msgid "Add a foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:891 -msgid "" -"net groupmap addmem\n" -" Add a foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:898 -msgid "Delete foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:899 -msgid "" -"net groupmap delmem\n" -" Delete foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:906 -msgid "List foreign group members" -msgstr "" - -#: ../utils/net_groupmap.c:907 -msgid "" -"net groupmap listmem\n" -" List foreign alias members" -msgstr "" - -#: ../utils/net_groupmap.c:914 -msgid "List foreign group memberships" -msgstr "" - -#: ../utils/net_groupmap.c:915 -msgid "" -"net groupmap memberships\n" -" List foreign group memberships" -msgstr "" - -#: ../utils/net_groupmap.c:922 -msgid "List current group map" -msgstr "" - -#: ../utils/net_groupmap.c:923 -msgid "" -"net groupmap list\n" -" List current group map" -msgstr "" - -#: ../utils/net_help.c:39 -#, c-format -msgid "net %s usage:\n" -msgstr "" - -#: ../utils/net_help_common.c:25 ../utils/net_join.c:28 -msgid "Valid methods: (auto-detected if not specified)\n" -msgstr "" - -#: ../utils/net_help_common.c:26 ../utils/net_join.c:29 -msgid "\tads\t\t\t\tActive Directory (LDAP/Kerberos)\n" -msgstr "" - -#: ../utils/net_help_common.c:27 ../utils/net_join.c:30 -msgid "\trpc\t\t\t\tDCE-RPC\n" -msgstr "" - -#: ../utils/net_help_common.c:28 -msgid "\trap\t\t\t\tRAP (older systems)\n" -msgstr "" - -#: ../utils/net_help_common.c:35 -msgid "Valid targets: choose one (none defaults to localhost)\n" -msgstr "" - -#: ../utils/net_help_common.c:36 -msgid "\t-S or --server=<server>\t\tserver name\n" -msgstr "" - -#: ../utils/net_help_common.c:37 -msgid "\t-I or --ipaddress=<ipaddr>\taddress of target server\n" -msgstr "" - -#: ../utils/net_help_common.c:38 -msgid "\t-w or --workgroup=<wg>\t\ttarget workgroup or domain\n" -msgstr "" - -#: ../utils/net_help_common.c:41 -#, fuzzy -msgid "Valid miscellaneous options are:\n" -msgstr "Sonstige Optionen" - -#. misc options -#: ../utils/net_help_common.c:42 -msgid "\t-p or --port=<port>\t\tconnection port on target\n" -msgstr "" - -#: ../utils/net_help_common.c:43 -msgid "\t-W or --myworkgroup=<wg>\tclient workgroup\n" -msgstr "" - -#: ../utils/net_help_common.c:44 -msgid "\t-d or --debuglevel=<level>\tdebug level (0-10)\n" -msgstr "" - -#: ../utils/net_help_common.c:45 -msgid "\t-n or --myname=<name>\t\tclient name\n" -msgstr "" - -#: ../utils/net_help_common.c:46 -msgid "\t-U or --user=<name>\t\tuser name\n" -msgstr "" - -#: ../utils/net_help_common.c:47 -msgid "\t-s or --configfile=<path>\tpathname of smb.conf file\n" -msgstr "" - -#: ../utils/net_help_common.c:48 -msgid "\t-l or --long\t\t\tDisplay full information\n" -msgstr "" - -#: ../utils/net_help_common.c:49 -msgid "\t-V or --version\t\t\tPrint samba version information\n" -msgstr "" - -#: ../utils/net_help_common.c:50 -msgid "\t-P or --machine-pass\t\tAuthenticate as machine account\n" -msgstr "" - -#: ../utils/net_help_common.c:52 -msgid "\t-e or --encrypt\t\t\tEncrypt SMB transport (UNIX extended servers only)\n" -msgstr "" - -#: ../utils/net_help_common.c:54 -msgid "\t-k or --kerberos\t\tUse kerberos (active directory) authentication\n" -msgstr "" - -#: ../utils/net_idmap.c:25 -msgid "Out of memory!\n" -msgstr "" - -#: ../utils/net_idmap.c:39 -#, c-format -msgid "USER HWM %d\n" -msgstr "" - -#: ../utils/net_idmap.c:44 -#, c-format -msgid "GROUP HWM %d\n" -msgstr "" - -#: ../utils/net_idmap.c:63 -msgid "" -"Usage:\n" -"net idmap dump <inputfile>\n" -" Dump current ID mapping.\n" -" inputfile\tTDB file to read mappings from.\n" -msgstr "" - -#: ../utils/net_idmap.c:73 -#, c-format -msgid "Could not open idmap: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:94 -msgid "" -"Usage:\n" -"net idmap restore [inputfile]\n" -" Restore ID mappings from file\n" -" inputfile\tFile to load ID mappings from. If not given, load data from stdin.\n" -msgstr "" - -#: ../utils/net_idmap.c:104 -msgid "To use net idmap Winbindd must be running.\n" -msgstr "" - -#: ../utils/net_idmap.c:142 -#, c-format -msgid "Could not set USER HWM: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:151 -#, c-format -msgid "Could not set GROUP HWM: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:156 -#, c-format -msgid "ignoring invalid line [%s]\n" -msgstr "" - -#: ../utils/net_idmap.c:163 -#, c-format -msgid "ignoring invalid sid [%s]: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:175 -#, c-format -msgid "Could not set mapping of %s %lu to sid %s: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:196 ../utils/net_idmap.c:202 -msgid "Not Implemented yet\n" -msgstr "" - -#: ../utils/net_idmap.c:240 -msgid "" -"Usage:\n" -"net idmap secret {<DOMAIN>|alloc} <secret>\n" -" Set the secret for the specified domain (or alloc module)\n" -" DOMAIN\tDomain to set secret for.\n" -" alloc\tSet secret for the alloc module\n" -" secret\tNew secret to set.\n" -msgstr "" - -#: ../utils/net_idmap.c:271 -msgid "The only currently supported backend is LDAP\n" -msgstr "" - -#: ../utils/net_idmap.c:281 -#, c-format -msgid "Missing ldap_user_dn option for domain %s\n" -msgstr "" - -#: ../utils/net_idmap.c:292 -msgid "Missing ldap_user_dn option for alloc backend\n" -msgstr "" - -#: ../utils/net_idmap.c:302 -msgid "Failed to store secret\n" -msgstr "" - -#: ../utils/net_idmap.c:307 -msgid "Secret stored\n" -msgstr "" - -#: ../utils/net_idmap.c:313 -msgid "" -"net idmap dump <inputfile>\n" -" Dump current id mapping\n" -msgstr "" - -#: ../utils/net_idmap.c:316 -msgid "" -"net idmap restore\n" -" Restore entries from stdin\n" -msgstr "" - -#. Deliberately *not* document net idmap delete -#: ../utils/net_idmap.c:321 -msgid "" -"net idmap secret <DOMAIN>|alloc <secret>\n" -" Set the secret for the specified DOMAIN (or the alloc module)\n" -msgstr "" - -#: ../utils/net_idmap.c:339 -msgid "usage: net idmap aclmapset <tdb> <src-sid> <dst-sid>\n" -msgstr "" - -#: ../utils/net_idmap.c:351 -#, fuzzy, c-format -msgid "db_open failed: %s\n" -msgstr "Passwortverwaltung" - -#: ../utils/net_idmap.c:356 ../utils/net_idmap.c:361 -#, c-format -msgid "%s is not a valid sid\n" -msgstr "" - -#: ../utils/net_idmap.c:367 -msgid "talloc_strdup failed\n" -msgstr "" - -#: ../utils/net_idmap.c:373 -msgid "could not fetch db record\n" -msgstr "" - -#: ../utils/net_idmap.c:381 -#, c-format -msgid "could not store record: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:402 -msgid "Dump the current ID mappings" -msgstr "" - -#: ../utils/net_idmap.c:403 -msgid "" -"net idmap dump\n" -" Dump the current ID mappings" -msgstr "" - -#: ../utils/net_idmap.c:410 -msgid "Restore entries from stdin" -msgstr "" - -#: ../utils/net_idmap.c:411 -msgid "" -"net idmap restore\n" -" Restore entries from stdin" -msgstr "" - -#: ../utils/net_idmap.c:418 ../utils/net_idmap.c:426 -msgid "Not implemented yet" -msgstr "" - -#: ../utils/net_idmap.c:419 -msgid "" -"net idmap setmap\n" -" Not implemented yet" -msgstr "" - -#: ../utils/net_idmap.c:427 -msgid "" -"net idmap delete\n" -" Not implemented yet" -msgstr "" - -#: ../utils/net_idmap.c:434 -msgid "Set secret for specified domain" -msgstr "" - -#: ../utils/net_idmap.c:435 -msgid "" -"net idmap secret {<DOMAIN>|alloc} <secret>\n" -" Set secret for specified domain or alloc module" -msgstr "" - -#: ../utils/net_idmap.c:442 -msgid "Set acl map" -msgstr "" - -#: ../utils/net_idmap.c:443 -msgid "" -"net idmap aclmapset\n" -" Set acl map" -msgstr "" - -#: ../utils/net_join.c:26 -msgid "" -"\n" -"net [<method>] join [misc. options]\n" -"\tjoins this server to a domain\n" -msgstr "" - -#: ../utils/net_join.c:47 -msgid "ADS join did not work, falling back to RPC...\n" -msgstr "" - -#: ../utils/net_lookup.c:25 -msgid "" -" net lookup [host] HOSTNAME[#<type>]\n" -"\tgives IP for a hostname\n" -"\n" -" net lookup ldap [domain]\n" -"\tgives IP of domain's ldap server\n" -"\n" -" net lookup kdc [realm]\n" -"\tgives IP of realm's kerberos KDC\n" -"\n" -" net lookup pdc [domain|realm]\n" -"\tgives IP of realm's kerberos KDC\n" -"\n" -" net lookup dc [domain]\n" -"\tgives IP of domains Domain Controllers\n" -"\n" -" net lookup master [domain|wg]\n" -"\tgive IP of master browser\n" -"\n" -" net lookup name [name]\n" -"\tLookup name's sid and type\n" -"\n" -" net lookup sid [sid]\n" -"\tGive sid's name and type\n" -"\n" -" net lookup dsgetdcname [name] [flags] [sitename]\n" -"\n" -msgstr "" - -#: ../utils/net_lookup.c:112 -msgid "net_lookup_ldap: talloc_init() failed!\n" -msgstr "" - -#: ../utils/net_lookup.c:325 -msgid "usage: net lookup name <name>\n" -msgstr "" - -#: ../utils/net_lookup.c:331 ../utils/net_lookup.c:358 -#, c-format -msgid "Could not lookup name %s\n" -msgstr "" - -#: ../utils/net_lookup.c:347 -msgid "usage: net lookup sid <sid>\n" -msgstr "" - -#: ../utils/net_lookup.c:352 -#, c-format -msgid "Could not convert %s to SID\n" -msgstr "" - -#: ../utils/net_lookup.c:378 -msgid "usage: net lookup dsgetdcname <name> <flags> <sitename>\n" -msgstr "" - -#: ../utils/net_lookup.c:404 -#, c-format -msgid "failed with: %s\n" -msgstr "" - -#: ../utils/net_lookup.c:437 -msgid "" -"\n" -"Usage: \n" -msgstr "" - -#: ../utils/net_lua.c:60 -msgid "connect: Expected IP-Address" -msgstr "" - -#: ../utils/net_lua.c:65 -msgid "connect: Expected port" -msgstr "" - -#: ../utils/net_lua.c:84 -#, fuzzy, c-format -msgid "connect failed: %s" -msgstr "Passwortverwaltung" - -#: ../utils/net_lua.c:132 -#, c-format -msgid "socket domain %s unknown" -msgstr "" - -#: ../utils/net_lua.c:144 -#, c-format -msgid "socket type %s unknown" -msgstr "" - -#: ../utils/net_lua.c:155 -#, fuzzy, c-format -msgid "socket() failed: %s" -msgstr "Passwortverwaltung" - -#: ../utils/net_lua.c:278 -msgid "evt_reference_thread failed\n" -msgstr "" - -#: ../utils/net_lua.c:287 -msgid "event_add_timed failed" -msgstr "" - -#: ../utils/net_lua.c:300 -msgid "event_once called from non-base thread" -msgstr "" - -#: ../utils/net_lua.c:323 -msgid "event_context_init failed" -msgstr "" - -#: ../utils/net_lua.c:353 -msgid "lua_newstate failed\n" -msgstr "" - -#: ../utils/net_lua.c:371 -msgid "luaL_dofile returned an error\n" -msgstr "" - -#: ../utils/net_lua.c:376 -msgid "luaL_dostring returned an error\n" -msgstr "" diff --git a/source3/po/en.msg b/source3/po/en.msg index 0704a28c58..01e6b6943b 100644 --- a/source3/po/en.msg +++ b/source3/po/en.msg @@ -17,8 +17,7 @@ msgid "" msgstr "" "Project-Id-Version: i18n_swat \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-07-30 12:18+0200\n" +"POT-Creation-Date: 2003-10-06 05:30+0900\n" "PO-Revision-Date: 2000-02-08 12:48+09:00\n" "Last-Translator: TAKAHASHI Motonobu <monyo@samba.org>\n" "Language-Team: (Samba Team) <samba-technical@samba.org>\n" @@ -26,3988 +25,568 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: \n" -#: ../web/swat.c:153 +#: ../web/swat.c:117 #, c-format msgid "ERROR: Can't open %s" msgstr "" -#: ../web/swat.c:241 +#: ../web/swat.c:200 msgid "Help" msgstr "" -#: ../web/swat.c:247 ../web/swat.c:272 ../web/swat.c:293 ../web/swat.c:302 ../web/swat.c:311 ../web/swat.c:317 ../web/swat.c:329 ../web/swat.c:343 +#: ../web/swat.c:206 ../web/swat.c:220 ../web/swat.c:235 ../web/swat.c:243 ../web/swat.c:252 ../web/swat.c:261 ../web/swat.c:267 ../web/swat.c:273 ../web/swat.c:286 msgid "Set Default" msgstr "" -#: ../web/swat.c:465 +#: ../web/swat.c:408 #, c-format msgid "failed to open %s for writing" msgstr "" -#: ../web/swat.c:488 +#: ../web/swat.c:431 #, c-format msgid "Can't reload %s" msgstr "" -#: ../web/swat.c:561 +#: ../web/swat.c:501 #, c-format msgid "Logged in as <b>%s</b>" msgstr "" -#: ../web/swat.c:565 +#: ../web/swat.c:505 msgid "Home" msgstr "" -#: ../web/swat.c:567 +#: ../web/swat.c:507 msgid "Globals" msgstr "" -#: ../web/swat.c:568 +#: ../web/swat.c:508 msgid "Shares" msgstr "" -#: ../web/swat.c:569 +#: ../web/swat.c:509 msgid "Printers" msgstr "" -#: ../web/swat.c:570 +#: ../web/swat.c:510 msgid "Wizard" msgstr "" -#: ../web/swat.c:574 +#: ../web/swat.c:513 msgid "Status" msgstr "" -#: ../web/swat.c:575 +#: ../web/swat.c:514 msgid "View Config" msgstr "" -#: ../web/swat.c:577 +#: ../web/swat.c:516 msgid "Password Management" msgstr "" -#: ../web/swat.c:587 +#: ../web/swat.c:526 msgid "Current View Is" msgstr "" -#: ../web/swat.c:588 ../web/swat.c:591 +#: ../web/swat.c:527 ../web/swat.c:530 msgid "Basic" msgstr "" -#: ../web/swat.c:589 ../web/swat.c:592 +#: ../web/swat.c:528 ../web/swat.c:531 msgid "Advanced" msgstr "" -#: ../web/swat.c:590 +#: ../web/swat.c:529 msgid "Change View To" msgstr "" -#: ../web/swat.c:619 +#: ../web/swat.c:554 msgid "Current Config" msgstr "" -#: ../web/swat.c:623 +#: ../web/swat.c:558 msgid "Normal View" msgstr "" -#: ../web/swat.c:625 +#: ../web/swat.c:560 msgid "Full View" msgstr "" #. Here we first set and commit all the parameters that were selected #. in the previous screen. -#: ../web/swat.c:644 +#: ../web/swat.c:579 msgid "Wizard Parameter Edit Page" msgstr "" -#: ../web/swat.c:673 +#: ../web/swat.c:608 msgid "Note: smb.conf file has been read and rewritten" msgstr "" #. Here we go ... -#: ../web/swat.c:779 +#: ../web/swat.c:716 msgid "Samba Configuration Wizard" msgstr "" -#: ../web/swat.c:783 +#: ../web/swat.c:720 msgid "The \"Rewrite smb.conf file\" button will clear the smb.conf file of all default values and of comments." msgstr "" -#: ../web/swat.c:784 +#: ../web/swat.c:721 msgid "The same will happen if you press the commit button." msgstr "" -#: ../web/swat.c:787 +#: ../web/swat.c:724 msgid "Rewrite smb.conf file" msgstr "" -#: ../web/swat.c:788 +#: ../web/swat.c:725 msgid "Commit" msgstr "" -#: ../web/swat.c:789 +#: ../web/swat.c:726 msgid "Edit Parameter Values" msgstr "" -#: ../web/swat.c:795 +#: ../web/swat.c:732 msgid "Server Type" msgstr "" -#: ../web/swat.c:796 +#: ../web/swat.c:733 msgid "Stand Alone" msgstr "" -#: ../web/swat.c:797 +#: ../web/swat.c:734 msgid "Domain Member" msgstr "" -#: ../web/swat.c:798 +#: ../web/swat.c:735 msgid "Domain Controller" msgstr "" -#: ../web/swat.c:801 +#: ../web/swat.c:738 msgid "Unusual Type in smb.conf - Please Select New Mode" msgstr "" -#: ../web/swat.c:803 +#: ../web/swat.c:740 msgid "Configure WINS As" msgstr "" -#: ../web/swat.c:804 +#: ../web/swat.c:741 msgid "Not Used" msgstr "" -#: ../web/swat.c:805 +#: ../web/swat.c:742 msgid "Server for client use" msgstr "" -#: ../web/swat.c:806 +#: ../web/swat.c:743 msgid "Client of another WINS server" msgstr "" -#: ../web/swat.c:808 +#: ../web/swat.c:745 msgid "Remote WINS Server" msgstr "" -#: ../web/swat.c:819 +#: ../web/swat.c:756 msgid "Error: WINS Server Mode and WINS Support both set in smb.conf" msgstr "" -#: ../web/swat.c:820 +#: ../web/swat.c:757 msgid "Please Select desired WINS mode above." msgstr "" -#: ../web/swat.c:822 +#: ../web/swat.c:759 msgid "Expose Home Directories" msgstr "" -#: ../web/swat.c:837 +#: ../web/swat.c:774 msgid "The above configuration options will set multiple parameters and will generally assist with rapid Samba deployment." msgstr "" -#: ../web/swat.c:850 +#: ../web/swat.c:787 msgid "Global Parameters" msgstr "" -#: ../web/swat.c:878 ../web/swat.c:986 ../web/swat.c:1344 +#: ../web/swat.c:815 ../web/swat.c:916 ../web/swat.c:1265 msgid "Commit Changes" msgstr "" -#: ../web/swat.c:882 ../web/swat.c:989 ../web/swat.c:1346 +#: ../web/swat.c:819 ../web/swat.c:919 ../web/swat.c:1267 msgid "Reset Values" msgstr "" -#: ../web/swat.c:908 +#: ../web/swat.c:844 msgid "Share Parameters" msgstr "" -#: ../web/swat.c:955 +#: ../web/swat.c:887 msgid "Choose Share" msgstr "" -#: ../web/swat.c:971 +#: ../web/swat.c:901 msgid "Delete Share" msgstr "" -#: ../web/swat.c:978 +#: ../web/swat.c:908 msgid "Create Share" msgstr "" -#: ../web/swat.c:1014 +#: ../web/swat.c:944 msgid "password change in demo mode rejected" msgstr "" -#: ../web/swat.c:1028 +#: ../web/swat.c:957 msgid "Can't setup password database vectors." msgstr "" -#: ../web/swat.c:1056 +#: ../web/swat.c:983 msgid " Must specify \"User Name\" " msgstr "" -#: ../web/swat.c:1072 +#: ../web/swat.c:999 msgid " Must specify \"Old Password\" " msgstr "" -#: ../web/swat.c:1078 +#: ../web/swat.c:1005 msgid " Must specify \"Remote Machine\" " msgstr "" -#: ../web/swat.c:1085 +#: ../web/swat.c:1012 msgid " Must specify \"New, and Re-typed Passwords\" " msgstr "" -#: ../web/swat.c:1091 +#: ../web/swat.c:1018 msgid " Re-typed password didn't match new password " msgstr "" -#: ../web/swat.c:1124 +#: ../web/swat.c:1048 #, c-format msgid " The passwd for '%s' has been changed." msgstr "" -#: ../web/swat.c:1127 +#: ../web/swat.c:1051 #, c-format msgid " The passwd for '%s' has NOT been changed." msgstr "" -#: ../web/swat.c:1152 +#: ../web/swat.c:1076 msgid "Server Password Management" msgstr "" #. #. * Create all the dialog boxes for data collection #. -#: ../web/swat.c:1161 ../web/swat.c:1208 +#: ../web/swat.c:1085 ../web/swat.c:1132 msgid "User Name" msgstr "" -#: ../web/swat.c:1164 ../web/swat.c:1210 +#: ../web/swat.c:1088 ../web/swat.c:1134 msgid "Old Password" msgstr "" -#: ../web/swat.c:1167 ../web/swat.c:1212 +#: ../web/swat.c:1091 ../web/swat.c:1136 msgid "New Password" msgstr "" -#: ../web/swat.c:1169 ../web/swat.c:1214 +#: ../web/swat.c:1093 ../web/swat.c:1138 msgid "Re-type New Password" msgstr "" -#: ../web/swat.c:1177 ../web/swat.c:1225 +#: ../web/swat.c:1101 ../web/swat.c:1149 msgid "Change Password" msgstr "" -#: ../web/swat.c:1180 +#: ../web/swat.c:1104 msgid "Add New User" msgstr "" -#: ../web/swat.c:1182 +#: ../web/swat.c:1106 msgid "Delete User" msgstr "" -#: ../web/swat.c:1184 +#: ../web/swat.c:1108 msgid "Disable User" msgstr "" -#: ../web/swat.c:1186 +#: ../web/swat.c:1110 msgid "Enable User" msgstr "" -#: ../web/swat.c:1199 +#: ../web/swat.c:1123 msgid "Client/Server Password Management" msgstr "" -#: ../web/swat.c:1216 +#: ../web/swat.c:1140 msgid "Remote Machine" msgstr "" -#: ../web/swat.c:1255 +#: ../web/swat.c:1179 msgid "Printer Parameters" msgstr "" -#: ../web/swat.c:1257 +#: ../web/swat.c:1181 msgid "Important Note:" msgstr "" -#: ../web/swat.c:1258 +#: ../web/swat.c:1182 msgid "Printer names marked with [*] in the Choose Printer drop-down box " msgstr "" -#: ../web/swat.c:1259 +#: ../web/swat.c:1183 msgid "are autoloaded printers from " msgstr "" -#: ../web/swat.c:1260 +#: ../web/swat.c:1184 msgid "Printcap Name" msgstr "" -#: ../web/swat.c:1261 +#: ../web/swat.c:1185 msgid "Attempting to delete these printers from SWAT will have no effect." msgstr "" -#: ../web/swat.c:1310 +#: ../web/swat.c:1231 msgid "Choose Printer" msgstr "" -#: ../web/swat.c:1329 +#: ../web/swat.c:1250 msgid "Delete Printer" msgstr "" -#: ../web/swat.c:1336 +#: ../web/swat.c:1257 msgid "Create Printer" msgstr "" -#: ../web/statuspage.c:151 -msgid "RDWR " +#: ../web/statuspage.c:123 +msgid "RDONLY " msgstr "" -#: ../web/statuspage.c:153 +#: ../web/statuspage.c:124 msgid "WRONLY " msgstr "" -#: ../web/statuspage.c:155 -msgid "RDONLY " +#: ../web/statuspage.c:125 +msgid "RDWR " msgstr "" -#: ../web/statuspage.c:329 +#: ../web/statuspage.c:309 msgid "Server Status" msgstr "" -#: ../web/statuspage.c:334 +#: ../web/statuspage.c:314 msgid "Auto Refresh" msgstr "" -#: ../web/statuspage.c:335 ../web/statuspage.c:340 +#: ../web/statuspage.c:315 ../web/statuspage.c:320 msgid "Refresh Interval: " msgstr "" -#: ../web/statuspage.c:339 +#: ../web/statuspage.c:319 msgid "Stop Refreshing" msgstr "" -#: ../web/statuspage.c:348 +#: ../web/statuspage.c:334 msgid "version:" msgstr "" -#: ../web/statuspage.c:351 +#: ../web/statuspage.c:337 msgid "smbd:" msgstr "" -#: ../web/statuspage.c:351 ../web/statuspage.c:364 ../web/statuspage.c:378 +#: ../web/statuspage.c:337 ../web/statuspage.c:350 ../web/statuspage.c:364 msgid "running" msgstr "" -#: ../web/statuspage.c:351 ../web/statuspage.c:364 ../web/statuspage.c:378 +#: ../web/statuspage.c:337 ../web/statuspage.c:350 ../web/statuspage.c:364 msgid "not running" msgstr "" -#: ../web/statuspage.c:355 +#: ../web/statuspage.c:341 msgid "Stop smbd" msgstr "" -#: ../web/statuspage.c:357 +#: ../web/statuspage.c:343 msgid "Start smbd" msgstr "" -#: ../web/statuspage.c:359 +#: ../web/statuspage.c:345 msgid "Restart smbd" msgstr "" -#: ../web/statuspage.c:364 +#: ../web/statuspage.c:350 msgid "nmbd:" msgstr "" -#: ../web/statuspage.c:368 +#: ../web/statuspage.c:354 msgid "Stop nmbd" msgstr "" -#: ../web/statuspage.c:370 +#: ../web/statuspage.c:356 msgid "Start nmbd" msgstr "" -#: ../web/statuspage.c:372 +#: ../web/statuspage.c:358 msgid "Restart nmbd" msgstr "" -#: ../web/statuspage.c:378 +#: ../web/statuspage.c:364 msgid "winbindd:" msgstr "" -#: ../web/statuspage.c:382 +#: ../web/statuspage.c:368 msgid "Stop winbindd" msgstr "" -#: ../web/statuspage.c:384 +#: ../web/statuspage.c:370 msgid "Start winbindd" msgstr "" -#: ../web/statuspage.c:386 +#: ../web/statuspage.c:372 msgid "Restart winbindd" msgstr "" #. stop, restart all -#: ../web/statuspage.c:395 +#: ../web/statuspage.c:381 msgid "Stop All" msgstr "" -#: ../web/statuspage.c:396 +#: ../web/statuspage.c:382 msgid "Restart All" msgstr "" #. start all -#: ../web/statuspage.c:400 +#: ../web/statuspage.c:386 msgid "Start All" msgstr "" -#: ../web/statuspage.c:407 +#: ../web/statuspage.c:393 msgid "Active Connections" msgstr "" -#: ../web/statuspage.c:409 ../web/statuspage.c:422 ../web/statuspage.c:431 +#: ../web/statuspage.c:395 ../web/statuspage.c:408 ../web/statuspage.c:416 msgid "PID" msgstr "" -#: ../web/statuspage.c:409 ../web/statuspage.c:422 +#: ../web/statuspage.c:395 ../web/statuspage.c:408 msgid "Client" msgstr "" -#: ../web/statuspage.c:409 +#: ../web/statuspage.c:395 msgid "IP address" msgstr "" -#: ../web/statuspage.c:409 ../web/statuspage.c:422 ../web/statuspage.c:431 +#: ../web/statuspage.c:395 ../web/statuspage.c:408 ../web/statuspage.c:416 msgid "Date" msgstr "" -#: ../web/statuspage.c:411 +#: ../web/statuspage.c:397 msgid "Kill" msgstr "" -#: ../web/statuspage.c:419 +#: ../web/statuspage.c:405 msgid "Active Shares" msgstr "" -#: ../web/statuspage.c:422 +#: ../web/statuspage.c:408 msgid "Share" msgstr "" -#: ../web/statuspage.c:422 +#: ../web/statuspage.c:408 msgid "User" msgstr "" -#: ../web/statuspage.c:422 +#: ../web/statuspage.c:408 msgid "Group" msgstr "" -#: ../web/statuspage.c:428 +#: ../web/statuspage.c:414 msgid "Open Files" msgstr "" -#: ../web/statuspage.c:431 -msgid "UID" -msgstr "" - -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:416 msgid "Sharing" msgstr "" -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:416 msgid "R/W" msgstr "" -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:416 msgid "Oplock" msgstr "" -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:416 msgid "File" msgstr "" -#: ../web/statuspage.c:438 +#: ../web/statuspage.c:425 msgid "Show Client in col 1" msgstr "" -#: ../web/statuspage.c:439 +#: ../web/statuspage.c:426 msgid "Show PID in col 1" msgstr "" -#: ../param/loadparm.c:907 +#: ../param/loadparm.c:755 msgid "Base Options" msgstr "" -#: ../param/loadparm.c:1047 +#: ../param/loadparm.c:775 msgid "Security Options" msgstr "" -#: ../param/loadparm.c:1800 +#: ../param/loadparm.c:859 msgid "Logging Options" msgstr "" -#: ../param/loadparm.c:1929 +#: ../param/loadparm.c:874 msgid "Protocol Options" msgstr "" -#: ../param/loadparm.c:2301 +#: ../param/loadparm.c:911 msgid "Tuning Options" msgstr "" -#: ../param/loadparm.c:2538 +#: ../param/loadparm.c:940 msgid "Printing Options" msgstr "" -#: ../param/loadparm.c:2858 +#: ../param/loadparm.c:970 msgid "Filename Handling" msgstr "" -#: ../param/loadparm.c:3088 +#: ../param/loadparm.c:996 msgid "Domain Options" msgstr "" -#: ../param/loadparm.c:3100 +#: ../param/loadparm.c:1000 msgid "Logon Options" msgstr "" -#: ../param/loadparm.c:3273 +#: ../param/loadparm.c:1019 msgid "Browse Options" msgstr "" -#: ../param/loadparm.c:3384 +#: ../param/loadparm.c:1033 msgid "WINS Options" msgstr "" -#: ../param/loadparm.c:3432 +#: ../param/loadparm.c:1043 msgid "Locking Options" msgstr "" -#: ../param/loadparm.c:3552 +#: ../param/loadparm.c:1061 msgid "Ldap Options" msgstr "" -#: ../param/loadparm.c:3708 -msgid "EventLog Options" -msgstr "" - -#: ../param/loadparm.c:3720 +#: ../param/loadparm.c:1078 msgid "Miscellaneous Options" msgstr "" -#: ../param/loadparm.c:4301 +#: ../param/loadparm.c:1138 msgid "VFS module options" msgstr "" -#: ../param/loadparm.c:4323 -msgid "MSDFS options" -msgstr "" - -#: ../param/loadparm.c:4353 +#: ../param/loadparm.c:1148 msgid "Winbind options" msgstr "" - -#: ../utils/net.c:103 -msgid "Enter machine password: " -msgstr "" - -#: ../utils/net.c:107 -msgid "Unable to write the machine account password in the secrets database" -msgstr "" - -#: ../utils/net.c:111 -msgid "Modified trust account password in secrets database\n" -msgstr "" - -#: ../utils/net.c:115 -msgid "" -"Machine account password change requires the -f flag.\n" -"Do NOT use this function unless you know what it does!\n" -"This function will change the ADS Domain member machine account password in the secrets.tdb file!\n" -msgstr "" - -#: ../utils/net.c:150 ../utils/net.c:228 -#, c-format -msgid "Unable to open secrets.tdb. Can't fetch domain SID for name: %s\n" -msgstr "" - -#: ../utils/net.c:163 ../utils/net.c:251 -#, c-format -msgid "SID for domain %s is: %s\n" -msgstr "" - -#: ../utils/net.c:175 -msgid "usage: net setlocalsid S-1-5-21-x-y-z\n" -msgstr "" - -#: ../utils/net.c:195 -msgid "usage: net setdomainsid S-1-5-21-x-y-z\n" -msgstr "" - -#: ../utils/net.c:213 -msgid "usage: net getdomainsid\n" -msgstr "" - -#: ../utils/net.c:238 -msgid "Could not fetch local SID\n" -msgstr "" - -#: ../utils/net.c:242 -#, c-format -msgid "SID for local machine %s is: %s\n" -msgstr "" - -#: ../utils/net.c:246 -msgid "Could not fetch domain SID\n" -msgstr "" - -#: ../utils/net.c:263 -#, c-format -msgid "get_maxrid: Could not search %s\n" -msgstr "" - -#: ../utils/net.c:297 -msgid "usage: net maxrid\n" -msgstr "" - -#: ../utils/net.c:302 -msgid "can't get current maximum rid\n" -msgstr "" - -#: ../utils/net.c:306 -#, c-format -msgid "Currently used maximum rid: %d\n" -msgstr "" - -#: ../utils/net.c:317 -msgid "Run functions using RPC transport" -msgstr "" - -#: ../utils/net.c:318 -msgid " Use 'net help rpc' to get more extensive information about 'net rpc' commands." -msgstr "" - -#: ../utils/net.c:325 -msgid "Run functions using RAP transport" -msgstr "" - -#: ../utils/net.c:326 -msgid " Use 'net help rap' to get more extensive information about 'net rap' commands." -msgstr "" - -#: ../utils/net.c:333 -msgid "Run functions using ADS transport" -msgstr "" - -#: ../utils/net.c:334 -msgid " Use 'net help ads' to get more extensive information about 'net ads' commands." -msgstr "" - -#: ../utils/net.c:343 -msgid "Functions on remote opened files" -msgstr "" - -#: ../utils/net.c:344 -msgid " Use 'net help file' to get more information about 'net file' commands." -msgstr "" - -#: ../utils/net.c:351 -msgid "Functions on shares" -msgstr "" - -#: ../utils/net.c:352 -msgid " Use 'net help share' to get more information about 'net share' commands." -msgstr "" - -#: ../utils/net.c:359 -msgid "Manage sessions" -msgstr "" - -#: ../utils/net.c:360 -msgid " Use 'net help session' to get more information about 'net session' commands." -msgstr "" - -#: ../utils/net.c:367 -msgid "List servers in workgroup" -msgstr "" - -#: ../utils/net.c:368 -msgid " Use 'net help server' to get more information about 'net server' commands." -msgstr "" - -#: ../utils/net.c:375 -msgid "List domains/workgroups on network" -msgstr "" - -#: ../utils/net.c:376 -msgid " Use 'net help domain' to get more information about 'net domain' commands." -msgstr "" - -#: ../utils/net.c:383 -msgid "Modify printer queue" -msgstr "" - -#: ../utils/net.c:384 -msgid " Use 'net help printq' to get more information about 'net printq' commands." -msgstr "" - -#: ../utils/net.c:391 -msgid "Manage users" -msgstr "" - -#: ../utils/net.c:392 -msgid " Use 'net help user' to get more information about 'net user' commands." -msgstr "" - -#: ../utils/net.c:399 -msgid "Manage groups" -msgstr "" - -#: ../utils/net.c:400 -msgid " Use 'net help group' to get more information about 'net group' commands." -msgstr "" - -#: ../utils/net.c:407 -msgid "Manage group mappings" -msgstr "" - -#: ../utils/net.c:408 -msgid " Use 'net help groupmap' to get more information about 'net groupmap' commands." -msgstr "" - -#: ../utils/net.c:415 -msgid "Functions on the SAM database" -msgstr "" - -#: ../utils/net.c:416 -msgid " Use 'net help sam' to get more information about 'net sam' commands." -msgstr "" - -#: ../utils/net.c:423 -msgid "Validate username and password" -msgstr "" - -#: ../utils/net.c:424 -msgid " Use 'net help validate' to get more information about 'net validate' commands." -msgstr "" - -#: ../utils/net.c:431 -msgid "Modify group memberships" -msgstr "" - -#: ../utils/net.c:432 -msgid " Use 'net help groupmember' to get more information about 'net groupmember' commands." -msgstr "" - -#: ../utils/net.c:438 -msgid "Execute remote command on a remote OS/2 server" -msgstr "" - -#: ../utils/net.c:439 -msgid " Use 'net help admin' to get more information about 'net admin' commands." -msgstr "" - -#: ../utils/net.c:445 -msgid "List/modify running services" -msgstr "" - -#: ../utils/net.c:446 -msgid " Use 'net help service' to get more information about 'net service' commands." -msgstr "" - -#: ../utils/net.c:453 -msgid "Change user password on target server" -msgstr "" - -#: ../utils/net.c:454 -msgid " Use 'net help password' to get more information about 'net password' commands." -msgstr "" - -#: ../utils/net.c:460 -msgid "Change the trust password" -msgstr "" - -#: ../utils/net.c:461 -msgid " Use 'net help changetrustpw' to get more information about 'net changetrustpw'." -msgstr "" - -#: ../utils/net.c:467 -msgid "Change the secret password" -msgstr "" - -#: ../utils/net.c:468 -msgid "" -" net [options] changesecretpw\n" -" Change the ADS domain member machine account password in secrets.tdb.\n" -" Do NOT use this function unless you know what it does.\n" -" Requires the -f flag to work." -msgstr "" - -#: ../utils/net.c:477 -msgid "Show/set time" -msgstr "" - -#: ../utils/net.c:478 -msgid " Use 'net help time' to get more information about 'net time' commands." -msgstr "" - -#: ../utils/net.c:484 -msgid "Look up host names/IP addresses" -msgstr "" - -#: ../utils/net.c:485 -msgid " Use 'net help lookup' to get more information about 'net lookup' commands." -msgstr "" - -#: ../utils/net.c:491 -msgid "Join a domain/AD" -msgstr "" - -#: ../utils/net.c:492 -msgid " Use 'net help join' to get more information about 'net join'." -msgstr "" - -#: ../utils/net.c:498 -msgid "Join/unjoin (remote) machines to/from a domain/AD" -msgstr "" - -#: ../utils/net.c:499 -msgid " Use 'net help dom' to get more information about 'net dom' commands." -msgstr "" - -#: ../utils/net.c:505 -msgid "Operate on the cache tdb file" -msgstr "" - -#: ../utils/net.c:506 -msgid " Use 'net help cache' to get more information about 'net cache' commands." -msgstr "" - -#: ../utils/net.c:512 -msgid "Get the SID for the local domain" -msgstr "" - -#: ../utils/net.c:513 -msgid " net getlocalsid" -msgstr "" - -#: ../utils/net.c:518 -msgid "Set the SID for the local domain" -msgstr "" - -#: ../utils/net.c:519 -msgid " net setlocalsid S-1-5-21-x-y-z" -msgstr "" - -#: ../utils/net.c:524 -msgid "Set domain SID on member servers" -msgstr "" - -#: ../utils/net.c:525 -msgid " net setdomainsid S-1-5-21-x-y-z" -msgstr "" - -#: ../utils/net.c:530 -msgid "Get domain SID on member servers" -msgstr "" - -#: ../utils/net.c:531 -msgid " net getdomainsid" -msgstr "" - -#: ../utils/net.c:536 -msgid "Display the maximul RID currently used" -msgstr "" - -#: ../utils/net.c:537 -msgid " net maxrid" -msgstr "" - -#: ../utils/net.c:542 -msgid "IDmap functions" -msgstr "" - -#: ../utils/net.c:543 -msgid " Use 'net help idmap to get more information about 'net idmap' commands." -msgstr "" - -#: ../utils/net.c:549 -msgid "Display server status" -msgstr "" - -#: ../utils/net.c:550 -msgid " Use 'net help status' to get more information about 'net status' commands." -msgstr "" - -#: ../utils/net.c:556 -msgid "Manage user-modifiable shares" -msgstr "" - -#: ../utils/net.c:557 -msgid " Use 'net help usershare to get more information about 'net usershare' commands." -msgstr "" - -#: ../utils/net.c:563 -msgid "Display list of all users with SID" -msgstr "" - -#: ../utils/net.c:564 -msgid " Use 'net help usersidlist' to get more information about 'net usersidlist'." -msgstr "" - -#: ../utils/net.c:570 -msgid "Manage Samba registry based configuration" -msgstr "" - -#: ../utils/net.c:571 -msgid " Use 'net help conf' to get more information about 'net conf' commands." -msgstr "" - -#: ../utils/net.c:577 -msgid "Manage the Samba registry" -msgstr "" - -#: ../utils/net.c:578 -msgid " Use 'net help registry' to get more information about 'net registry' commands." -msgstr "" - -#: ../utils/net.c:584 -msgid "Open a lua interpreter" -msgstr "" - -#: ../utils/net.c:585 -msgid " Use 'net help lua' to get more information about 'net lua' commands." -msgstr "" - -#: ../utils/net.c:591 -msgid "Process Win32 *.evt eventlog files" -msgstr "" - -#: ../utils/net.c:592 -msgid " Use 'net help eventlog' to get more information about 'net eventlog' commands." -msgstr "" - -#: ../utils/net.c:600 -msgid "Manage AFS tokens" -msgstr "" - -#: ../utils/net.c:601 -msgid " Use 'net help afs' to get more information about 'net afs' commands." -msgstr "" - -#: ../utils/net.c:609 -msgid "Print usage information" -msgstr "" - -#: ../utils/net.c:610 -msgid " Use 'net help help' to list usage information for 'net' commands." -msgstr "" - -#: ../utils/net.c:639 -msgid "Encrypt SMB transport (UNIX extended servers only)" -msgstr "" - -#: ../utils/net.c:703 -msgid "" -"\n" -"Invalid ip address specified\n" -msgstr "" - -#: ../utils/net.c:718 -#, c-format -msgid "" -"\n" -"Invalid option %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:52 ../utils/net_ads.c:392 -msgid "CLDAP query failed!\n" -msgstr "" - -#: ../utils/net_ads.c:56 -#, c-format -msgid "" -"Information for Domain Controller: %s\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:59 -msgid "Response Type: " -msgstr "" - -#: ../utils/net_ads.c:72 -#, c-format -msgid "GUID: %s\n" -msgstr "" - -#: ../utils/net_ads.c:74 -#, c-format -msgid "" -"Flags:\n" -"\tIs a PDC: %s\n" -"\tIs a GC of the forest: %s\n" -"\tIs an LDAP server: %s\n" -"\tSupports DS: %s\n" -"\tIs running a KDC: %s\n" -"\tIs running time services: %s\n" -"\tIs the closest DC: %s\n" -"\tIs writable: %s\n" -"\tHas a hardware clock: %s\n" -"\tIs a non-domain NC serviced by LDAP server: %s\n" -"\tIs NT6 DC that has some secrets: %s\n" -"\tIs NT6 DC that has all secrets: %s\n" -msgstr "" - -#: ../utils/net_ads.c:87 ../utils/net_ads.c:88 ../utils/net_ads.c:89 ../utils/net_ads.c:90 ../utils/net_ads.c:91 ../utils/net_ads.c:92 ../utils/net_ads.c:93 ../utils/net_ads.c:94 ../utils/net_ads.c:95 ../utils/net_ads.c:96 ../utils/net_ads.c:97 -#: ../utils/net_ads.c:98 -msgid "yes" -msgstr "" - -#: ../utils/net_ads.c:87 ../utils/net_ads.c:88 ../utils/net_ads.c:89 ../utils/net_ads.c:90 ../utils/net_ads.c:91 ../utils/net_ads.c:92 ../utils/net_ads.c:93 ../utils/net_ads.c:94 ../utils/net_ads.c:95 ../utils/net_ads.c:96 ../utils/net_ads.c:97 -#: ../utils/net_ads.c:98 -msgid "no" -msgstr "" - -#: ../utils/net_ads.c:101 -#, c-format -msgid "Forest:\t\t\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:102 -#, c-format -msgid "Domain:\t\t\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:103 -#, c-format -msgid "Domain Controller:\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:105 -#, c-format -msgid "Pre-Win2k Domain:\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:106 -#, c-format -msgid "Pre-Win2k Hostname:\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:108 -#, c-format -msgid "User name:\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:110 -#, c-format -msgid "Server Site Name :\t\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:111 -#, c-format -msgid "Client Site Name :\t\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:113 -#, c-format -msgid "NT Version: %d\n" -msgstr "" - -#: ../utils/net_ads.c:114 -#, c-format -msgid "LMNT Token: %.2x\n" -msgstr "" - -#: ../utils/net_ads.c:115 -#, c-format -msgid "LM20 Token: %.2x\n" -msgstr "" - -#: ../utils/net_ads.c:130 -msgid "" -"Usage:\n" -"net ads lookup\n" -" Find the ADS DC using CLDAP lookup.\n" -msgstr "" - -#: ../utils/net_ads.c:137 ../utils/net_ads.c:381 -msgid "Didn't find the cldap server!\n" -msgstr "" - -#: ../utils/net_ads.c:160 -msgid "" -"Usage:\n" -"net ads info\n" -" Display information about an Active Directory server.\n" -msgstr "" - -#: ../utils/net_ads.c:168 ../utils/net_ads.c:173 -msgid "Didn't find the ldap server!\n" -msgstr "" - -#: ../utils/net_ads.c:182 -msgid "Failed to get server's current time!\n" -msgstr "" - -#: ../utils/net_ads.c:187 -#, c-format -msgid "LDAP server: %s\n" -msgstr "" - -#: ../utils/net_ads.c:188 -#, c-format -msgid "LDAP server name: %s\n" -msgstr "" - -#: ../utils/net_ads.c:189 -#, c-format -msgid "Realm: %s\n" -msgstr "" - -#: ../utils/net_ads.c:190 -#, c-format -msgid "Bind Path: %s\n" -msgstr "" - -#: ../utils/net_ads.c:191 -#, c-format -msgid "LDAP port: %d\n" -msgstr "" - -#: ../utils/net_ads.c:192 -#, c-format -msgid "Server time: %s\n" -msgstr "" - -#: ../utils/net_ads.c:195 -#, c-format -msgid "KDC server: %s\n" -msgstr "" - -#: ../utils/net_ads.c:196 -#, c-format -msgid "Server time offset: %d\n" -msgstr "" - -#: ../utils/net_ads.c:374 -msgid "" -"Usage:\n" -"net ads workgroup\n" -" Print the workgroup name\n" -msgstr "" - -#: ../utils/net_ads.c:397 -#, c-format -msgid "Workgroup: %s\n" -msgstr "" - -#: ../utils/net_ads.c:458 -#, c-format -msgid "ads_user_add: %s\n" -msgstr "" - -#: ../utils/net_ads.c:463 -#, c-format -msgid "ads_user_add: User %s already exists\n" -msgstr "" - -#: ../utils/net_ads.c:477 -#, c-format -msgid "Could not add user %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:484 ../utils/net_ads.c:497 -#, c-format -msgid "User %s added\n" -msgstr "" - -#. password didn't set, delete account -#: ../utils/net_ads.c:503 -#, c-format -msgid "Could not add user %s. Error setting password %s\n" -msgstr "" - -#: ../utils/net_ads.c:551 -#, c-format -msgid "ads_user_info: failed to escape user %s\n" -msgstr "" - -#: ../utils/net_ads.c:569 -#, c-format -msgid "ads_search: %s\n" -msgstr "" - -#: ../utils/net_ads.c:575 -msgid "ads_pull_uint32 failed\n" -msgstr "" - -#: ../utils/net_ads.c:582 -#, c-format -msgid "ads_domain_sid: %s\n" -msgstr "" - -#: ../utils/net_ads.c:642 -#, c-format -msgid "User %s does not exist.\n" -msgstr "" - -#: ../utils/net_ads.c:652 -#, c-format -msgid "User %s deleted\n" -msgstr "" - -#: ../utils/net_ads.c:656 -#, c-format -msgid "Error deleting user %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:669 -msgid "Add an AD user" -msgstr "" - -#: ../utils/net_ads.c:670 -msgid "" -"net ads user add\n" -" Add an AD user" -msgstr "" - -#: ../utils/net_ads.c:677 -msgid "Display information about an AD user" -msgstr "" - -#: ../utils/net_ads.c:678 -msgid "" -"net ads user info\n" -" Display information about an AD user" -msgstr "" - -#: ../utils/net_ads.c:685 -msgid "Delete an AD user" -msgstr "" - -#: ../utils/net_ads.c:686 -msgid "" -"net ads user delete\n" -" Delete an AD user" -msgstr "" - -#: ../utils/net_ads.c:699 -msgid "" -"Usage:\n" -"net ads user\n" -" List AD users\n" -msgstr "" - -#: ../utils/net_ads.c:711 -msgid "" -"\n" -"User name Comment\n" -"-----------------------------\n" -msgstr "" - -#: ../utils/net_ads.c:751 -#, c-format -msgid "ads_group_add: %s\n" -msgstr "" - -#: ../utils/net_ads.c:756 -#, c-format -msgid "ads_group_add: Group %s already exists\n" -msgstr "" - -#: ../utils/net_ads.c:769 -#, c-format -msgid "Group %s added\n" -msgstr "" - -#: ../utils/net_ads.c:772 -#, c-format -msgid "Could not add group %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:801 -#, c-format -msgid "Group %s does not exist.\n" -msgstr "" - -#: ../utils/net_ads.c:811 -#, c-format -msgid "Group %s deleted\n" -msgstr "" - -#: ../utils/net_ads.c:815 -#, c-format -msgid "Error deleting group %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:828 -msgid "Add an AD group" -msgstr "" - -#: ../utils/net_ads.c:829 -msgid "" -"net ads group add\n" -" Add an AD group" -msgstr "" - -#: ../utils/net_ads.c:836 -msgid "Delete an AD group" -msgstr "" - -#: ../utils/net_ads.c:837 -msgid "" -"net ads group delete\n" -" Delete an AD group" -msgstr "" - -#: ../utils/net_ads.c:850 -msgid "" -"Usage:\n" -"net ads group\n" -" List AD groups\n" -msgstr "" - -#: ../utils/net_ads.c:862 -msgid "" -"\n" -"Group name Comment\n" -"-----------------------------\n" -msgstr "" - -#: ../utils/net_ads.c:884 -msgid "" -"Usage:\n" -"net ads status\n" -" Display machine account details\n" -msgstr "" - -#: ../utils/net_ads.c:896 -#, c-format -msgid "ads_find_machine_acct: %s\n" -msgstr "" - -#: ../utils/net_ads.c:902 -#, c-format -msgid "No machine account for '%s' found\n" -msgstr "" - -#: ../utils/net_ads.c:926 -msgid "" -"Usage:\n" -"net ads leave\n" -" Leave an AD domain\n" -msgstr "" - -#: ../utils/net_ads.c:933 -msgid "No realm set, are we joined ?\n" -msgstr "" - -#: ../utils/net_ads.c:938 ../utils/net_ads.c:1260 -msgid "Could not initialise talloc context.\n" -msgstr "" - -#: ../utils/net_ads.c:948 -msgid "Could not initialise unjoin context.\n" -msgstr "" - -#: ../utils/net_ads.c:968 -#, c-format -msgid "Failed to leave domain: %s\n" -msgstr "" - -#: ../utils/net_ads.c:975 -#, c-format -msgid "Deleted account for '%s' in realm '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:982 -#, c-format -msgid "Disabled account for '%s' in realm '%s'\n" -msgstr "" - -#. Based on what we requseted, we shouldn't get here, but if -#. we did, it means the secrets were removed, and therefore -#. we have left the domain -#: ../utils/net_ads.c:991 -#, c-format -msgid "Machine '%s' Left domain '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:1035 -msgid "" -"Usage:\n" -"net ads testjoin\n" -" Test if the existing join is ok\n" -msgstr "" - -#: ../utils/net_ads.c:1044 -#, c-format -msgid "Join to domain is not valid: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1049 -#, c-format -msgid "Join is OK\n" -msgstr "" - -#: ../utils/net_ads.c:1060 -msgid "Host is not configured as a member server.\n" -msgstr "" - -#: ../utils/net_ads.c:1065 -#, c-format -msgid "Our netbios name can be at most 15 chars long, \"%s\" is %u chars long\n" -msgstr "" - -#: ../utils/net_ads.c:1072 -#, c-format -msgid "realm must be set in in %s for ADS join to succeed.\n" -msgstr "" - -#: ../utils/net_ads.c:1105 -#, c-format -msgid "No DNS domain configured for %s. Unable to perform DNS Update.\n" -msgstr "" - -#: ../utils/net_ads.c:1212 -msgid "" -"net ads join [options]\n" -"Valid options:\n" -msgstr "" - -#: ../utils/net_ads.c:1214 -msgid "" -" createupn[=UPN] Set the userPrincipalName attribute during the join.\n" -" The deault UPN is in the form host/netbiosname@REALM.\n" -msgstr "" - -#: ../utils/net_ads.c:1216 -msgid "" -" createcomputer=OU Precreate the computer account in a specific OU.\n" -" The OU string read from top to bottom without RDNs and delimited by a '/'.\n" -" E.g. \"createcomputer=Computers/Servers/Unix\"\n" -" NB: A backslash '\\' is used as escape at multiple levels and may\n" -" need to be doubled or even quadrupled. It is not used as a separator.\n" -msgstr "" - -#: ../utils/net_ads.c:1221 -msgid " osName=string Set the operatingSystem attribute during the join.\n" -msgstr "" - -#: ../utils/net_ads.c:1222 -msgid "" -" osVer=string Set the operatingSystemVersion attribute during the join.\n" -" NB: osName and osVer must be specified together for either to take effect.\n" -" Also, the operatingSystemService attribute is also set when along with\n" -" the two other attributes.\n" -msgstr "" - -#: ../utils/net_ads.c:1254 -msgid "Invalid configuration. Exiting....\n" -msgstr "" - -#: ../utils/net_ads.c:1283 -msgid "Please supply a valid OU path.\n" -msgstr "" - -#: ../utils/net_ads.c:1290 -msgid "Please supply a operating system name.\n" -msgstr "" - -#: ../utils/net_ads.c:1297 -msgid "Please supply a valid operating system version.\n" -msgstr "" - -#: ../utils/net_ads.c:1308 -msgid "Please supply a valid domain name\n" -msgstr "" - -#: ../utils/net_ads.c:1339 -#, c-format -msgid "" -"The workgroup in %s does not match the short\n" -"domain name obtained from the server.\n" -"Using the name [%s] from the server.\n" -"You should set \"workgroup = %s\" in %s.\n" -msgstr "" - -#: ../utils/net_ads.c:1347 -#, c-format -msgid "Using short domain name -- %s\n" -msgstr "" - -#: ../utils/net_ads.c:1350 -#, c-format -msgid "Joined '%s' to realm '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:1353 -#, c-format -msgid "Joined '%s' to domain '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:1377 ../utils/net_ads.c:1433 -msgid "DNS update failed!\n" -msgstr "" - -#. issue an overall failure message at the end. -#: ../utils/net_ads.c:1391 ../utils/net_dom.c:198 -#, c-format -msgid "Failed to join domain: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1414 -msgid "" -"Usage:\n" -"net ads dns register\n" -" Register hostname with DNS\n" -msgstr "" - -#: ../utils/net_ads.c:1421 -msgid "Could not initialise talloc context\n" -msgstr "" - -#: ../utils/net_ads.c:1439 -msgid "Successfully registered hostname with DNS\n" -msgstr "" - -#: ../utils/net_ads.c:1447 -msgid "DNS update support not enabled at compile time!\n" -msgstr "" - -#: ../utils/net_ads.c:1466 -msgid "" -"Usage:\n" -"net ads dns gethostbyname <server> <name>\n" -" Look up hostname from the AD\n" -" server\tName server to use\n" -" name\tName to look up\n" -msgstr "" - -#: ../utils/net_ads.c:1476 -#, c-format -msgid "do_gethostbyname returned %d\n" -msgstr "" - -#: ../utils/net_ads.c:1488 -msgid "Add host dns entry to AD" -msgstr "" - -#: ../utils/net_ads.c:1489 -msgid "" -"net ads dns register\n" -" Add host dns entry to AD" -msgstr "" - -#: ../utils/net_ads.c:1496 -msgid "Look up host" -msgstr "" - -#: ../utils/net_ads.c:1497 -msgid "" -"net ads dns gethostbyname\n" -" Look up host" -msgstr "" - -#: ../utils/net_ads.c:1512 -msgid "" -"\n" -"net ads printer search <printer>\n" -"\tsearch for a printer in the directory\n" -"\n" -"net ads printer info <printer> <server>\n" -"\tlookup info in directory for printer on server\n" -"\t(note: printer defaults to \"*\", server defaults to local)\n" -"\n" -"net ads printer publish <printername>\n" -"\tpublish printer in directory\n" -"\t(note: printer name is required)\n" -"\n" -"net ads printer remove <printername>\n" -"\tremove printer from directory\n" -"\t(note: printer name is required)\n" -msgstr "" - -#: ../utils/net_ads.c:1536 -msgid "" -"Usage:\n" -"net ads printer search\n" -" List printers in the AD\n" -msgstr "" - -#: ../utils/net_ads.c:1549 -#, c-format -msgid "ads_find_printer: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1556 -msgid "No results found\n" -msgstr "" - -#: ../utils/net_ads.c:1576 -msgid "" -"Usage:\n" -"net ads printer info [printername [servername]]\n" -" Display printer info from AD\n" -" printername\tPrinter name or wildcard\n" -" servername\tName of the print server\n" -msgstr "" - -#: ../utils/net_ads.c:1603 -#, c-format -msgid "Server '%s' not found: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1611 ../utils/net_ads.c:1794 -#, c-format -msgid "Printer '%s' not found\n" -msgstr "" - -#: ../utils/net_ads.c:1640 -msgid "" -"Usage:\n" -"net ads printer publish <printername> [servername]\n" -" Publish printer in AD\n" -" printername\tName of the printer\n" -" servername\tName of the print server\n" -msgstr "" - -#: ../utils/net_ads.c:1675 -#, c-format -msgid "Unable to open a connnection to %s to obtain data for %s\n" -msgstr "" - -#: ../utils/net_ads.c:1688 -#, c-format -msgid "Could not find machine account for server %s\n" -msgstr "" - -#: ../utils/net_ads.c:1704 ../utils/net_ads.c:1713 -msgid "Internal error, out of memory!" -msgstr "" - -#: ../utils/net_ads.c:1724 -#, c-format -msgid "Unable to open a connnection to the spoolss pipe on %s\n" -msgstr "" - -#: ../utils/net_ads.c:1766 -msgid "" -"Usage:\n" -"net ads printer remove <printername> [servername]\n" -" Remove a printer from the AD\n" -" printername\tName of the printer\n" -" servername\tName of the print server\n" -msgstr "" - -#: ../utils/net_ads.c:1787 -#, c-format -msgid "ads_find_printer_on_server: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1806 -#, c-format -msgid "ads_del_dn: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1822 -msgid "Search for a printer" -msgstr "" - -#: ../utils/net_ads.c:1823 -msgid "" -"net ads printer search\n" -" Search for a printer" -msgstr "" - -#: ../utils/net_ads.c:1830 -msgid "Display printer information" -msgstr "" - -#: ../utils/net_ads.c:1831 -msgid "" -"net ads printer info\n" -" Display printer information" -msgstr "" - -#: ../utils/net_ads.c:1838 -msgid "Publish a printer" -msgstr "" - -#: ../utils/net_ads.c:1839 -msgid "" -"net ads printer publish\n" -" Publish a printer" -msgstr "" - -#: ../utils/net_ads.c:1846 -msgid "Delete a printer" -msgstr "" - -#: ../utils/net_ads.c:1847 -msgid "" -"net ads printer remove\n" -" Delete a printer" -msgstr "" - -#: ../utils/net_ads.c:1869 -msgid "" -"Usage:\n" -"net ads password <username>\n" -" Change password for user\n" -" username\tName of user to change password for\n" -msgstr "" - -#: ../utils/net_ads.c:1877 -msgid "You must supply an administrator username/password\n" -msgstr "" - -#: ../utils/net_ads.c:1883 -msgid "ERROR: You must say which username to change password for\n" -msgstr "" - -#: ../utils/net_ads.c:1915 -msgid "Didn't find the kerberos server!\n" -msgstr "" - -#: ../utils/net_ads.c:1923 -#, c-format -msgid "Enter new password for %s:" -msgstr "" - -#: ../utils/net_ads.c:1933 ../utils/net_ads.c:1982 -#, c-format -msgid "Password change failed: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1938 -#, c-format -msgid "Password change for %s completed.\n" -msgstr "" - -#: ../utils/net_ads.c:1952 -msgid "" -"Usage:\n" -"net ads changetrustpw\n" -" Change the machine account's trust password\n" -msgstr "" - -#: ../utils/net_ads.c:1977 -#, c-format -msgid "Changing password for principal: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1988 -#, c-format -msgid "Password change for principal %s succeeded.\n" -msgstr "" - -#: ../utils/net_ads.c:1991 -msgid "Attempting to update system keytab with new password.\n" -msgstr "" - -#: ../utils/net_ads.c:1993 -msgid "Failed to update system keytab.\n" -msgstr "" - -#: ../utils/net_ads.c:2009 -msgid "" -"\n" -"net ads search <expression> <attributes...>\n" -"\n" -"Perform a raw LDAP search on a ADS server and dump the results.\n" -"The expression is a standard LDAP search expression, and the\n" -"attributes are a list of LDAP fields to show in the results.\n" -"\n" -"Example: net ads search '(objectCategory=group)' sAMAccountName\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2046 ../utils/net_ads.c:2107 ../utils/net_ads.c:2171 ../utils/net_ads_gpo.c:250 -#, c-format -msgid "search failed: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2051 ../utils/net_ads.c:2176 ../utils/net_ads_gpo.c:256 -#, c-format -msgid "" -"Got %d replies\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2069 -msgid "" -"\n" -"net ads dn <dn> <attributes...>\n" -"\n" -"perform a raw LDAP search on a ADS server and dump the results\n" -"The DN standard LDAP DN, and the attributes are a list of LDAP fields \n" -"to show in the results\n" -"\n" -"Example: net ads dn 'CN=administrator,CN=Users,DC=my,DC=domain' sAMAccountName\n" -"\n" -"Note: the DN must be provided properly escaped. See RFC 4514 for details\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2129 -msgid "" -"\n" -"net ads sid <sid> <attributes...>\n" -"\n" -"perform a raw LDAP search on a ADS server and dump the results\n" -"The SID is in string format, and the attributes are a list of LDAP fields \n" -"to show in the results\n" -"\n" -"Example: net ads sid 'S-1-5-32' distinguishedName\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2164 -msgid "could not convert sid\n" -msgstr "" - -#: ../utils/net_ads.c:2193 -msgid "" -"Usage:\n" -"net ads keytab flush\n" -" Delete the whole keytab\n" -msgstr "" - -#: ../utils/net_ads.c:2214 -msgid "" -"Usage:\n" -"net ads keytab add <principal> [principal ...]\n" -" Add principals to local keytab\n" -" principal\tKerberos principal to add to keytab\n" -msgstr "" - -#: ../utils/net_ads.c:2222 -msgid "Processing principals to add...\n" -msgstr "" - -#: ../utils/net_ads.c:2239 -msgid "" -"Usage:\n" -"net ads keytab create\n" -" Create new default keytab\n" -msgstr "" - -#: ../utils/net_ads.c:2258 -msgid "" -"Usage:\n" -"net ads keytab list [keytab]\n" -" List a local keytab\n" -" keytab\tKeytab to list\n" -msgstr "" - -#: ../utils/net_ads.c:2280 -msgid "Add a service principal" -msgstr "" - -#: ../utils/net_ads.c:2281 -msgid "" -"net ads keytab add\n" -" Add a service principal" -msgstr "" - -#: ../utils/net_ads.c:2288 -msgid "Create a fresh keytab" -msgstr "" - -#: ../utils/net_ads.c:2289 -msgid "" -"net ads keytab create\n" -" Create a fresh keytab" -msgstr "" - -#: ../utils/net_ads.c:2296 -msgid "Remove all keytab entries" -msgstr "" - -#: ../utils/net_ads.c:2297 -msgid "" -"net ads keytab flush\n" -" Remove all keytab entries" -msgstr "" - -#: ../utils/net_ads.c:2304 -msgid "List a keytab" -msgstr "" - -#: ../utils/net_ads.c:2305 -msgid "" -"net ads keytab list\n" -" List a keytab" -msgstr "" - -#: ../utils/net_ads.c:2312 -msgid "" -"\n" -"Warning: \"kerberos method\" must be set to a keytab method to use keytab functions.\n" -msgstr "" - -#: ../utils/net_ads.c:2324 -msgid "" -"Usage:\n" -"net ads kerberos renew\n" -" Renew TGT from existing credential cache\n" -msgstr "" - -#: ../utils/net_ads.c:2332 -#, c-format -msgid "failed to renew kerberos ticket: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2347 -msgid "" -"Usage:\n" -"net ads kerberos pac\n" -" Dump the Kerberos PAC\n" -msgstr "" - -#: ../utils/net_ads.c:2372 -#, c-format -msgid "failed to query kerberos PAC: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2381 -#, c-format -msgid "The Pac: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2397 -msgid "" -"Usage:\n" -"net ads kerberos kinit\n" -" Get Ticket Granting Ticket (TGT) for the user\n" -msgstr "" - -#: ../utils/net_ads.c:2421 -#, c-format -msgid "failed to kinit password: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2435 -msgid "Retrieve Ticket Granting Ticket (TGT)" -msgstr "" - -#: ../utils/net_ads.c:2436 -msgid "" -"net ads kerberos kinit\n" -" Receive Ticket Granting Ticket (TGT)" -msgstr "" - -#: ../utils/net_ads.c:2443 -msgid "Renew Ticket Granting Ticket from credential cache" -msgstr "" - -#: ../utils/net_ads.c:2444 -msgid "" -"net ads kerberos renew\n" -" Renew Ticket Granting Ticket (TGT) from credential cache" -msgstr "" - -#: ../utils/net_ads.c:2452 -msgid "Dump Kerberos PAC" -msgstr "" - -#: ../utils/net_ads.c:2453 -msgid "" -"net ads kerberos pac\n" -" Dump Kerberos PAC" -msgstr "" - -#: ../utils/net_ads.c:2469 -msgid "Display details on remote ADS server" -msgstr "" - -#: ../utils/net_ads.c:2470 -msgid "" -"net ads info\n" -" Display details on remote ADS server" -msgstr "" - -#: ../utils/net_ads.c:2477 -msgid "Join the local machine to ADS realm" -msgstr "" - -#: ../utils/net_ads.c:2478 -msgid "" -"net ads join\n" -" Join the local machine to ADS realm" -msgstr "" - -#: ../utils/net_ads.c:2485 -msgid "Validate machine account" -msgstr "" - -#: ../utils/net_ads.c:2486 -msgid "" -"net ads testjoin\n" -" Validate machine account" -msgstr "" - -#: ../utils/net_ads.c:2493 -msgid "Remove the local machine from ADS" -msgstr "" - -#: ../utils/net_ads.c:2494 -msgid "" -"net ads leave\n" -" Remove the local machine from ADS" -msgstr "" - -#: ../utils/net_ads.c:2501 -msgid "Display machine account details" -msgstr "" - -#: ../utils/net_ads.c:2502 -msgid "" -"net ads status\n" -" Display machine account details" -msgstr "" - -#: ../utils/net_ads.c:2509 -msgid "List/modify users" -msgstr "" - -#: ../utils/net_ads.c:2510 -msgid "" -"net ads user\n" -" List/modify users" -msgstr "" - -#: ../utils/net_ads.c:2517 -msgid "List/modify groups" -msgstr "" - -#: ../utils/net_ads.c:2518 -msgid "" -"net ads group\n" -" List/modify groups" -msgstr "" - -#: ../utils/net_ads.c:2525 -msgid "Issue dynamic DNS update" -msgstr "" - -#: ../utils/net_ads.c:2526 -msgid "" -"net ads dns\n" -" Issue dynamic DNS update" -msgstr "" - -#: ../utils/net_ads.c:2533 -msgid "Change user passwords" -msgstr "" - -#: ../utils/net_ads.c:2534 -msgid "" -"net ads password\n" -" Change user passwords" -msgstr "" - -#: ../utils/net_ads.c:2541 -msgid "Change trust account password" -msgstr "" - -#: ../utils/net_ads.c:2542 -msgid "" -"net ads changetrustpw\n" -" Change trust account password" -msgstr "" - -#: ../utils/net_ads.c:2549 -msgid "List/modify printer entries" -msgstr "" - -#: ../utils/net_ads.c:2550 -msgid "" -"net ads printer\n" -" List/modify printer entries" -msgstr "" - -#: ../utils/net_ads.c:2557 -msgid "Issue LDAP search using filter" -msgstr "" - -#: ../utils/net_ads.c:2558 -msgid "" -"net ads search\n" -" Issue LDAP search using filter" -msgstr "" - -#: ../utils/net_ads.c:2565 -msgid "Issue LDAP search by DN" -msgstr "" - -#: ../utils/net_ads.c:2566 -msgid "" -"net ads dn\n" -" Issue LDAP search by DN" -msgstr "" - -#: ../utils/net_ads.c:2573 -msgid "Issue LDAP search by SID" -msgstr "" - -#: ../utils/net_ads.c:2574 -msgid "" -"net ads sid\n" -" Issue LDAP search by SID" -msgstr "" - -#: ../utils/net_ads.c:2581 -msgid "Display workgroup name" -msgstr "" - -#: ../utils/net_ads.c:2582 -msgid "" -"net ads workgroup\n" -" Display the workgroup name" -msgstr "" - -#: ../utils/net_ads.c:2589 -msgid "Perfom CLDAP query on DC" -msgstr "" - -#: ../utils/net_ads.c:2590 -msgid "" -"net ads lookup\n" -" Find the ADS DC using CLDAP lookups" -msgstr "" - -#: ../utils/net_ads.c:2597 -msgid "Manage local keytab file" -msgstr "" - -#: ../utils/net_ads.c:2598 -msgid "" -"net ads keytab\n" -" Manage local keytab file" -msgstr "" - -#: ../utils/net_ads.c:2605 -msgid "Manage group policy objects" -msgstr "" - -#: ../utils/net_ads.c:2606 -msgid "" -"net ads gpo\n" -" Manage group policy objects" -msgstr "" - -#: ../utils/net_ads.c:2613 -msgid "Manage kerberos keytab" -msgstr "" - -#: ../utils/net_ads.c:2614 -msgid "" -"net ads kerberos\n" -" Manage kerberos keytab" -msgstr "" - -#: ../utils/net_ads.c:2627 -msgid "ADS support not compiled in\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:40 -msgid "" -"Usage:\n" -"net ads gpo refresh <username|machinename>\n" -" Lists all GPOs assigned to an account and downloads them\n" -" username\tUser to refresh GPOs for\n" -" machinename\tMachine to refresh GPOs for\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:56 -#, c-format -msgid "failed to connect AD server: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:62 -#, c-format -msgid "failed to find samaccount for %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:70 -#, c-format -msgid "" -"\n" -"%s: '%s' has dn: '%s'\n" -"\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:71 ../utils/net_ads_gpo.c:328 -msgid "machine" -msgstr "" - -#: ../utils/net_ads_gpo.c:71 ../utils/net_ads_gpo.c:328 -msgid "user" -msgstr "" - -#: ../utils/net_ads_gpo.c:74 -msgid "* fetching token " -msgstr "" - -#: ../utils/net_ads_gpo.c:82 ../utils/net_ads_gpo.c:90 ../utils/net_ads_gpo.c:102 ../utils/net_ads_gpo.c:113 ../utils/net_ads_gpo.c:158 -#, c-format -msgid "failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:85 ../utils/net_ads_gpo.c:94 ../utils/net_ads_gpo.c:105 ../utils/net_ads_gpo.c:118 ../utils/net_ads_gpo.c:163 -msgid "finished\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:87 -msgid "* fetching GPO List " -msgstr "" - -#: ../utils/net_ads_gpo.c:96 -msgid "* Refreshing Group Policy Data " -msgstr "" - -#: ../utils/net_ads_gpo.c:107 -msgid "* storing GPO list to registry " -msgstr "" - -#: ../utils/net_ads_gpo.c:122 -msgid "* dumping GPO list\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:151 -msgid "* re-reading GPO list from registry " -msgstr "" - -#: ../utils/net_ads_gpo.c:167 -msgid "* dumping GPO list from registry\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:226 -msgid "" -"Usage:\n" -"net ads gpo listall\n" -" List all GPOs on the DC\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:270 -#, c-format -msgid "ads_parse_gpo failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:300 -msgid "" -"Usage:\n" -"net ads gpo list <username|machinename>\n" -" Lists all GPOs for machine/user\n" -" username\tUser to list GPOs for\n" -" machinename\tMachine to list GPOs for\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:327 -#, c-format -msgid "%s: '%s' has dn: '%s'\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:451 -msgid "" -"Usage:\n" -"net ads gpo linkget <container>\n" -" Lists gPLink of a containter\n" -" container\tContainer to get link for\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:470 -#, c-format -msgid "get link for %s failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:492 -msgid "" -"Usage:\n" -"net ads gpo linkadd <linkdn> <gpodn> [options]\n" -" Link a container to a GPO\n" -" linkdn\tContainer to link to a GPO\n" -" gpodn\tGPO to link container to\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:497 -msgid "" -"note: DNs must be provided properly escaped.\n" -"See RFC 4514 for details\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:518 -#, c-format -msgid "link add failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:579 -msgid "" -"Usage:\n" -"net ads gpo getgpo <gpo>\n" -" List speciefied GPO\n" -" gpo\t\tGPO to list\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:603 -#, c-format -msgid "get gpo for [%s] failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:634 -msgid "List specified GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:635 -msgid "" -"net ads gpo getgpo\n" -" List specified GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:642 -msgid "Link a container to a GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:643 -msgid "" -"net ads gpo linkadd\n" -" Link a container to a GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:660 -msgid "Lists gPLink of containter" -msgstr "" - -#: ../utils/net_ads_gpo.c:661 -msgid "" -"net ads gpo linkget\n" -" Lists gPLink of containter" -msgstr "" - -#: ../utils/net_ads_gpo.c:668 -msgid "Lists all GPOs for machine/user" -msgstr "" - -#: ../utils/net_ads_gpo.c:669 -msgid "" -"net ads gpo list\n" -" Lists all GPOs for machine/user" -msgstr "" - -#: ../utils/net_ads_gpo.c:676 -msgid "Lists all GPOs on a DC" -msgstr "" - -#: ../utils/net_ads_gpo.c:677 -msgid "" -"net ads gpo listall\n" -" Lists all GPOs on a DC" -msgstr "" - -#: ../utils/net_ads_gpo.c:684 -msgid "Lists all GPOs assigned to an account and downloads them" -msgstr "" - -#: ../utils/net_ads_gpo.c:686 -msgid "" -"net ads gpo refresh\n" -" Lists all GPOs assigned to an account and downloads them" -msgstr "" - -#: ../utils/net_afs.c:25 -msgid "" -" net afs key filename\n" -"\tImports a OpenAFS KeyFile into our secrets.tdb\n" -"\n" -msgstr "" - -#: ../utils/net_afs.c:27 -msgid "" -" net afs impersonate <user> <cell>\n" -"\tCreates a token for user@cell\n" -"\n" -msgstr "" - -#: ../utils/net_afs.c:38 -msgid "usage: 'net afs key <keyfile> cell'\n" -msgstr "" - -#: ../utils/net_afs.c:43 -msgid "Could not open secrets.tdb\n" -msgstr "" - -#: ../utils/net_afs.c:48 -#, c-format -msgid "Could not open %s\n" -msgstr "" - -#: ../utils/net_afs.c:53 -msgid "Could not read keyfile\n" -msgstr "" - -#: ../utils/net_afs.c:58 -msgid "Could not write keyfile to secrets.tdb\n" -msgstr "" - -#: ../utils/net_afs.c:71 -#, c-format -msgid "Usage: net afs impersonate <user> <cell>\n" -msgstr "" - -#: ../utils/net_afs.c:78 -#, c-format -msgid "Could not create token\n" -msgstr "" - -#: ../utils/net_afs.c:83 -#, c-format -msgid "Could not set token into kernel\n" -msgstr "" - -#: ../utils/net_afs.c:87 -#, c-format -msgid "Success: %s@%s\n" -msgstr "" - -#: ../utils/net_afs.c:98 -msgid "Import an OpenAFS keyfile" -msgstr "" - -#: ../utils/net_afs.c:99 -msgid "" -"net afs key <filename>\n" -" Import kefile from <filename>." -msgstr "" - -#: ../utils/net_afs.c:106 -msgid "Get a user token" -msgstr "" - -#: ../utils/net_afs.c:107 -msgid "" -"net afs impersonate <user> <cell>\n" -" Create token for user@cell" -msgstr "" - -#: ../utils/net_cache.c:74 -#, c-format -msgid "Key: %s\t Timeout: %s\t Value: %s %s\n" -msgstr "" - -#: ../utils/net_cache.c:75 -msgid "(expired)" -msgstr "" - -#: ../utils/net_cache.c:84 -#, c-format -msgid "Couldn't delete entry! key = %s\n" -msgstr "" - -#: ../utils/net_cache.c:158 -msgid "" -"\n" -"Usage:\n" -"net cache add <key string> <data string> <timeout>\n" -msgstr "" - -#: ../utils/net_cache.c:170 -msgid "Invalid timeout argument.\n" -msgstr "" - -#: ../utils/net_cache.c:175 -msgid "New cache entry stored successfully.\n" -msgstr "" - -#: ../utils/net_cache.c:179 -msgid "Entry couldn't be added. Perhaps there's already such a key.\n" -msgstr "" - -#: ../utils/net_cache.c:195 -msgid "" -"\n" -"Usage: net cache del <key string>\n" -msgstr "" - -#: ../utils/net_cache.c:200 -msgid "Entry deleted.\n" -msgstr "" - -#: ../utils/net_cache.c:204 -msgid "Couldn't delete specified entry\n" -msgstr "" - -#: ../utils/net_cache.c:223 -msgid "" -"\n" -"Usage: net cache get <key>\n" -msgstr "" - -#: ../utils/net_cache.c:233 -msgid "Failed to find entry\n" -msgstr "" - -#: ../utils/net_cache.c:250 -msgid "Usage: net cache search <pattern>\n" -msgstr "" - -#: ../utils/net_cache.c:272 -msgid "" -"Usage:\n" -"net cache list\n" -" List all cache entries.\n" -msgstr "" - -#: ../utils/net_cache.c:293 ../utils/net_cache.c:306 -msgid "" -"Usage:\n" -"net cache flush\n" -" Delete all cache entries.\n" -msgstr "" - -#: ../utils/net_cache.c:331 -msgid "Add new cache entry" -msgstr "" - -#: ../utils/net_cache.c:332 -msgid "" -"net cache add <key string> <data string> <timeout>\n" -" Add new cache entry.\n" -" key string\tKey string to add cache data under.\n" -" data string\tData to store under given key.\n" -" timeout\tTimeout for cache data." -msgstr "" - -#: ../utils/net_cache.c:342 -msgid "Delete existing cache entry by key" -msgstr "" - -#: ../utils/net_cache.c:343 -msgid "" -"net cache del <key string>\n" -" Delete existing cache entry by key.\n" -" key string\tKey string to delete." -msgstr "" - -#: ../utils/net_cache.c:351 -msgid "Get cache entry by key" -msgstr "" - -#: ../utils/net_cache.c:352 -msgid "" -"net cache get <key string>\n" -" Get cache entry by key.\n" -" key string\tKey string to look up cache entry for." -msgstr "" - -#: ../utils/net_cache.c:361 -msgid "Search entry by pattern" -msgstr "" - -#: ../utils/net_cache.c:362 -msgid "" -"net cache search <pattern>\n" -" Search entry by pattern.\n" -" pattern\tPattern to search for in cache." -msgstr "" - -#: ../utils/net_cache.c:370 -msgid "List all cache entries" -msgstr "" - -#: ../utils/net_cache.c:371 -msgid "" -"net cache list\n" -" List all cache entries" -msgstr "" - -#: ../utils/net_cache.c:378 -msgid "Delete all cache entries" -msgstr "" - -#: ../utils/net_cache.c:379 -msgid "" -"net cache flush\n" -" Delete all cache entries" -msgstr "" - -#: ../utils/net_cache.c:386 -msgid "Move transient cache content to stable storage" -msgstr "" - -#: ../utils/net_cache.c:387 -msgid "" -"net cache stabilize\n" -" Move transient cache content to stable storage" -msgstr "" - -#: ../utils/net_conf.c:42 -msgid "USAGE: net conf list\n" -msgstr "" - -#: ../utils/net_conf.c:49 -msgid "" -"USAGE: net conf import [--test|-T] <filename> [<servicename>]\n" -"\t[--test|-T] testmode - do not act, just print what would be done\n" -"\t<servicename> only import service <servicename>, ignore the rest\n" -msgstr "" - -#: ../utils/net_conf.c:61 -msgid "USAGE: net conf listshares\n" -msgstr "" - -#: ../utils/net_conf.c:68 -msgid "USAGE: net conf drop\n" -msgstr "" - -#: ../utils/net_conf.c:75 -msgid "USAGE: net conf showshare <sharename>\n" -msgstr "" - -#: ../utils/net_conf.c:82 -msgid "" -"USAGE: net conf addshare <sharename> <path> [writeable={y|N} [guest_ok={y|N} [<comment>]]\n" -"\t<sharename> the new share name.\n" -"\t<path> the path on the filesystem to export.\n" -"\twriteable={y|N} set \"writeable to \"yes\" or \"no\" (default) on this share.\n" -"\tguest_ok={y|N} set \"guest ok\" to \"yes\" or \"no\" (default) on this share.\n" -"\t<comment> optional comment for the new share.\n" -msgstr "" - -#: ../utils/net_conf.c:97 -msgid "USAGE: net conf delshare <sharename>\n" -msgstr "" - -#: ../utils/net_conf.c:104 -msgid "USAGE: net conf setparm <section> <param> <value>\n" -msgstr "" - -#: ../utils/net_conf.c:111 -msgid "USAGE: net conf getparm <section> <param>\n" -msgstr "" - -#: ../utils/net_conf.c:118 -msgid "USAGE: net conf delparm <section> <param>\n" -msgstr "" - -#: ../utils/net_conf.c:125 -msgid "USAGE: net conf getincludes <section>\n" -msgstr "" - -#: ../utils/net_conf.c:132 -msgid "USAGE: net conf setincludes <section> [<filename>]*\n" -msgstr "" - -#: ../utils/net_conf.c:139 -msgid "USAGE: net conf delincludes <section>\n" -msgstr "" - -#: ../utils/net_conf.c:251 -#, c-format -msgid "Error getting config: %s\n" -msgstr "" - -#: ../utils/net_conf.c:305 ../utils/net_conf.c:318 ../utils/net_conf.c:614 ../utils/net_conf.c:742 ../utils/net_conf.c:780 ../utils/net_conf.c:786 ../utils/net_conf.c:860 ../utils/net_conf.c:866 ../utils/net_conf.c:916 ../utils/net_conf.c:970 -#: ../utils/net_conf.c:1010 ../utils/net_conf.c:1050 -msgid "error: out of memory!\n" -msgstr "" - -#: ../utils/net_conf.c:324 -#, c-format -msgid "error loading file '%s': %s\n" -msgstr "" - -#: ../utils/net_conf.c:330 -msgid "" -"\n" -"TEST MODE - would import the following configuration:\n" -"\n" -msgstr "" - -#: ../utils/net_conf.c:346 ../utils/net_conf.c:382 ../utils/net_conf.c:407 ../utils/net_conf.c:793 -#, c-format -msgid "error starting transaction: %s\n" -msgstr "" - -#: ../utils/net_conf.c:400 ../utils/net_conf.c:416 ../utils/net_conf.c:817 -#, c-format -msgid "error committing transaction: %s\n" -msgstr "" - -#: ../utils/net_conf.c:427 ../utils/net_conf.c:828 -#, c-format -msgid "error cancelling transaction: %s\n" -msgstr "" - -#: ../utils/net_conf.c:484 -#, c-format -msgid "Error deleting configuration: %s\n" -msgstr "" - -#: ../utils/net_conf.c:521 -#, c-format -msgid "error getting share parameters: %s\n" -msgstr "" - -#: ../utils/net_conf.c:630 -#, c-format -msgid "ERROR: share name %s contains invalid characters (any of %s)\n" -msgstr "" - -#: ../utils/net_conf.c:638 -msgid "ERROR: 'global' is not a valid share name.\n" -msgstr "" - -#: ../utils/net_conf.c:643 -#, c-format -msgid "ERROR: share %s already exists.\n" -msgstr "" - -#: ../utils/net_conf.c:652 -#, c-format -msgid "Error: path '%s' is not an absolute path.\n" -msgstr "" - -#: ../utils/net_conf.c:659 -#, c-format -msgid "" -"ERROR: cannot stat path '%s' to ensure this is a directory.\n" -"Error was '%s'.\n" -msgstr "" - -#: ../utils/net_conf.c:668 -#, c-format -msgid "ERROR: path '%s' is not a directory.\n" -msgstr "" - -#: ../utils/net_conf.c:679 -#, c-format -msgid "Error creating share %s: %s\n" -msgstr "" - -#: ../utils/net_conf.c:690 ../utils/net_conf.c:699 ../utils/net_conf.c:707 ../utils/net_conf.c:715 -#, c-format -msgid "Error setting parameter %s: %s\n" -msgstr "" - -#: ../utils/net_conf.c:748 -#, c-format -msgid "Error deleting share %s: %s\n" -msgstr "" - -#: ../utils/net_conf.c:801 -#, c-format -msgid "Error creating share '%s': %s\n" -msgstr "" - -#: ../utils/net_conf.c:810 -#, c-format -msgid "Error setting value '%s': %s\n" -msgstr "" - -#: ../utils/net_conf.c:874 ../utils/net_conf.c:930 -#, c-format -msgid "Error: given service '%s' does not exist.\n" -msgstr "" - -#: ../utils/net_conf.c:879 ../utils/net_conf.c:935 -#, c-format -msgid "Error: given parameter '%s' is not set.\n" -msgstr "" - -#: ../utils/net_conf.c:883 -#, c-format -msgid "Error getting value '%s': %s.\n" -msgstr "" - -#: ../utils/net_conf.c:939 -#, c-format -msgid "Error deleting value '%s': %s.\n" -msgstr "" - -#: ../utils/net_conf.c:977 -#, c-format -msgid "error getting includes: %s\n" -msgstr "" - -#: ../utils/net_conf.c:1023 -#, c-format -msgid "error setting includes: %s\n" -msgstr "" - -#: ../utils/net_conf.c:1056 -#, c-format -msgid "error deleting includes: %s\n" -msgstr "" - -#: ../utils/net_conf.c:1136 ../utils/net_help.c:36 -msgid "Usage:\n" -msgstr "" - -#: ../utils/net_conf.c:1160 -msgid "Dump the complete configuration in smb.conf like format." -msgstr "" - -#: ../utils/net_conf.c:1162 -msgid "" -"net conf list\n" -" Dump the complete configuration in smb.conf like format." -msgstr "" - -#: ../utils/net_conf.c:1171 -msgid "Import configuration from file in smb.conf format." -msgstr "" - -#: ../utils/net_conf.c:1173 -msgid "" -"net conf import\n" -" Import configuration from file in smb.conf format." -msgstr "" - -#: ../utils/net_conf.c:1181 -msgid "List the share names." -msgstr "" - -#: ../utils/net_conf.c:1182 -msgid "" -"net conf listshares\n" -" List the share names." -msgstr "" - -#: ../utils/net_conf.c:1189 -msgid "Delete the complete configuration." -msgstr "" - -#: ../utils/net_conf.c:1190 -msgid "" -"net conf drop\n" -" Delete the complete configuration." -msgstr "" - -#: ../utils/net_conf.c:1197 -msgid "Show the definition of a share." -msgstr "" - -#: ../utils/net_conf.c:1198 -msgid "" -"net conf showshare\n" -" Show the definition of a share." -msgstr "" - -#: ../utils/net_conf.c:1205 -msgid "Create a new share." -msgstr "" - -#: ../utils/net_conf.c:1206 -msgid "" -"net conf addshare\n" -" Create a new share." -msgstr "" - -#: ../utils/net_conf.c:1213 -msgid "Delete a share." -msgstr "" - -#: ../utils/net_conf.c:1214 -msgid "" -"net conf delshare\n" -" Delete a share." -msgstr "" - -#: ../utils/net_conf.c:1221 -msgid "Store a parameter." -msgstr "" - -#: ../utils/net_conf.c:1222 -msgid "" -"net conf setparm\n" -" Store a parameter." -msgstr "" - -#: ../utils/net_conf.c:1229 -msgid "Retrieve the value of a parameter." -msgstr "" - -#: ../utils/net_conf.c:1230 -msgid "" -"net conf getparm\n" -" Retrieve the value of a parameter." -msgstr "" - -#: ../utils/net_conf.c:1237 -msgid "Delete a parameter." -msgstr "" - -#: ../utils/net_conf.c:1238 -msgid "" -"net conf delparm\n" -" Delete a parameter." -msgstr "" - -#: ../utils/net_conf.c:1245 -msgid "Show the includes of a share definition." -msgstr "" - -#: ../utils/net_conf.c:1246 -msgid "" -"net conf getincludes\n" -" Show the includes of a share definition." -msgstr "" - -#: ../utils/net_conf.c:1253 -msgid "Set includes for a share." -msgstr "" - -#: ../utils/net_conf.c:1254 -msgid "" -"net conf setincludes\n" -" Set includes for a share." -msgstr "" - -#: ../utils/net_conf.c:1261 -msgid "Delete includes from a share definition." -msgstr "" - -#: ../utils/net_conf.c:1262 -msgid "" -"net conf setincludes\n" -" Delete includes from a share definition." -msgstr "" - -#: ../utils/net_dom.c:25 -msgid "" -"usage: net dom join <domain=DOMAIN> <ou=OU> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Join a remote machine\n" -msgstr "" - -#: ../utils/net_dom.c:28 -msgid "" -"usage: net dom unjoin <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Unjoin a remote machine\n" -msgstr "" - -#: ../utils/net_dom.c:31 -msgid "" -"usage: net dom renamecomputer <newname=NEWNAME> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Rename joined computer\n" -msgstr "" - -#: ../utils/net_dom.c:91 -#, c-format -msgid "Failed to unjoin domain: %s\n" -msgstr "" - -#: ../utils/net_dom.c:97 ../utils/net_dom.c:204 -msgid "Shutting down due to a domain membership change" -msgstr "" - -#: ../utils/net_dom.c:290 -#, c-format -msgid "Failed to rename machine: " -msgstr "" - -#: ../utils/net_dom.c:292 -#, c-format -msgid "Computer is not joined to a Domain\n" -msgstr "" - -#: ../utils/net_dom.c:301 -msgid "Shutting down due to a computer rename" -msgstr "" - -#: ../utils/net_dom.c:338 -msgid "Join a remote machine" -msgstr "" - -#: ../utils/net_dom.c:339 -msgid "" -"net dom join <domain=DOMAIN> <ou=OU> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Join a remote machine" -msgstr "" - -#: ../utils/net_dom.c:347 -msgid "Unjoin a remote machine" -msgstr "" - -#: ../utils/net_dom.c:348 -msgid "" -"net dom unjoin <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Unjoin a remote machine" -msgstr "" - -#: ../utils/net_dom.c:356 -msgid "Rename a computer that is joined to a domain" -msgstr "" - -#: ../utils/net_dom.c:357 -msgid "" -"net dom renamecomputer <newname=NEWNAME> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Rename joined computer" -msgstr "" - -#: ../utils/net_eventlog.c:46 -msgid "usage: net eventlog dump <file.evt>\n" -msgstr "" - -#: ../utils/net_eventlog.c:52 ../utils/net_eventlog.c:108 -#, c-format -msgid "failed to load evt file: %s\n" -msgstr "" - -#: ../utils/net_eventlog.c:59 ../utils/net_eventlog.c:129 -#, c-format -msgid "evt pull failed: %s\n" -msgstr "" - -#: ../utils/net_eventlog.c:102 -msgid "usage: net eventlog import <file> <eventlog>\n" -msgstr "" - -#: ../utils/net_eventlog.c:116 -#, c-format -msgid "evt header pull failed: %s\n" -msgstr "" - -#: ../utils/net_eventlog.c:122 -msgid "input file is wrapped, cannot proceed\n" -msgstr "" - -#: ../utils/net_eventlog.c:138 ../utils/net_eventlog.c:203 -#, c-format -msgid "can't open the eventlog TDB (%s)\n" -msgstr "" - -#: ../utils/net_eventlog.c:158 -#, c-format -msgid "can't write to the eventlog: %s\n" -msgstr "" - -#: ../utils/net_eventlog.c:164 -#, c-format -msgid "wrote %d entries to tdb\n" -msgstr "" - -#: ../utils/net_eventlog.c:197 -msgid "usage: net eventlog export <file> <eventlog>\n" -msgstr "" - -#: ../utils/net_eventlog.c:214 -#, c-format -msgid "failed to save evt file: %s\n" -msgstr "" - -#: ../utils/net_eventlog.c:243 -msgid "Dump eventlog" -msgstr "" - -#: ../utils/net_eventlog.c:244 -msgid "" -"net eventlog dump\n" -" Dump win32 *.evt eventlog file" -msgstr "" - -#: ../utils/net_eventlog.c:251 -msgid "Import eventlog" -msgstr "" - -#: ../utils/net_eventlog.c:252 -msgid "" -"net eventlog import\n" -" Import win32 *.evt eventlog file" -msgstr "" - -#: ../utils/net_eventlog.c:259 -msgid "Export eventlog" -msgstr "" - -#: ../utils/net_eventlog.c:260 -msgid "" -"net eventlog export\n" -" Export win32 *.evt eventlog file" -msgstr "" - -#: ../utils/net_file.c:27 -msgid "" -"net [<method>] file [misc. options] [targets]\n" -"\tlists all open files on file server\n" -msgstr "" - -#: ../utils/net_file.c:29 -msgid "" -"net [<method>] file USER <username> [misc. options] [targets]\n" -"\tlists all files opened by username on file server\n" -msgstr "" - -#: ../utils/net_file.c:32 -msgid "" -"net [<method>] file CLOSE <id> [misc. options] [targets]\n" -"\tcloses specified file on target server\n" -msgstr "" - -#: ../utils/net_file.c:34 -msgid "" -"net [rap] file INFO <id> [misc. options] [targets]\n" -"\tdisplays information about the specified open file\n" -msgstr "" - -#: ../utils/net_group.c:27 -msgid "" -"net [<method>] group [misc. options] [targets]\n" -"\tList user groups\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:29 -msgid "" -"net rpc group LIST [global|local|builtin]* [misc. options]\n" -"\tList specific user groups\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:31 -msgid "" -"net [<method>] group DELETE <name> [misc. options] [targets]\n" -"\tDelete specified group\n" -msgstr "" - -#: ../utils/net_group.c:34 -msgid "" -"\n" -"net [<method>] group ADD <name> [-C comment] [-c container] [misc. options] [targets]\n" -"\tCreate specified group\n" -msgstr "" - -#: ../utils/net_group.c:37 -msgid "" -"\n" -"net rpc group MEMBERS <name>\n" -"\tList Group Members\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:38 -msgid "" -"\n" -"net rpc group ADDMEM <group> <member>\n" -"\tAdd Group Members\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:40 -msgid "" -"\n" -"net rpc group DELMEM <group> <member>\n" -"\tDelete Group Members\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:44 -msgid "\t-C or --comment=<comment>\tdescriptive comment (for add only)\n" -msgstr "" - -#: ../utils/net_group.c:46 -msgid "\t-c or --container=<container>\tLDAP container, defaults to cn=Users (for add in ADS only)\n" -msgstr "" - -#: ../utils/net_group.c:48 -msgid "\t-L or --localgroup\t\tWhen adding groups, create a local group (alias)\n" -msgstr "" - -#: ../utils/net_groupmap.c:38 -#, c-format -msgid "NT Group %s doesn't exist in mapping DB\n" -msgstr "" - -#: ../utils/net_groupmap.c:46 -#, c-format -msgid "converting sid %s from a string failed!\n" -msgstr "" - -#: ../utils/net_groupmap.c:65 -#, c-format -msgid "\tSID : %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:66 -#, c-format -msgid "\tUnix gid : %u\n" -msgstr "" - -#: ../utils/net_groupmap.c:67 -#, c-format -msgid "\tUnix group: %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:68 -#, c-format -msgid "\tGroup type: %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:70 -#, c-format -msgid "\tComment : %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:84 -msgid "" -"net groupmap list [verbose] [ntgroup=NT group] [sid=SID]\n" -" verbose\tPrint verbose list\n" -" ntgroup\tNT group to list\n" -" sid\tSID of group to list" -msgstr "" - -#: ../utils/net_groupmap.c:91 ../utils/net_groupmap.c:271 ../utils/net_groupmap.c:356 ../utils/net_groupmap.c:412 ../utils/net_groupmap.c:495 ../utils/net_groupmap.c:522 -#, c-format -msgid "" -"Usage:\n" -"%s\n" -msgstr "" - -#: ../utils/net_groupmap.c:106 ../utils/net_groupmap.c:213 ../utils/net_groupmap.c:220 ../utils/net_groupmap.c:365 ../utils/net_groupmap.c:372 ../utils/net_groupmap.c:504 -msgid "must supply a name\n" -msgstr "" - -#: ../utils/net_groupmap.c:113 ../utils/net_groupmap.c:227 ../utils/net_groupmap.c:511 -msgid "must supply a SID\n" -msgstr "" - -#: ../utils/net_groupmap.c:118 ../utils/net_groupmap.c:265 ../utils/net_groupmap.c:406 ../utils/net_groupmap.c:516 -#, c-format -msgid "Bad option: %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:139 -msgid "Failure to local group SID in the database\n" -msgstr "" - -#: ../utils/net_groupmap.c:181 -msgid "net groupmap add {rid=<int>|sid=<string>} unixgroup=<string> [type=<domain|local|builtin>] [ntgroup=<string>] [comment=<string>]" -msgstr "" - -#: ../utils/net_groupmap.c:195 -#, c-format -msgid "" -"Usage\n" -"%s\n" -msgstr "" - -#: ../utils/net_groupmap.c:205 -#, c-format -msgid "RID must be greater than %d\n" -msgstr "" - -#: ../utils/net_groupmap.c:235 ../utils/net_groupmap.c:380 -msgid "must supply a comment string\n" -msgstr "" - -#: ../utils/net_groupmap.c:259 -#, c-format -msgid "unknown group type %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:276 -#, c-format -msgid "Can't lookup UNIX group %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:282 -#, c-format -msgid "Unix group %s already mapped to SID %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:289 -msgid "No rid or sid specified, choosing a RID\n" -msgstr "" - -#: ../utils/net_groupmap.c:292 -msgid "Could not get new RID\n" -msgstr "" - -#: ../utils/net_groupmap.c:297 -#, c-format -msgid "Got RID %d\n" -msgstr "" - -#: ../utils/net_groupmap.c:328 -#, c-format -msgid "adding entry for group %s failed!\n" -msgstr "" - -#: ../utils/net_groupmap.c:332 -#, c-format -msgid "Successfully added group %s to the mapping db as a %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:349 -msgid "net groupmap modify {ntgroup=<string>|sid=<SID>} [comment=<string>] [unixgroup=<string>] [type=<domain|local>]" -msgstr "" - -#: ../utils/net_groupmap.c:388 -msgid "must supply a group name\n" -msgstr "" - -#: ../utils/net_groupmap.c:434 -msgid "Failed to find local group SID in the database\n" -msgstr "" - -#: ../utils/net_groupmap.c:443 -msgid "Can't map to an unknown group type.\n" -msgstr "" - -#: ../utils/net_groupmap.c:449 -msgid "You can only change between domain and local groups.\n" -msgstr "" - -#: ../utils/net_groupmap.c:466 -#, c-format -msgid "Unable to lookup UNIX group %s. Make sure the group exists.\n" -msgstr "" - -#: ../utils/net_groupmap.c:476 -msgid "Could not update group database\n" -msgstr "" - -#: ../utils/net_groupmap.c:480 -#, c-format -msgid "Updated mapping entry for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:491 -msgid "net groupmap delete {ntgroup=<string>|sid=<SID>}" -msgstr "" - -#: ../utils/net_groupmap.c:532 -#, c-format -msgid "Unable to resolve group %s to a SID\n" -msgstr "" - -#: ../utils/net_groupmap.c:539 -#, c-format -msgid "Failed to remove group %s from the mapping db!\n" -msgstr "" - -#: ../utils/net_groupmap.c:544 -#, c-format -msgid "Sucessfully removed %s from the mapping db\n" -msgstr "" - -#: ../utils/net_groupmap.c:557 -msgid "Usage: net groupmap set \"NT Group\" [\"unix group\"] [-C \"comment\"] [-L] [-D]\n" -msgstr "" - -#: ../utils/net_groupmap.c:563 -msgid "Can only specify -L or -D, not both\n" -msgstr "" - -#: ../utils/net_groupmap.c:573 -#, c-format -msgid "Could not find unix group %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:594 -#, c-format -msgid "Could not find group mapping for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:605 -msgid "Could not allocate new RID\n" -msgstr "" - -#: ../utils/net_groupmap.c:622 -#, c-format -msgid "Could not add mapping entry for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:633 -#, c-format -msgid "Can't change type of the BUILTIN group %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:660 -#, c-format -msgid "Could not update group mapping for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:674 -msgid "" -"Usage:\n" -"net groupmap cleanup\n" -" Delete all group mappings\n" -msgstr "" - -#: ../utils/net_groupmap.c:682 -msgid "Could not list group mappings\n" -msgstr "" - -#: ../utils/net_groupmap.c:689 -#, c-format -msgid "Group %s is not mapped\n" -msgstr "" - -#: ../utils/net_groupmap.c:692 -#, c-format -msgid "Deleting mapping for NT Group %s, sid %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:712 -msgid "Usage: net groupmap addmem alias-sid member-sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:717 -#, c-format -msgid "Could not add sid %s to alias %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:733 -msgid "Usage: net groupmap delmem alias-sid member-sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:738 -#, c-format -msgid "Could not delete sid %s from alias %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:755 -msgid "Usage: net groupmap listmem alias-sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:764 -#, c-format -msgid "Could not list members for sid %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:791 -#, c-format -msgid "Could not list memberships for sid %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:814 -msgid "Usage: net groupmap memberof sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:820 ../utils/net_idmap.c:345 -msgid "talloc_init failed\n" -msgstr "" - -#: ../utils/net_groupmap.c:827 -msgid "Could not get domain sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:850 -msgid "Create a new group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:851 -msgid "" -"net groupmap add\n" -" Create a new group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:858 -msgid "Update a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:859 -msgid "" -"net groupmap modify\n" -" Modify an existing group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:866 -msgid "Remove a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:867 -msgid "" -"net groupmap delete\n" -" Remove a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:874 -msgid "Set group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:875 -msgid "" -"net groupmap set\n" -" Set a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:882 -msgid "Remove foreign group mapping entries" -msgstr "" - -#: ../utils/net_groupmap.c:883 -msgid "" -"net groupmap cleanup\n" -" Remove foreign group mapping entries" -msgstr "" - -#: ../utils/net_groupmap.c:890 -msgid "Add a foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:891 -msgid "" -"net groupmap addmem\n" -" Add a foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:898 -msgid "Delete foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:899 -msgid "" -"net groupmap delmem\n" -" Delete foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:906 -msgid "List foreign group members" -msgstr "" - -#: ../utils/net_groupmap.c:907 -msgid "" -"net groupmap listmem\n" -" List foreign alias members" -msgstr "" - -#: ../utils/net_groupmap.c:914 -msgid "List foreign group memberships" -msgstr "" - -#: ../utils/net_groupmap.c:915 -msgid "" -"net groupmap memberships\n" -" List foreign group memberships" -msgstr "" - -#: ../utils/net_groupmap.c:922 -msgid "List current group map" -msgstr "" - -#: ../utils/net_groupmap.c:923 -msgid "" -"net groupmap list\n" -" List current group map" -msgstr "" - -#: ../utils/net_help.c:39 -#, c-format -msgid "net %s usage:\n" -msgstr "" - -#: ../utils/net_help_common.c:25 ../utils/net_join.c:28 -msgid "Valid methods: (auto-detected if not specified)\n" -msgstr "" - -#: ../utils/net_help_common.c:26 ../utils/net_join.c:29 -msgid "\tads\t\t\t\tActive Directory (LDAP/Kerberos)\n" -msgstr "" - -#: ../utils/net_help_common.c:27 ../utils/net_join.c:30 -msgid "\trpc\t\t\t\tDCE-RPC\n" -msgstr "" - -#: ../utils/net_help_common.c:28 -msgid "\trap\t\t\t\tRAP (older systems)\n" -msgstr "" - -#: ../utils/net_help_common.c:35 -msgid "Valid targets: choose one (none defaults to localhost)\n" -msgstr "" - -#: ../utils/net_help_common.c:36 -msgid "\t-S or --server=<server>\t\tserver name\n" -msgstr "" - -#: ../utils/net_help_common.c:37 -msgid "\t-I or --ipaddress=<ipaddr>\taddress of target server\n" -msgstr "" - -#: ../utils/net_help_common.c:38 -msgid "\t-w or --workgroup=<wg>\t\ttarget workgroup or domain\n" -msgstr "" - -#: ../utils/net_help_common.c:41 -msgid "Valid miscellaneous options are:\n" -msgstr "" - -#. misc options -#: ../utils/net_help_common.c:42 -msgid "\t-p or --port=<port>\t\tconnection port on target\n" -msgstr "" - -#: ../utils/net_help_common.c:43 -msgid "\t-W or --myworkgroup=<wg>\tclient workgroup\n" -msgstr "" - -#: ../utils/net_help_common.c:44 -msgid "\t-d or --debuglevel=<level>\tdebug level (0-10)\n" -msgstr "" - -#: ../utils/net_help_common.c:45 -msgid "\t-n or --myname=<name>\t\tclient name\n" -msgstr "" - -#: ../utils/net_help_common.c:46 -msgid "\t-U or --user=<name>\t\tuser name\n" -msgstr "" - -#: ../utils/net_help_common.c:47 -msgid "\t-s or --configfile=<path>\tpathname of smb.conf file\n" -msgstr "" - -#: ../utils/net_help_common.c:48 -msgid "\t-l or --long\t\t\tDisplay full information\n" -msgstr "" - -#: ../utils/net_help_common.c:49 -msgid "\t-V or --version\t\t\tPrint samba version information\n" -msgstr "" - -#: ../utils/net_help_common.c:50 -msgid "\t-P or --machine-pass\t\tAuthenticate as machine account\n" -msgstr "" - -#: ../utils/net_help_common.c:52 -msgid "\t-e or --encrypt\t\t\tEncrypt SMB transport (UNIX extended servers only)\n" -msgstr "" - -#: ../utils/net_help_common.c:54 -msgid "\t-k or --kerberos\t\tUse kerberos (active directory) authentication\n" -msgstr "" - -#: ../utils/net_idmap.c:25 -msgid "Out of memory!\n" -msgstr "" - -#: ../utils/net_idmap.c:39 -#, c-format -msgid "USER HWM %d\n" -msgstr "" - -#: ../utils/net_idmap.c:44 -#, c-format -msgid "GROUP HWM %d\n" -msgstr "" - -#: ../utils/net_idmap.c:63 -msgid "" -"Usage:\n" -"net idmap dump <inputfile>\n" -" Dump current ID mapping.\n" -" inputfile\tTDB file to read mappings from.\n" -msgstr "" - -#: ../utils/net_idmap.c:73 -#, c-format -msgid "Could not open idmap: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:94 -msgid "" -"Usage:\n" -"net idmap restore [inputfile]\n" -" Restore ID mappings from file\n" -" inputfile\tFile to load ID mappings from. If not given, load data from stdin.\n" -msgstr "" - -#: ../utils/net_idmap.c:104 -msgid "To use net idmap Winbindd must be running.\n" -msgstr "" - -#: ../utils/net_idmap.c:142 -#, c-format -msgid "Could not set USER HWM: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:151 -#, c-format -msgid "Could not set GROUP HWM: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:156 -#, c-format -msgid "ignoring invalid line [%s]\n" -msgstr "" - -#: ../utils/net_idmap.c:163 -#, c-format -msgid "ignoring invalid sid [%s]: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:175 -#, c-format -msgid "Could not set mapping of %s %lu to sid %s: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:196 ../utils/net_idmap.c:202 -msgid "Not Implemented yet\n" -msgstr "" - -#: ../utils/net_idmap.c:240 -msgid "" -"Usage:\n" -"net idmap secret {<DOMAIN>|alloc} <secret>\n" -" Set the secret for the specified domain (or alloc module)\n" -" DOMAIN\tDomain to set secret for.\n" -" alloc\tSet secret for the alloc module\n" -" secret\tNew secret to set.\n" -msgstr "" - -#: ../utils/net_idmap.c:271 -msgid "The only currently supported backend is LDAP\n" -msgstr "" - -#: ../utils/net_idmap.c:281 -#, c-format -msgid "Missing ldap_user_dn option for domain %s\n" -msgstr "" - -#: ../utils/net_idmap.c:292 -msgid "Missing ldap_user_dn option for alloc backend\n" -msgstr "" - -#: ../utils/net_idmap.c:302 -msgid "Failed to store secret\n" -msgstr "" - -#: ../utils/net_idmap.c:307 -msgid "Secret stored\n" -msgstr "" - -#: ../utils/net_idmap.c:313 -msgid "" -"net idmap dump <inputfile>\n" -" Dump current id mapping\n" -msgstr "" - -#: ../utils/net_idmap.c:316 -msgid "" -"net idmap restore\n" -" Restore entries from stdin\n" -msgstr "" - -#. Deliberately *not* document net idmap delete -#: ../utils/net_idmap.c:321 -msgid "" -"net idmap secret <DOMAIN>|alloc <secret>\n" -" Set the secret for the specified DOMAIN (or the alloc module)\n" -msgstr "" - -#: ../utils/net_idmap.c:339 -msgid "usage: net idmap aclmapset <tdb> <src-sid> <dst-sid>\n" -msgstr "" - -#: ../utils/net_idmap.c:351 -#, c-format -msgid "db_open failed: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:356 ../utils/net_idmap.c:361 -#, c-format -msgid "%s is not a valid sid\n" -msgstr "" - -#: ../utils/net_idmap.c:367 -msgid "talloc_strdup failed\n" -msgstr "" - -#: ../utils/net_idmap.c:373 -msgid "could not fetch db record\n" -msgstr "" - -#: ../utils/net_idmap.c:381 -#, c-format -msgid "could not store record: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:402 -msgid "Dump the current ID mappings" -msgstr "" - -#: ../utils/net_idmap.c:403 -msgid "" -"net idmap dump\n" -" Dump the current ID mappings" -msgstr "" - -#: ../utils/net_idmap.c:410 -msgid "Restore entries from stdin" -msgstr "" - -#: ../utils/net_idmap.c:411 -msgid "" -"net idmap restore\n" -" Restore entries from stdin" -msgstr "" - -#: ../utils/net_idmap.c:418 ../utils/net_idmap.c:426 -msgid "Not implemented yet" -msgstr "" - -#: ../utils/net_idmap.c:419 -msgid "" -"net idmap setmap\n" -" Not implemented yet" -msgstr "" - -#: ../utils/net_idmap.c:427 -msgid "" -"net idmap delete\n" -" Not implemented yet" -msgstr "" - -#: ../utils/net_idmap.c:434 -msgid "Set secret for specified domain" -msgstr "" - -#: ../utils/net_idmap.c:435 -msgid "" -"net idmap secret {<DOMAIN>|alloc} <secret>\n" -" Set secret for specified domain or alloc module" -msgstr "" - -#: ../utils/net_idmap.c:442 -msgid "Set acl map" -msgstr "" - -#: ../utils/net_idmap.c:443 -msgid "" -"net idmap aclmapset\n" -" Set acl map" -msgstr "" - -#: ../utils/net_join.c:26 -msgid "" -"\n" -"net [<method>] join [misc. options]\n" -"\tjoins this server to a domain\n" -msgstr "" - -#: ../utils/net_join.c:47 -msgid "ADS join did not work, falling back to RPC...\n" -msgstr "" - -#: ../utils/net_lookup.c:25 -msgid "" -" net lookup [host] HOSTNAME[#<type>]\n" -"\tgives IP for a hostname\n" -"\n" -" net lookup ldap [domain]\n" -"\tgives IP of domain's ldap server\n" -"\n" -" net lookup kdc [realm]\n" -"\tgives IP of realm's kerberos KDC\n" -"\n" -" net lookup pdc [domain|realm]\n" -"\tgives IP of realm's kerberos KDC\n" -"\n" -" net lookup dc [domain]\n" -"\tgives IP of domains Domain Controllers\n" -"\n" -" net lookup master [domain|wg]\n" -"\tgive IP of master browser\n" -"\n" -" net lookup name [name]\n" -"\tLookup name's sid and type\n" -"\n" -" net lookup sid [sid]\n" -"\tGive sid's name and type\n" -"\n" -" net lookup dsgetdcname [name] [flags] [sitename]\n" -"\n" -msgstr "" - -#: ../utils/net_lookup.c:112 -msgid "net_lookup_ldap: talloc_init() failed!\n" -msgstr "" - -#: ../utils/net_lookup.c:325 -msgid "usage: net lookup name <name>\n" -msgstr "" - -#: ../utils/net_lookup.c:331 ../utils/net_lookup.c:358 -#, c-format -msgid "Could not lookup name %s\n" -msgstr "" - -#: ../utils/net_lookup.c:347 -msgid "usage: net lookup sid <sid>\n" -msgstr "" - -#: ../utils/net_lookup.c:352 -#, c-format -msgid "Could not convert %s to SID\n" -msgstr "" - -#: ../utils/net_lookup.c:378 -msgid "usage: net lookup dsgetdcname <name> <flags> <sitename>\n" -msgstr "" - -#: ../utils/net_lookup.c:404 -#, c-format -msgid "failed with: %s\n" -msgstr "" - -#: ../utils/net_lookup.c:437 -msgid "" -"\n" -"Usage: \n" -msgstr "" - -#: ../utils/net_lua.c:60 -msgid "connect: Expected IP-Address" -msgstr "" - -#: ../utils/net_lua.c:65 -msgid "connect: Expected port" -msgstr "" - -#: ../utils/net_lua.c:84 -#, c-format -msgid "connect failed: %s" -msgstr "" - -#: ../utils/net_lua.c:132 -#, c-format -msgid "socket domain %s unknown" -msgstr "" - -#: ../utils/net_lua.c:144 -#, c-format -msgid "socket type %s unknown" -msgstr "" - -#: ../utils/net_lua.c:155 -#, c-format -msgid "socket() failed: %s" -msgstr "" - -#: ../utils/net_lua.c:278 -msgid "evt_reference_thread failed\n" -msgstr "" - -#: ../utils/net_lua.c:287 -msgid "event_add_timed failed" -msgstr "" - -#: ../utils/net_lua.c:300 -msgid "event_once called from non-base thread" -msgstr "" - -#: ../utils/net_lua.c:323 -msgid "event_context_init failed" -msgstr "" - -#: ../utils/net_lua.c:353 -msgid "lua_newstate failed\n" -msgstr "" - -#: ../utils/net_lua.c:371 -msgid "luaL_dofile returned an error\n" -msgstr "" - -#: ../utils/net_lua.c:376 -msgid "luaL_dostring returned an error\n" -msgstr "" diff --git a/source3/po/fr.msg b/source3/po/fr.msg index 817187a12c..aac900223e 100644 --- a/source3/po/fr.msg +++ b/source3/po/fr.msg @@ -17,8 +17,7 @@ msgid "" msgstr "" "Project-Id-Version: i18n_swat \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-07-30 12:18+0200\n" +"POT-Creation-Date: 2003-10-06 05:30+0900\n" "PO-Revision-Date: 2000-02-08 14:45+0100\n" "Last-Translator: François Le Lay <fanch@tuxfamily.org>\n" "Language-Team: (Samba Team) <samba-technical@samba.org>\n" @@ -26,4013 +25,568 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: \n" -#: ../web/swat.c:153 +#: ../web/swat.c:117 #, c-format msgid "ERROR: Can't open %s" msgstr "" -#: ../web/swat.c:241 +#: ../web/swat.c:200 msgid "Help" msgstr "Aide" -#: ../web/swat.c:247 ../web/swat.c:272 ../web/swat.c:293 ../web/swat.c:302 ../web/swat.c:311 ../web/swat.c:317 ../web/swat.c:329 ../web/swat.c:343 +#: ../web/swat.c:206 ../web/swat.c:220 ../web/swat.c:235 ../web/swat.c:243 ../web/swat.c:252 ../web/swat.c:261 ../web/swat.c:267 ../web/swat.c:273 ../web/swat.c:286 msgid "Set Default" msgstr "Définir par défaut" -#: ../web/swat.c:465 +#: ../web/swat.c:408 #, c-format msgid "failed to open %s for writing" msgstr "" -#: ../web/swat.c:488 +#: ../web/swat.c:431 #, c-format msgid "Can't reload %s" msgstr "" -#: ../web/swat.c:561 +#: ../web/swat.c:501 #, c-format msgid "Logged in as <b>%s</b>" msgstr "Connecté en tant que <b>%s</b>" -#: ../web/swat.c:565 +#: ../web/swat.c:505 msgid "Home" msgstr "Home" -#: ../web/swat.c:567 +#: ../web/swat.c:507 msgid "Globals" msgstr "Paramètres Généraux" -#: ../web/swat.c:568 +#: ../web/swat.c:508 msgid "Shares" msgstr "Partages" -#: ../web/swat.c:569 +#: ../web/swat.c:509 msgid "Printers" msgstr "Imprimantes" -#: ../web/swat.c:570 +#: ../web/swat.c:510 msgid "Wizard" msgstr "" -#: ../web/swat.c:574 +#: ../web/swat.c:513 msgid "Status" msgstr "Statut" -#: ../web/swat.c:575 +#: ../web/swat.c:514 msgid "View Config" msgstr "Voir Configuration" -#: ../web/swat.c:577 +#: ../web/swat.c:516 msgid "Password Management" msgstr "Gestion des mots de passe" -#: ../web/swat.c:587 +#: ../web/swat.c:526 msgid "Current View Is" msgstr "Configuration Actuelle" -#: ../web/swat.c:588 ../web/swat.c:591 +#: ../web/swat.c:527 ../web/swat.c:530 msgid "Basic" msgstr "Vue Basique" -#: ../web/swat.c:589 ../web/swat.c:592 +#: ../web/swat.c:528 ../web/swat.c:531 msgid "Advanced" msgstr "Vue Détaillée" -#: ../web/swat.c:590 +#: ../web/swat.c:529 msgid "Change View To" msgstr "Modifier le mot de passe" -#: ../web/swat.c:619 +#: ../web/swat.c:554 msgid "Current Config" msgstr "Configuration Actuelle" -#: ../web/swat.c:623 +#: ../web/swat.c:558 msgid "Normal View" msgstr "Vue Normale" -#: ../web/swat.c:625 +#: ../web/swat.c:560 msgid "Full View" msgstr "Vue Complète" #. Here we first set and commit all the parameters that were selected #. in the previous screen. -#: ../web/swat.c:644 +#: ../web/swat.c:579 msgid "Wizard Parameter Edit Page" msgstr "" -#: ../web/swat.c:673 +#: ../web/swat.c:608 msgid "Note: smb.conf file has been read and rewritten" msgstr "" #. Here we go ... -#: ../web/swat.c:779 +#: ../web/swat.c:716 msgid "Samba Configuration Wizard" msgstr "" -#: ../web/swat.c:783 +#: ../web/swat.c:720 msgid "The \"Rewrite smb.conf file\" button will clear the smb.conf file of all default values and of comments." msgstr "" -#: ../web/swat.c:784 +#: ../web/swat.c:721 msgid "The same will happen if you press the commit button." msgstr "" -#: ../web/swat.c:787 +#: ../web/swat.c:724 msgid "Rewrite smb.conf file" msgstr "" -#: ../web/swat.c:788 +#: ../web/swat.c:725 msgid "Commit" msgstr "commentaire" -#: ../web/swat.c:789 +#: ../web/swat.c:726 msgid "Edit Parameter Values" msgstr "Paramètres Imprimantes" -#: ../web/swat.c:795 +#: ../web/swat.c:732 msgid "Server Type" msgstr "" -#: ../web/swat.c:796 +#: ../web/swat.c:733 msgid "Stand Alone" msgstr "" -#: ../web/swat.c:797 +#: ../web/swat.c:734 msgid "Domain Member" msgstr "master de domaine" -#: ../web/swat.c:798 +#: ../web/swat.c:735 msgid "Domain Controller" msgstr "master de domaine" -#: ../web/swat.c:801 +#: ../web/swat.c:738 msgid "Unusual Type in smb.conf - Please Select New Mode" msgstr "" -#: ../web/swat.c:803 +#: ../web/swat.c:740 msgid "Configure WINS As" msgstr "" -#: ../web/swat.c:804 +#: ../web/swat.c:741 msgid "Not Used" msgstr "ne pas descendre" -#: ../web/swat.c:805 +#: ../web/swat.c:742 msgid "Server for client use" msgstr "" -#: ../web/swat.c:806 +#: ../web/swat.c:743 msgid "Client of another WINS server" msgstr "" -#: ../web/swat.c:808 +#: ../web/swat.c:745 msgid "Remote WINS Server" msgstr "" -#: ../web/swat.c:819 +#: ../web/swat.c:756 msgid "Error: WINS Server Mode and WINS Support both set in smb.conf" msgstr "" -#: ../web/swat.c:820 +#: ../web/swat.c:757 msgid "Please Select desired WINS mode above." msgstr "" -#: ../web/swat.c:822 +#: ../web/swat.c:759 msgid "Expose Home Directories" msgstr "" -#: ../web/swat.c:837 +#: ../web/swat.c:774 msgid "The above configuration options will set multiple parameters and will generally assist with rapid Samba deployment." msgstr "" -#: ../web/swat.c:850 +#: ../web/swat.c:787 msgid "Global Parameters" msgstr "Variables Globales" -#: ../web/swat.c:878 ../web/swat.c:986 ../web/swat.c:1344 +#: ../web/swat.c:815 ../web/swat.c:916 ../web/swat.c:1265 msgid "Commit Changes" msgstr "Sauver les modifications" -#: ../web/swat.c:882 ../web/swat.c:989 ../web/swat.c:1346 +#: ../web/swat.c:819 ../web/swat.c:919 ../web/swat.c:1267 msgid "Reset Values" msgstr "Réinitialiser Valeurs" -#: ../web/swat.c:908 +#: ../web/swat.c:844 msgid "Share Parameters" msgstr "Paramètres de partage" -#: ../web/swat.c:955 +#: ../web/swat.c:887 msgid "Choose Share" msgstr "Choisir un partage" -#: ../web/swat.c:971 +#: ../web/swat.c:901 msgid "Delete Share" msgstr "Supprimer un partage" -#: ../web/swat.c:978 +#: ../web/swat.c:908 msgid "Create Share" msgstr "Créer un partage" -#: ../web/swat.c:1014 +#: ../web/swat.c:944 msgid "password change in demo mode rejected" msgstr "changement de mot de passe en mode démo rejeté" -#: ../web/swat.c:1028 +#: ../web/swat.c:957 msgid "Can't setup password database vectors." msgstr "" -#: ../web/swat.c:1056 +#: ../web/swat.c:983 msgid " Must specify \"User Name\" " msgstr " Le champ \"Nom d'utilisateur\" doit être spécifié" -#: ../web/swat.c:1072 +#: ../web/swat.c:999 msgid " Must specify \"Old Password\" " msgstr " Le champ \"Ancien mot de passe\" doît être spécifié" -#: ../web/swat.c:1078 +#: ../web/swat.c:1005 msgid " Must specify \"Remote Machine\" " msgstr " Le champ \"Machine Distante\" doît être spécifié" -#: ../web/swat.c:1085 +#: ../web/swat.c:1012 msgid " Must specify \"New, and Re-typed Passwords\" " msgstr "Les champs \"Nouveau mot de passe\" et \"Confirmation du nouveau mot de passe\" doivent être spécifiés \n" -#: ../web/swat.c:1091 +#: ../web/swat.c:1018 msgid " Re-typed password didn't match new password " msgstr " Echec de la confirmation du nouveau mot de passe" -#: ../web/swat.c:1124 +#: ../web/swat.c:1048 #, c-format msgid " The passwd for '%s' has been changed." msgstr " Le mot de passe de '%s' a été modifié. " -#: ../web/swat.c:1127 +#: ../web/swat.c:1051 #, c-format msgid " The passwd for '%s' has NOT been changed." msgstr " Le mot de passe de '%s' n'a PAS été modifié. \n" -#: ../web/swat.c:1152 +#: ../web/swat.c:1076 msgid "Server Password Management" msgstr "Gestion des mots de passe serveur" #. #. * Create all the dialog boxes for data collection #. -#: ../web/swat.c:1161 ../web/swat.c:1208 +#: ../web/swat.c:1085 ../web/swat.c:1132 msgid "User Name" msgstr " Nom d'utilisateur : " -#: ../web/swat.c:1164 ../web/swat.c:1210 +#: ../web/swat.c:1088 ../web/swat.c:1134 msgid "Old Password" msgstr " Ancien mot de passe : " -#: ../web/swat.c:1167 ../web/swat.c:1212 +#: ../web/swat.c:1091 ../web/swat.c:1136 msgid "New Password" msgstr " Nouveau mot de passe : " -#: ../web/swat.c:1169 ../web/swat.c:1214 +#: ../web/swat.c:1093 ../web/swat.c:1138 msgid "Re-type New Password" msgstr " Confirmation du nouveau mot de passe : " -#: ../web/swat.c:1177 ../web/swat.c:1225 +#: ../web/swat.c:1101 ../web/swat.c:1149 msgid "Change Password" msgstr "Modifier le mot de passe" -#: ../web/swat.c:1180 +#: ../web/swat.c:1104 msgid "Add New User" msgstr "Nouvel Utilisateur" -#: ../web/swat.c:1182 +#: ../web/swat.c:1106 msgid "Delete User" msgstr "Supprimer Utilisateur" -#: ../web/swat.c:1184 +#: ../web/swat.c:1108 msgid "Disable User" msgstr "Désactiver Utilisateur" -#: ../web/swat.c:1186 +#: ../web/swat.c:1110 msgid "Enable User" msgstr "Activer Utilisateur" -#: ../web/swat.c:1199 +#: ../web/swat.c:1123 msgid "Client/Server Password Management" msgstr "Gestion des mots de passe Client/Serveur" -#: ../web/swat.c:1216 +#: ../web/swat.c:1140 msgid "Remote Machine" msgstr " Machine distante : " -#: ../web/swat.c:1255 +#: ../web/swat.c:1179 msgid "Printer Parameters" msgstr "Paramètres Imprimantes" -#: ../web/swat.c:1257 +#: ../web/swat.c:1181 msgid "Important Note:" msgstr "Note Importante:" -#: ../web/swat.c:1258 +#: ../web/swat.c:1182 msgid "Printer names marked with [*] in the Choose Printer drop-down box " msgstr "Les Noms d'imprimantes marqués du signe [*] dans le menu déroulant Choisir Imprimante" -#: ../web/swat.c:1259 +#: ../web/swat.c:1183 msgid "are autoloaded printers from " msgstr "désignent des imprimantes automatiquement chargées depuis le " -#: ../web/swat.c:1260 +#: ../web/swat.c:1184 msgid "Printcap Name" msgstr "Nom Printcap" -#: ../web/swat.c:1261 +#: ../web/swat.c:1185 msgid "Attempting to delete these printers from SWAT will have no effect." msgstr "Essayer de supprimer ces imprimantes depuis SWAT n'aura aucun effet." -#: ../web/swat.c:1310 +#: ../web/swat.c:1231 msgid "Choose Printer" msgstr "Choisir Imprimante" -#: ../web/swat.c:1329 +#: ../web/swat.c:1250 msgid "Delete Printer" msgstr "Supprimer Imprimante" -#: ../web/swat.c:1336 +#: ../web/swat.c:1257 msgid "Create Printer" msgstr "Créer Imprimante" -#: ../web/statuspage.c:151 -msgid "RDWR " +#: ../web/statuspage.c:123 +msgid "RDONLY " msgstr "" -#: ../web/statuspage.c:153 +#: ../web/statuspage.c:124 msgid "WRONLY " msgstr "" -#: ../web/statuspage.c:155 -msgid "RDONLY " +#: ../web/statuspage.c:125 +msgid "RDWR " msgstr "" -#: ../web/statuspage.c:329 +#: ../web/statuspage.c:309 msgid "Server Status" msgstr "Statut du Serveur" -#: ../web/statuspage.c:334 +#: ../web/statuspage.c:314 msgid "Auto Refresh" msgstr "Rafraîchissement Automatique" -#: ../web/statuspage.c:335 ../web/statuspage.c:340 +#: ../web/statuspage.c:315 ../web/statuspage.c:320 msgid "Refresh Interval: " msgstr "Intervalle de rafraîchissement: " -#: ../web/statuspage.c:339 +#: ../web/statuspage.c:319 msgid "Stop Refreshing" msgstr "Stopper Rafraîchissement" -#: ../web/statuspage.c:348 +#: ../web/statuspage.c:334 msgid "version:" msgstr "version:" -#: ../web/statuspage.c:351 +#: ../web/statuspage.c:337 msgid "smbd:" msgstr "" -#: ../web/statuspage.c:351 ../web/statuspage.c:364 ../web/statuspage.c:378 +#: ../web/statuspage.c:337 ../web/statuspage.c:350 ../web/statuspage.c:364 msgid "running" msgstr "actif" -#: ../web/statuspage.c:351 ../web/statuspage.c:364 ../web/statuspage.c:378 +#: ../web/statuspage.c:337 ../web/statuspage.c:350 ../web/statuspage.c:364 msgid "not running" msgstr "non actif" -#: ../web/statuspage.c:355 +#: ../web/statuspage.c:341 msgid "Stop smbd" msgstr "Stopper smbd" -#: ../web/statuspage.c:357 +#: ../web/statuspage.c:343 msgid "Start smbd" msgstr "Lancer smbd" -#: ../web/statuspage.c:359 +#: ../web/statuspage.c:345 msgid "Restart smbd" msgstr "Relancer smbd" -#: ../web/statuspage.c:364 +#: ../web/statuspage.c:350 msgid "nmbd:" msgstr "" -#: ../web/statuspage.c:368 +#: ../web/statuspage.c:354 msgid "Stop nmbd" msgstr "Stopper nmbd" -#: ../web/statuspage.c:370 +#: ../web/statuspage.c:356 msgid "Start nmbd" msgstr "Lancer nmbd" -#: ../web/statuspage.c:372 +#: ../web/statuspage.c:358 msgid "Restart nmbd" msgstr "Relancer nmbd" -#: ../web/statuspage.c:378 +#: ../web/statuspage.c:364 msgid "winbindd:" msgstr "" -#: ../web/statuspage.c:382 +#: ../web/statuspage.c:368 msgid "Stop winbindd" msgstr "Stopper nmbd" -#: ../web/statuspage.c:384 +#: ../web/statuspage.c:370 msgid "Start winbindd" msgstr "Lancer nmbd" -#: ../web/statuspage.c:386 +#: ../web/statuspage.c:372 msgid "Restart winbindd" msgstr "Relancer nmbd" #. stop, restart all -#: ../web/statuspage.c:395 +#: ../web/statuspage.c:381 msgid "Stop All" msgstr "" -#: ../web/statuspage.c:396 +#: ../web/statuspage.c:382 msgid "Restart All" msgstr "Relancer nmbd" #. start all -#: ../web/statuspage.c:400 +#: ../web/statuspage.c:386 msgid "Start All" msgstr "Lancer nmbd" -#: ../web/statuspage.c:407 +#: ../web/statuspage.c:393 msgid "Active Connections" msgstr "Connections Actives" -#: ../web/statuspage.c:409 ../web/statuspage.c:422 ../web/statuspage.c:431 +#: ../web/statuspage.c:395 ../web/statuspage.c:408 ../web/statuspage.c:416 msgid "PID" msgstr "" -#: ../web/statuspage.c:409 ../web/statuspage.c:422 +#: ../web/statuspage.c:395 ../web/statuspage.c:408 msgid "Client" msgstr "" -#: ../web/statuspage.c:409 +#: ../web/statuspage.c:395 msgid "IP address" msgstr "adresse IP" -#: ../web/statuspage.c:409 ../web/statuspage.c:422 ../web/statuspage.c:431 +#: ../web/statuspage.c:395 ../web/statuspage.c:408 ../web/statuspage.c:416 msgid "Date" msgstr "Date" -#: ../web/statuspage.c:411 +#: ../web/statuspage.c:397 msgid "Kill" msgstr "Terminer" -#: ../web/statuspage.c:419 +#: ../web/statuspage.c:405 msgid "Active Shares" msgstr "Partages Actifs" -#: ../web/statuspage.c:422 +#: ../web/statuspage.c:408 msgid "Share" msgstr "Partager" -#: ../web/statuspage.c:422 +#: ../web/statuspage.c:408 msgid "User" msgstr "Utilisateur" -#: ../web/statuspage.c:422 +#: ../web/statuspage.c:408 msgid "Group" msgstr "Groupe" -#: ../web/statuspage.c:428 +#: ../web/statuspage.c:414 msgid "Open Files" msgstr "Fichiers Ouverts" -#: ../web/statuspage.c:431 -msgid "UID" -msgstr "" - -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:416 msgid "Sharing" msgstr "" -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:416 msgid "R/W" msgstr "" -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:416 msgid "Oplock" msgstr "" -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:416 msgid "File" msgstr "Fichier" -#: ../web/statuspage.c:438 +#: ../web/statuspage.c:425 msgid "Show Client in col 1" msgstr "" -#: ../web/statuspage.c:439 +#: ../web/statuspage.c:426 msgid "Show PID in col 1" msgstr "" -#: ../param/loadparm.c:907 +#: ../param/loadparm.c:755 msgid "Base Options" msgstr "Options de base" -#: ../param/loadparm.c:1047 +#: ../param/loadparm.c:775 msgid "Security Options" msgstr "Options de Sécurité" -#: ../param/loadparm.c:1800 +#: ../param/loadparm.c:859 msgid "Logging Options" msgstr "Options de Logging" -#: ../param/loadparm.c:1929 +#: ../param/loadparm.c:874 msgid "Protocol Options" msgstr "Options de Protocole" -#: ../param/loadparm.c:2301 +#: ../param/loadparm.c:911 msgid "Tuning Options" msgstr "Options de réglage" -#: ../param/loadparm.c:2538 +#: ../param/loadparm.c:940 msgid "Printing Options" msgstr "Options d'impression" -#: ../param/loadparm.c:2858 +#: ../param/loadparm.c:970 msgid "Filename Handling" msgstr "Gestion des noms de fichier" -#: ../param/loadparm.c:3088 +#: ../param/loadparm.c:996 msgid "Domain Options" msgstr "Options de Domaine" -#: ../param/loadparm.c:3100 +#: ../param/loadparm.c:1000 msgid "Logon Options" msgstr "Options de Logon" -#: ../param/loadparm.c:3273 +#: ../param/loadparm.c:1019 msgid "Browse Options" msgstr "Options de Navigation" -#: ../param/loadparm.c:3384 +#: ../param/loadparm.c:1033 msgid "WINS Options" msgstr "Options WINS" -#: ../param/loadparm.c:3432 +#: ../param/loadparm.c:1043 msgid "Locking Options" msgstr "Options de Verrouillage" -#: ../param/loadparm.c:3552 +#: ../param/loadparm.c:1061 msgid "Ldap Options" msgstr "Options Ldap" -#: ../param/loadparm.c:3708 -#, fuzzy -msgid "EventLog Options" -msgstr "Options de Logon" - -#: ../param/loadparm.c:3720 +#: ../param/loadparm.c:1078 msgid "Miscellaneous Options" msgstr "Options Diverses" -#: ../param/loadparm.c:4301 +#: ../param/loadparm.c:1138 msgid "VFS module options" msgstr "Options VFS" -#: ../param/loadparm.c:4323 -#, fuzzy -msgid "MSDFS options" -msgstr "Options VFS" - -#: ../param/loadparm.c:4353 +#: ../param/loadparm.c:1148 msgid "Winbind options" msgstr "Options Winbind" - -#: ../utils/net.c:103 -msgid "Enter machine password: " -msgstr "" - -#: ../utils/net.c:107 -msgid "Unable to write the machine account password in the secrets database" -msgstr "" - -#: ../utils/net.c:111 -msgid "Modified trust account password in secrets database\n" -msgstr "" - -#: ../utils/net.c:115 -msgid "" -"Machine account password change requires the -f flag.\n" -"Do NOT use this function unless you know what it does!\n" -"This function will change the ADS Domain member machine account password in the secrets.tdb file!\n" -msgstr "" - -#: ../utils/net.c:150 ../utils/net.c:228 -#, c-format -msgid "Unable to open secrets.tdb. Can't fetch domain SID for name: %s\n" -msgstr "" - -#: ../utils/net.c:163 ../utils/net.c:251 -#, c-format -msgid "SID for domain %s is: %s\n" -msgstr "" - -#: ../utils/net.c:175 -msgid "usage: net setlocalsid S-1-5-21-x-y-z\n" -msgstr "" - -#: ../utils/net.c:195 -msgid "usage: net setdomainsid S-1-5-21-x-y-z\n" -msgstr "" - -#: ../utils/net.c:213 -msgid "usage: net getdomainsid\n" -msgstr "" - -#: ../utils/net.c:238 -msgid "Could not fetch local SID\n" -msgstr "" - -#: ../utils/net.c:242 -#, c-format -msgid "SID for local machine %s is: %s\n" -msgstr "" - -#: ../utils/net.c:246 -msgid "Could not fetch domain SID\n" -msgstr "" - -#: ../utils/net.c:263 -#, c-format -msgid "get_maxrid: Could not search %s\n" -msgstr "" - -#: ../utils/net.c:297 -msgid "usage: net maxrid\n" -msgstr "" - -#: ../utils/net.c:302 -msgid "can't get current maximum rid\n" -msgstr "" - -#: ../utils/net.c:306 -#, c-format -msgid "Currently used maximum rid: %d\n" -msgstr "" - -#: ../utils/net.c:317 -msgid "Run functions using RPC transport" -msgstr "" - -#: ../utils/net.c:318 -msgid " Use 'net help rpc' to get more extensive information about 'net rpc' commands." -msgstr "" - -#: ../utils/net.c:325 -msgid "Run functions using RAP transport" -msgstr "" - -#: ../utils/net.c:326 -msgid " Use 'net help rap' to get more extensive information about 'net rap' commands." -msgstr "" - -#: ../utils/net.c:333 -msgid "Run functions using ADS transport" -msgstr "" - -#: ../utils/net.c:334 -msgid " Use 'net help ads' to get more extensive information about 'net ads' commands." -msgstr "" - -#: ../utils/net.c:343 -msgid "Functions on remote opened files" -msgstr "" - -#: ../utils/net.c:344 -msgid " Use 'net help file' to get more information about 'net file' commands." -msgstr "" - -#: ../utils/net.c:351 -msgid "Functions on shares" -msgstr "" - -#: ../utils/net.c:352 -msgid " Use 'net help share' to get more information about 'net share' commands." -msgstr "" - -#: ../utils/net.c:359 -msgid "Manage sessions" -msgstr "" - -#: ../utils/net.c:360 -msgid " Use 'net help session' to get more information about 'net session' commands." -msgstr "" - -#: ../utils/net.c:367 -msgid "List servers in workgroup" -msgstr "" - -#: ../utils/net.c:368 -msgid " Use 'net help server' to get more information about 'net server' commands." -msgstr "" - -#: ../utils/net.c:375 -msgid "List domains/workgroups on network" -msgstr "" - -#: ../utils/net.c:376 -msgid " Use 'net help domain' to get more information about 'net domain' commands." -msgstr "" - -#: ../utils/net.c:383 -msgid "Modify printer queue" -msgstr "" - -#: ../utils/net.c:384 -msgid " Use 'net help printq' to get more information about 'net printq' commands." -msgstr "" - -#: ../utils/net.c:391 -#, fuzzy -msgid "Manage users" -msgstr "Activer Utilisateur" - -#: ../utils/net.c:392 -msgid " Use 'net help user' to get more information about 'net user' commands." -msgstr "" - -#: ../utils/net.c:399 -msgid "Manage groups" -msgstr "" - -#: ../utils/net.c:400 -msgid " Use 'net help group' to get more information about 'net group' commands." -msgstr "" - -#: ../utils/net.c:407 -msgid "Manage group mappings" -msgstr "" - -#: ../utils/net.c:408 -msgid " Use 'net help groupmap' to get more information about 'net groupmap' commands." -msgstr "" - -#: ../utils/net.c:415 -msgid "Functions on the SAM database" -msgstr "" - -#: ../utils/net.c:416 -msgid " Use 'net help sam' to get more information about 'net sam' commands." -msgstr "" - -#: ../utils/net.c:423 -msgid "Validate username and password" -msgstr "" - -#: ../utils/net.c:424 -msgid " Use 'net help validate' to get more information about 'net validate' commands." -msgstr "" - -#: ../utils/net.c:431 -msgid "Modify group memberships" -msgstr "" - -#: ../utils/net.c:432 -msgid " Use 'net help groupmember' to get more information about 'net groupmember' commands." -msgstr "" - -#: ../utils/net.c:438 -msgid "Execute remote command on a remote OS/2 server" -msgstr "" - -#: ../utils/net.c:439 -msgid " Use 'net help admin' to get more information about 'net admin' commands." -msgstr "" - -#: ../utils/net.c:445 -msgid "List/modify running services" -msgstr "" - -#: ../utils/net.c:446 -msgid " Use 'net help service' to get more information about 'net service' commands." -msgstr "" - -#: ../utils/net.c:453 -msgid "Change user password on target server" -msgstr "" - -#: ../utils/net.c:454 -msgid " Use 'net help password' to get more information about 'net password' commands." -msgstr "" - -#: ../utils/net.c:460 -#, fuzzy -msgid "Change the trust password" -msgstr "Modifier le mot de passe" - -#: ../utils/net.c:461 -msgid " Use 'net help changetrustpw' to get more information about 'net changetrustpw'." -msgstr "" - -#: ../utils/net.c:467 -#, fuzzy -msgid "Change the secret password" -msgstr "Modifier le mot de passe" - -#: ../utils/net.c:468 -msgid "" -" net [options] changesecretpw\n" -" Change the ADS domain member machine account password in secrets.tdb.\n" -" Do NOT use this function unless you know what it does.\n" -" Requires the -f flag to work." -msgstr "" - -#: ../utils/net.c:477 -msgid "Show/set time" -msgstr "" - -#: ../utils/net.c:478 -msgid " Use 'net help time' to get more information about 'net time' commands." -msgstr "" - -#: ../utils/net.c:484 -msgid "Look up host names/IP addresses" -msgstr "" - -#: ../utils/net.c:485 -msgid " Use 'net help lookup' to get more information about 'net lookup' commands." -msgstr "" - -#: ../utils/net.c:491 -msgid "Join a domain/AD" -msgstr "" - -#: ../utils/net.c:492 -msgid " Use 'net help join' to get more information about 'net join'." -msgstr "" - -#: ../utils/net.c:498 -msgid "Join/unjoin (remote) machines to/from a domain/AD" -msgstr "" - -#: ../utils/net.c:499 -msgid " Use 'net help dom' to get more information about 'net dom' commands." -msgstr "" - -#: ../utils/net.c:505 -msgid "Operate on the cache tdb file" -msgstr "" - -#: ../utils/net.c:506 -msgid " Use 'net help cache' to get more information about 'net cache' commands." -msgstr "" - -#: ../utils/net.c:512 -msgid "Get the SID for the local domain" -msgstr "" - -#: ../utils/net.c:513 -msgid " net getlocalsid" -msgstr "" - -#: ../utils/net.c:518 -msgid "Set the SID for the local domain" -msgstr "" - -#: ../utils/net.c:519 -msgid " net setlocalsid S-1-5-21-x-y-z" -msgstr "" - -#: ../utils/net.c:524 -msgid "Set domain SID on member servers" -msgstr "" - -#: ../utils/net.c:525 -msgid " net setdomainsid S-1-5-21-x-y-z" -msgstr "" - -#: ../utils/net.c:530 -msgid "Get domain SID on member servers" -msgstr "" - -#: ../utils/net.c:531 -msgid " net getdomainsid" -msgstr "" - -#: ../utils/net.c:536 -msgid "Display the maximul RID currently used" -msgstr "" - -#: ../utils/net.c:537 -msgid " net maxrid" -msgstr "" - -#: ../utils/net.c:542 -#, fuzzy -msgid "IDmap functions" -msgstr "Options de Domaine" - -#: ../utils/net.c:543 -msgid " Use 'net help idmap to get more information about 'net idmap' commands." -msgstr "" - -#: ../utils/net.c:549 -#, fuzzy -msgid "Display server status" -msgstr "Statut du Serveur" - -#: ../utils/net.c:550 -msgid " Use 'net help status' to get more information about 'net status' commands." -msgstr "" - -#: ../utils/net.c:556 -msgid "Manage user-modifiable shares" -msgstr "" - -#: ../utils/net.c:557 -msgid " Use 'net help usershare to get more information about 'net usershare' commands." -msgstr "" - -#: ../utils/net.c:563 -msgid "Display list of all users with SID" -msgstr "" - -#: ../utils/net.c:564 -msgid " Use 'net help usersidlist' to get more information about 'net usersidlist'." -msgstr "" - -#: ../utils/net.c:570 -msgid "Manage Samba registry based configuration" -msgstr "" - -#: ../utils/net.c:571 -msgid " Use 'net help conf' to get more information about 'net conf' commands." -msgstr "" - -#: ../utils/net.c:577 -msgid "Manage the Samba registry" -msgstr "" - -#: ../utils/net.c:578 -msgid " Use 'net help registry' to get more information about 'net registry' commands." -msgstr "" - -#: ../utils/net.c:584 -msgid "Open a lua interpreter" -msgstr "" - -#: ../utils/net.c:585 -msgid " Use 'net help lua' to get more information about 'net lua' commands." -msgstr "" - -#: ../utils/net.c:591 -msgid "Process Win32 *.evt eventlog files" -msgstr "" - -#: ../utils/net.c:592 -msgid " Use 'net help eventlog' to get more information about 'net eventlog' commands." -msgstr "" - -#: ../utils/net.c:600 -msgid "Manage AFS tokens" -msgstr "" - -#: ../utils/net.c:601 -msgid " Use 'net help afs' to get more information about 'net afs' commands." -msgstr "" - -#: ../utils/net.c:609 -msgid "Print usage information" -msgstr "" - -#: ../utils/net.c:610 -msgid " Use 'net help help' to list usage information for 'net' commands." -msgstr "" - -#: ../utils/net.c:639 -msgid "Encrypt SMB transport (UNIX extended servers only)" -msgstr "" - -#: ../utils/net.c:703 -msgid "" -"\n" -"Invalid ip address specified\n" -msgstr "" - -#: ../utils/net.c:718 -#, c-format -msgid "" -"\n" -"Invalid option %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:52 ../utils/net_ads.c:392 -msgid "CLDAP query failed!\n" -msgstr "" - -#: ../utils/net_ads.c:56 -#, fuzzy, c-format -msgid "" -"Information for Domain Controller: %s\n" -"\n" -msgstr "master de domaine" - -#: ../utils/net_ads.c:59 -msgid "Response Type: " -msgstr "" - -#: ../utils/net_ads.c:72 -#, c-format -msgid "GUID: %s\n" -msgstr "" - -#: ../utils/net_ads.c:74 -#, c-format -msgid "" -"Flags:\n" -"\tIs a PDC: %s\n" -"\tIs a GC of the forest: %s\n" -"\tIs an LDAP server: %s\n" -"\tSupports DS: %s\n" -"\tIs running a KDC: %s\n" -"\tIs running time services: %s\n" -"\tIs the closest DC: %s\n" -"\tIs writable: %s\n" -"\tHas a hardware clock: %s\n" -"\tIs a non-domain NC serviced by LDAP server: %s\n" -"\tIs NT6 DC that has some secrets: %s\n" -"\tIs NT6 DC that has all secrets: %s\n" -msgstr "" - -#: ../utils/net_ads.c:87 ../utils/net_ads.c:88 ../utils/net_ads.c:89 ../utils/net_ads.c:90 ../utils/net_ads.c:91 ../utils/net_ads.c:92 ../utils/net_ads.c:93 ../utils/net_ads.c:94 ../utils/net_ads.c:95 ../utils/net_ads.c:96 ../utils/net_ads.c:97 -#: ../utils/net_ads.c:98 -msgid "yes" -msgstr "" - -#: ../utils/net_ads.c:87 ../utils/net_ads.c:88 ../utils/net_ads.c:89 ../utils/net_ads.c:90 ../utils/net_ads.c:91 ../utils/net_ads.c:92 ../utils/net_ads.c:93 ../utils/net_ads.c:94 ../utils/net_ads.c:95 ../utils/net_ads.c:96 ../utils/net_ads.c:97 -#: ../utils/net_ads.c:98 -msgid "no" -msgstr "" - -#: ../utils/net_ads.c:101 -#, c-format -msgid "Forest:\t\t\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:102 -#, c-format -msgid "Domain:\t\t\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:103 -#, fuzzy, c-format -msgid "Domain Controller:\t%s\n" -msgstr "master de domaine" - -#: ../utils/net_ads.c:105 -#, c-format -msgid "Pre-Win2k Domain:\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:106 -#, c-format -msgid "Pre-Win2k Hostname:\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:108 -#, fuzzy, c-format -msgid "User name:\t%s\n" -msgstr " Nom d'utilisateur : " - -#: ../utils/net_ads.c:110 -#, fuzzy, c-format -msgid "Server Site Name :\t\t%s\n" -msgstr "Statut du Serveur" - -#: ../utils/net_ads.c:111 -#, c-format -msgid "Client Site Name :\t\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:113 -#, fuzzy, c-format -msgid "NT Version: %d\n" -msgstr "version:" - -#: ../utils/net_ads.c:114 -#, c-format -msgid "LMNT Token: %.2x\n" -msgstr "" - -#: ../utils/net_ads.c:115 -#, c-format -msgid "LM20 Token: %.2x\n" -msgstr "" - -#: ../utils/net_ads.c:130 -msgid "" -"Usage:\n" -"net ads lookup\n" -" Find the ADS DC using CLDAP lookup.\n" -msgstr "" - -#: ../utils/net_ads.c:137 ../utils/net_ads.c:381 -msgid "Didn't find the cldap server!\n" -msgstr "" - -#: ../utils/net_ads.c:160 -msgid "" -"Usage:\n" -"net ads info\n" -" Display information about an Active Directory server.\n" -msgstr "" - -#: ../utils/net_ads.c:168 ../utils/net_ads.c:173 -msgid "Didn't find the ldap server!\n" -msgstr "" - -#: ../utils/net_ads.c:182 -msgid "Failed to get server's current time!\n" -msgstr "" - -#: ../utils/net_ads.c:187 -#, c-format -msgid "LDAP server: %s\n" -msgstr "" - -#: ../utils/net_ads.c:188 -#, c-format -msgid "LDAP server name: %s\n" -msgstr "" - -#: ../utils/net_ads.c:189 -#, c-format -msgid "Realm: %s\n" -msgstr "" - -#: ../utils/net_ads.c:190 -#, c-format -msgid "Bind Path: %s\n" -msgstr "" - -#: ../utils/net_ads.c:191 -#, c-format -msgid "LDAP port: %d\n" -msgstr "" - -#: ../utils/net_ads.c:192 -#, fuzzy, c-format -msgid "Server time: %s\n" -msgstr "Statut du Serveur" - -#: ../utils/net_ads.c:195 -#, c-format -msgid "KDC server: %s\n" -msgstr "" - -#: ../utils/net_ads.c:196 -#, c-format -msgid "Server time offset: %d\n" -msgstr "" - -#: ../utils/net_ads.c:374 -msgid "" -"Usage:\n" -"net ads workgroup\n" -" Print the workgroup name\n" -msgstr "" - -#: ../utils/net_ads.c:397 -#, c-format -msgid "Workgroup: %s\n" -msgstr "" - -#: ../utils/net_ads.c:458 -#, c-format -msgid "ads_user_add: %s\n" -msgstr "" - -#: ../utils/net_ads.c:463 -#, c-format -msgid "ads_user_add: User %s already exists\n" -msgstr "" - -#: ../utils/net_ads.c:477 -#, c-format -msgid "Could not add user %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:484 ../utils/net_ads.c:497 -#, fuzzy, c-format -msgid "User %s added\n" -msgstr " Nom d'utilisateur : " - -#. password didn't set, delete account -#: ../utils/net_ads.c:503 -#, c-format -msgid "Could not add user %s. Error setting password %s\n" -msgstr "" - -#: ../utils/net_ads.c:551 -#, c-format -msgid "ads_user_info: failed to escape user %s\n" -msgstr "" - -#: ../utils/net_ads.c:569 -#, c-format -msgid "ads_search: %s\n" -msgstr "" - -#: ../utils/net_ads.c:575 -msgid "ads_pull_uint32 failed\n" -msgstr "" - -#: ../utils/net_ads.c:582 -#, c-format -msgid "ads_domain_sid: %s\n" -msgstr "" - -#: ../utils/net_ads.c:642 -#, c-format -msgid "User %s does not exist.\n" -msgstr "" - -#: ../utils/net_ads.c:652 -#, c-format -msgid "User %s deleted\n" -msgstr "" - -#: ../utils/net_ads.c:656 -#, c-format -msgid "Error deleting user %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:669 -#, fuzzy -msgid "Add an AD user" -msgstr "Nouvel Utilisateur" - -#: ../utils/net_ads.c:670 -msgid "" -"net ads user add\n" -" Add an AD user" -msgstr "" - -#: ../utils/net_ads.c:677 -msgid "Display information about an AD user" -msgstr "" - -#: ../utils/net_ads.c:678 -msgid "" -"net ads user info\n" -" Display information about an AD user" -msgstr "" - -#: ../utils/net_ads.c:685 -#, fuzzy -msgid "Delete an AD user" -msgstr "Supprimer Utilisateur" - -#: ../utils/net_ads.c:686 -msgid "" -"net ads user delete\n" -" Delete an AD user" -msgstr "" - -#: ../utils/net_ads.c:699 -msgid "" -"Usage:\n" -"net ads user\n" -" List AD users\n" -msgstr "" - -#: ../utils/net_ads.c:711 -msgid "" -"\n" -"User name Comment\n" -"-----------------------------\n" -msgstr "" - -#: ../utils/net_ads.c:751 -#, c-format -msgid "ads_group_add: %s\n" -msgstr "" - -#: ../utils/net_ads.c:756 -#, c-format -msgid "ads_group_add: Group %s already exists\n" -msgstr "" - -#: ../utils/net_ads.c:769 -#, c-format -msgid "Group %s added\n" -msgstr "" - -#: ../utils/net_ads.c:772 -#, c-format -msgid "Could not add group %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:801 -#, c-format -msgid "Group %s does not exist.\n" -msgstr "" - -#: ../utils/net_ads.c:811 -#, c-format -msgid "Group %s deleted\n" -msgstr "" - -#: ../utils/net_ads.c:815 -#, c-format -msgid "Error deleting group %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:828 -msgid "Add an AD group" -msgstr "" - -#: ../utils/net_ads.c:829 -msgid "" -"net ads group add\n" -" Add an AD group" -msgstr "" - -#: ../utils/net_ads.c:836 -#, fuzzy -msgid "Delete an AD group" -msgstr "Supprimer un partage" - -#: ../utils/net_ads.c:837 -msgid "" -"net ads group delete\n" -" Delete an AD group" -msgstr "" - -#: ../utils/net_ads.c:850 -msgid "" -"Usage:\n" -"net ads group\n" -" List AD groups\n" -msgstr "" - -#: ../utils/net_ads.c:862 -msgid "" -"\n" -"Group name Comment\n" -"-----------------------------\n" -msgstr "" - -#: ../utils/net_ads.c:884 -msgid "" -"Usage:\n" -"net ads status\n" -" Display machine account details\n" -msgstr "" - -#: ../utils/net_ads.c:896 -#, c-format -msgid "ads_find_machine_acct: %s\n" -msgstr "" - -#: ../utils/net_ads.c:902 -#, c-format -msgid "No machine account for '%s' found\n" -msgstr "" - -#: ../utils/net_ads.c:926 -msgid "" -"Usage:\n" -"net ads leave\n" -" Leave an AD domain\n" -msgstr "" - -#: ../utils/net_ads.c:933 -msgid "No realm set, are we joined ?\n" -msgstr "" - -#: ../utils/net_ads.c:938 ../utils/net_ads.c:1260 -msgid "Could not initialise talloc context.\n" -msgstr "" - -#: ../utils/net_ads.c:948 -msgid "Could not initialise unjoin context.\n" -msgstr "" - -#: ../utils/net_ads.c:968 -#, c-format -msgid "Failed to leave domain: %s\n" -msgstr "" - -#: ../utils/net_ads.c:975 -#, c-format -msgid "Deleted account for '%s' in realm '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:982 -#, c-format -msgid "Disabled account for '%s' in realm '%s'\n" -msgstr "" - -#. Based on what we requseted, we shouldn't get here, but if -#. we did, it means the secrets were removed, and therefore -#. we have left the domain -#: ../utils/net_ads.c:991 -#, c-format -msgid "Machine '%s' Left domain '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:1035 -msgid "" -"Usage:\n" -"net ads testjoin\n" -" Test if the existing join is ok\n" -msgstr "" - -#: ../utils/net_ads.c:1044 -#, c-format -msgid "Join to domain is not valid: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1049 -#, c-format -msgid "Join is OK\n" -msgstr "" - -#: ../utils/net_ads.c:1060 -msgid "Host is not configured as a member server.\n" -msgstr "" - -#: ../utils/net_ads.c:1065 -#, c-format -msgid "Our netbios name can be at most 15 chars long, \"%s\" is %u chars long\n" -msgstr "" - -#: ../utils/net_ads.c:1072 -#, c-format -msgid "realm must be set in in %s for ADS join to succeed.\n" -msgstr "" - -#: ../utils/net_ads.c:1105 -#, c-format -msgid "No DNS domain configured for %s. Unable to perform DNS Update.\n" -msgstr "" - -#: ../utils/net_ads.c:1212 -msgid "" -"net ads join [options]\n" -"Valid options:\n" -msgstr "" - -#: ../utils/net_ads.c:1214 -msgid "" -" createupn[=UPN] Set the userPrincipalName attribute during the join.\n" -" The deault UPN is in the form host/netbiosname@REALM.\n" -msgstr "" - -#: ../utils/net_ads.c:1216 -msgid "" -" createcomputer=OU Precreate the computer account in a specific OU.\n" -" The OU string read from top to bottom without RDNs and delimited by a '/'.\n" -" E.g. \"createcomputer=Computers/Servers/Unix\"\n" -" NB: A backslash '\\' is used as escape at multiple levels and may\n" -" need to be doubled or even quadrupled. It is not used as a separator.\n" -msgstr "" - -#: ../utils/net_ads.c:1221 -msgid " osName=string Set the operatingSystem attribute during the join.\n" -msgstr "" - -#: ../utils/net_ads.c:1222 -msgid "" -" osVer=string Set the operatingSystemVersion attribute during the join.\n" -" NB: osName and osVer must be specified together for either to take effect.\n" -" Also, the operatingSystemService attribute is also set when along with\n" -" the two other attributes.\n" -msgstr "" - -#: ../utils/net_ads.c:1254 -msgid "Invalid configuration. Exiting....\n" -msgstr "" - -#: ../utils/net_ads.c:1283 -msgid "Please supply a valid OU path.\n" -msgstr "" - -#: ../utils/net_ads.c:1290 -msgid "Please supply a operating system name.\n" -msgstr "" - -#: ../utils/net_ads.c:1297 -msgid "Please supply a valid operating system version.\n" -msgstr "" - -#: ../utils/net_ads.c:1308 -msgid "Please supply a valid domain name\n" -msgstr "" - -#: ../utils/net_ads.c:1339 -#, c-format -msgid "" -"The workgroup in %s does not match the short\n" -"domain name obtained from the server.\n" -"Using the name [%s] from the server.\n" -"You should set \"workgroup = %s\" in %s.\n" -msgstr "" - -#: ../utils/net_ads.c:1347 -#, c-format -msgid "Using short domain name -- %s\n" -msgstr "" - -#: ../utils/net_ads.c:1350 -#, c-format -msgid "Joined '%s' to realm '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:1353 -#, c-format -msgid "Joined '%s' to domain '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:1377 ../utils/net_ads.c:1433 -msgid "DNS update failed!\n" -msgstr "" - -#. issue an overall failure message at the end. -#: ../utils/net_ads.c:1391 ../utils/net_dom.c:198 -#, c-format -msgid "Failed to join domain: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1414 -msgid "" -"Usage:\n" -"net ads dns register\n" -" Register hostname with DNS\n" -msgstr "" - -#: ../utils/net_ads.c:1421 -msgid "Could not initialise talloc context\n" -msgstr "" - -#: ../utils/net_ads.c:1439 -msgid "Successfully registered hostname with DNS\n" -msgstr "" - -#: ../utils/net_ads.c:1447 -msgid "DNS update support not enabled at compile time!\n" -msgstr "" - -#: ../utils/net_ads.c:1466 -msgid "" -"Usage:\n" -"net ads dns gethostbyname <server> <name>\n" -" Look up hostname from the AD\n" -" server\tName server to use\n" -" name\tName to look up\n" -msgstr "" - -#: ../utils/net_ads.c:1476 -#, c-format -msgid "do_gethostbyname returned %d\n" -msgstr "" - -#: ../utils/net_ads.c:1488 -msgid "Add host dns entry to AD" -msgstr "" - -#: ../utils/net_ads.c:1489 -msgid "" -"net ads dns register\n" -" Add host dns entry to AD" -msgstr "" - -#: ../utils/net_ads.c:1496 -msgid "Look up host" -msgstr "" - -#: ../utils/net_ads.c:1497 -msgid "" -"net ads dns gethostbyname\n" -" Look up host" -msgstr "" - -#: ../utils/net_ads.c:1512 -msgid "" -"\n" -"net ads printer search <printer>\n" -"\tsearch for a printer in the directory\n" -"\n" -"net ads printer info <printer> <server>\n" -"\tlookup info in directory for printer on server\n" -"\t(note: printer defaults to \"*\", server defaults to local)\n" -"\n" -"net ads printer publish <printername>\n" -"\tpublish printer in directory\n" -"\t(note: printer name is required)\n" -"\n" -"net ads printer remove <printername>\n" -"\tremove printer from directory\n" -"\t(note: printer name is required)\n" -msgstr "" - -#: ../utils/net_ads.c:1536 -msgid "" -"Usage:\n" -"net ads printer search\n" -" List printers in the AD\n" -msgstr "" - -#: ../utils/net_ads.c:1549 -#, c-format -msgid "ads_find_printer: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1556 -msgid "No results found\n" -msgstr "" - -#: ../utils/net_ads.c:1576 -msgid "" -"Usage:\n" -"net ads printer info [printername [servername]]\n" -" Display printer info from AD\n" -" printername\tPrinter name or wildcard\n" -" servername\tName of the print server\n" -msgstr "" - -#: ../utils/net_ads.c:1603 -#, c-format -msgid "Server '%s' not found: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1611 ../utils/net_ads.c:1794 -#, c-format -msgid "Printer '%s' not found\n" -msgstr "" - -#: ../utils/net_ads.c:1640 -msgid "" -"Usage:\n" -"net ads printer publish <printername> [servername]\n" -" Publish printer in AD\n" -" printername\tName of the printer\n" -" servername\tName of the print server\n" -msgstr "" - -#: ../utils/net_ads.c:1675 -#, c-format -msgid "Unable to open a connnection to %s to obtain data for %s\n" -msgstr "" - -#: ../utils/net_ads.c:1688 -#, c-format -msgid "Could not find machine account for server %s\n" -msgstr "" - -#: ../utils/net_ads.c:1704 ../utils/net_ads.c:1713 -msgid "Internal error, out of memory!" -msgstr "" - -#: ../utils/net_ads.c:1724 -#, c-format -msgid "Unable to open a connnection to the spoolss pipe on %s\n" -msgstr "" - -#: ../utils/net_ads.c:1766 -msgid "" -"Usage:\n" -"net ads printer remove <printername> [servername]\n" -" Remove a printer from the AD\n" -" printername\tName of the printer\n" -" servername\tName of the print server\n" -msgstr "" - -#: ../utils/net_ads.c:1787 -#, c-format -msgid "ads_find_printer_on_server: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1806 -#, c-format -msgid "ads_del_dn: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1822 -msgid "Search for a printer" -msgstr "" - -#: ../utils/net_ads.c:1823 -msgid "" -"net ads printer search\n" -" Search for a printer" -msgstr "" - -#: ../utils/net_ads.c:1830 -msgid "Display printer information" -msgstr "" - -#: ../utils/net_ads.c:1831 -msgid "" -"net ads printer info\n" -" Display printer information" -msgstr "" - -#: ../utils/net_ads.c:1838 -msgid "Publish a printer" -msgstr "" - -#: ../utils/net_ads.c:1839 -msgid "" -"net ads printer publish\n" -" Publish a printer" -msgstr "" - -#: ../utils/net_ads.c:1846 -#, fuzzy -msgid "Delete a printer" -msgstr "Supprimer Imprimante" - -#: ../utils/net_ads.c:1847 -msgid "" -"net ads printer remove\n" -" Delete a printer" -msgstr "" - -#: ../utils/net_ads.c:1869 -msgid "" -"Usage:\n" -"net ads password <username>\n" -" Change password for user\n" -" username\tName of user to change password for\n" -msgstr "" - -#: ../utils/net_ads.c:1877 -msgid "You must supply an administrator username/password\n" -msgstr "" - -#: ../utils/net_ads.c:1883 -msgid "ERROR: You must say which username to change password for\n" -msgstr "" - -#: ../utils/net_ads.c:1915 -msgid "Didn't find the kerberos server!\n" -msgstr "" - -#: ../utils/net_ads.c:1923 -#, c-format -msgid "Enter new password for %s:" -msgstr "" - -#: ../utils/net_ads.c:1933 ../utils/net_ads.c:1982 -#, fuzzy, c-format -msgid "Password change failed: %s\n" -msgstr "Gestion des mots de passe" - -#: ../utils/net_ads.c:1938 -#, fuzzy, c-format -msgid "Password change for %s completed.\n" -msgstr "changement de mot de passe en mode démo rejeté" - -#: ../utils/net_ads.c:1952 -msgid "" -"Usage:\n" -"net ads changetrustpw\n" -" Change the machine account's trust password\n" -msgstr "" - -#: ../utils/net_ads.c:1977 -#, c-format -msgid "Changing password for principal: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1988 -#, c-format -msgid "Password change for principal %s succeeded.\n" -msgstr "" - -#: ../utils/net_ads.c:1991 -msgid "Attempting to update system keytab with new password.\n" -msgstr "" - -#: ../utils/net_ads.c:1993 -msgid "Failed to update system keytab.\n" -msgstr "" - -#: ../utils/net_ads.c:2009 -msgid "" -"\n" -"net ads search <expression> <attributes...>\n" -"\n" -"Perform a raw LDAP search on a ADS server and dump the results.\n" -"The expression is a standard LDAP search expression, and the\n" -"attributes are a list of LDAP fields to show in the results.\n" -"\n" -"Example: net ads search '(objectCategory=group)' sAMAccountName\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2046 ../utils/net_ads.c:2107 ../utils/net_ads.c:2171 ../utils/net_ads_gpo.c:250 -#, c-format -msgid "search failed: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2051 ../utils/net_ads.c:2176 ../utils/net_ads_gpo.c:256 -#, c-format -msgid "" -"Got %d replies\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2069 -msgid "" -"\n" -"net ads dn <dn> <attributes...>\n" -"\n" -"perform a raw LDAP search on a ADS server and dump the results\n" -"The DN standard LDAP DN, and the attributes are a list of LDAP fields \n" -"to show in the results\n" -"\n" -"Example: net ads dn 'CN=administrator,CN=Users,DC=my,DC=domain' sAMAccountName\n" -"\n" -"Note: the DN must be provided properly escaped. See RFC 4514 for details\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2129 -msgid "" -"\n" -"net ads sid <sid> <attributes...>\n" -"\n" -"perform a raw LDAP search on a ADS server and dump the results\n" -"The SID is in string format, and the attributes are a list of LDAP fields \n" -"to show in the results\n" -"\n" -"Example: net ads sid 'S-1-5-32' distinguishedName\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2164 -msgid "could not convert sid\n" -msgstr "" - -#: ../utils/net_ads.c:2193 -msgid "" -"Usage:\n" -"net ads keytab flush\n" -" Delete the whole keytab\n" -msgstr "" - -#: ../utils/net_ads.c:2214 -msgid "" -"Usage:\n" -"net ads keytab add <principal> [principal ...]\n" -" Add principals to local keytab\n" -" principal\tKerberos principal to add to keytab\n" -msgstr "" - -#: ../utils/net_ads.c:2222 -msgid "Processing principals to add...\n" -msgstr "" - -#: ../utils/net_ads.c:2239 -msgid "" -"Usage:\n" -"net ads keytab create\n" -" Create new default keytab\n" -msgstr "" - -#: ../utils/net_ads.c:2258 -msgid "" -"Usage:\n" -"net ads keytab list [keytab]\n" -" List a local keytab\n" -" keytab\tKeytab to list\n" -msgstr "" - -#: ../utils/net_ads.c:2280 -msgid "Add a service principal" -msgstr "" - -#: ../utils/net_ads.c:2281 -msgid "" -"net ads keytab add\n" -" Add a service principal" -msgstr "" - -#: ../utils/net_ads.c:2288 -#, fuzzy -msgid "Create a fresh keytab" -msgstr "Créer un partage" - -#: ../utils/net_ads.c:2289 -msgid "" -"net ads keytab create\n" -" Create a fresh keytab" -msgstr "" - -#: ../utils/net_ads.c:2296 -msgid "Remove all keytab entries" -msgstr "" - -#: ../utils/net_ads.c:2297 -msgid "" -"net ads keytab flush\n" -" Remove all keytab entries" -msgstr "" - -#: ../utils/net_ads.c:2304 -msgid "List a keytab" -msgstr "" - -#: ../utils/net_ads.c:2305 -msgid "" -"net ads keytab list\n" -" List a keytab" -msgstr "" - -#: ../utils/net_ads.c:2312 -msgid "" -"\n" -"Warning: \"kerberos method\" must be set to a keytab method to use keytab functions.\n" -msgstr "" - -#: ../utils/net_ads.c:2324 -msgid "" -"Usage:\n" -"net ads kerberos renew\n" -" Renew TGT from existing credential cache\n" -msgstr "" - -#: ../utils/net_ads.c:2332 -#, c-format -msgid "failed to renew kerberos ticket: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2347 -msgid "" -"Usage:\n" -"net ads kerberos pac\n" -" Dump the Kerberos PAC\n" -msgstr "" - -#: ../utils/net_ads.c:2372 -#, c-format -msgid "failed to query kerberos PAC: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2381 -#, c-format -msgid "The Pac: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2397 -msgid "" -"Usage:\n" -"net ads kerberos kinit\n" -" Get Ticket Granting Ticket (TGT) for the user\n" -msgstr "" - -#: ../utils/net_ads.c:2421 -#, c-format -msgid "failed to kinit password: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2435 -msgid "Retrieve Ticket Granting Ticket (TGT)" -msgstr "" - -#: ../utils/net_ads.c:2436 -msgid "" -"net ads kerberos kinit\n" -" Receive Ticket Granting Ticket (TGT)" -msgstr "" - -#: ../utils/net_ads.c:2443 -msgid "Renew Ticket Granting Ticket from credential cache" -msgstr "" - -#: ../utils/net_ads.c:2444 -msgid "" -"net ads kerberos renew\n" -" Renew Ticket Granting Ticket (TGT) from credential cache" -msgstr "" - -#: ../utils/net_ads.c:2452 -msgid "Dump Kerberos PAC" -msgstr "" - -#: ../utils/net_ads.c:2453 -msgid "" -"net ads kerberos pac\n" -" Dump Kerberos PAC" -msgstr "" - -#: ../utils/net_ads.c:2469 -msgid "Display details on remote ADS server" -msgstr "" - -#: ../utils/net_ads.c:2470 -msgid "" -"net ads info\n" -" Display details on remote ADS server" -msgstr "" - -#: ../utils/net_ads.c:2477 -msgid "Join the local machine to ADS realm" -msgstr "" - -#: ../utils/net_ads.c:2478 -msgid "" -"net ads join\n" -" Join the local machine to ADS realm" -msgstr "" - -#: ../utils/net_ads.c:2485 -msgid "Validate machine account" -msgstr "" - -#: ../utils/net_ads.c:2486 -msgid "" -"net ads testjoin\n" -" Validate machine account" -msgstr "" - -#: ../utils/net_ads.c:2493 -msgid "Remove the local machine from ADS" -msgstr "" - -#: ../utils/net_ads.c:2494 -msgid "" -"net ads leave\n" -" Remove the local machine from ADS" -msgstr "" - -#: ../utils/net_ads.c:2501 -msgid "Display machine account details" -msgstr "" - -#: ../utils/net_ads.c:2502 -msgid "" -"net ads status\n" -" Display machine account details" -msgstr "" - -#: ../utils/net_ads.c:2509 -msgid "List/modify users" -msgstr "" - -#: ../utils/net_ads.c:2510 -msgid "" -"net ads user\n" -" List/modify users" -msgstr "" - -#: ../utils/net_ads.c:2517 -msgid "List/modify groups" -msgstr "" - -#: ../utils/net_ads.c:2518 -msgid "" -"net ads group\n" -" List/modify groups" -msgstr "" - -#: ../utils/net_ads.c:2525 -msgid "Issue dynamic DNS update" -msgstr "" - -#: ../utils/net_ads.c:2526 -msgid "" -"net ads dns\n" -" Issue dynamic DNS update" -msgstr "" - -#: ../utils/net_ads.c:2533 -#, fuzzy -msgid "Change user passwords" -msgstr "Modifier le mot de passe" - -#: ../utils/net_ads.c:2534 -msgid "" -"net ads password\n" -" Change user passwords" -msgstr "" - -#: ../utils/net_ads.c:2541 -#, fuzzy -msgid "Change trust account password" -msgstr "Modifier le mot de passe" - -#: ../utils/net_ads.c:2542 -msgid "" -"net ads changetrustpw\n" -" Change trust account password" -msgstr "" - -#: ../utils/net_ads.c:2549 -msgid "List/modify printer entries" -msgstr "" - -#: ../utils/net_ads.c:2550 -msgid "" -"net ads printer\n" -" List/modify printer entries" -msgstr "" - -#: ../utils/net_ads.c:2557 -msgid "Issue LDAP search using filter" -msgstr "" - -#: ../utils/net_ads.c:2558 -msgid "" -"net ads search\n" -" Issue LDAP search using filter" -msgstr "" - -#: ../utils/net_ads.c:2565 -msgid "Issue LDAP search by DN" -msgstr "" - -#: ../utils/net_ads.c:2566 -msgid "" -"net ads dn\n" -" Issue LDAP search by DN" -msgstr "" - -#: ../utils/net_ads.c:2573 -msgid "Issue LDAP search by SID" -msgstr "" - -#: ../utils/net_ads.c:2574 -msgid "" -"net ads sid\n" -" Issue LDAP search by SID" -msgstr "" - -#: ../utils/net_ads.c:2581 -msgid "Display workgroup name" -msgstr "" - -#: ../utils/net_ads.c:2582 -msgid "" -"net ads workgroup\n" -" Display the workgroup name" -msgstr "" - -#: ../utils/net_ads.c:2589 -msgid "Perfom CLDAP query on DC" -msgstr "" - -#: ../utils/net_ads.c:2590 -msgid "" -"net ads lookup\n" -" Find the ADS DC using CLDAP lookups" -msgstr "" - -#: ../utils/net_ads.c:2597 -msgid "Manage local keytab file" -msgstr "" - -#: ../utils/net_ads.c:2598 -msgid "" -"net ads keytab\n" -" Manage local keytab file" -msgstr "" - -#: ../utils/net_ads.c:2605 -msgid "Manage group policy objects" -msgstr "" - -#: ../utils/net_ads.c:2606 -msgid "" -"net ads gpo\n" -" Manage group policy objects" -msgstr "" - -#: ../utils/net_ads.c:2613 -msgid "Manage kerberos keytab" -msgstr "" - -#: ../utils/net_ads.c:2614 -msgid "" -"net ads kerberos\n" -" Manage kerberos keytab" -msgstr "" - -#: ../utils/net_ads.c:2627 -msgid "ADS support not compiled in\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:40 -msgid "" -"Usage:\n" -"net ads gpo refresh <username|machinename>\n" -" Lists all GPOs assigned to an account and downloads them\n" -" username\tUser to refresh GPOs for\n" -" machinename\tMachine to refresh GPOs for\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:56 -#, c-format -msgid "failed to connect AD server: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:62 -#, c-format -msgid "failed to find samaccount for %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:70 -#, c-format -msgid "" -"\n" -"%s: '%s' has dn: '%s'\n" -"\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:71 ../utils/net_ads_gpo.c:328 -#, fuzzy -msgid "machine" -msgstr " Machine distante : " - -#: ../utils/net_ads_gpo.c:71 ../utils/net_ads_gpo.c:328 -#, fuzzy -msgid "user" -msgstr "Utilisateur" - -#: ../utils/net_ads_gpo.c:74 -msgid "* fetching token " -msgstr "" - -#: ../utils/net_ads_gpo.c:82 ../utils/net_ads_gpo.c:90 ../utils/net_ads_gpo.c:102 ../utils/net_ads_gpo.c:113 ../utils/net_ads_gpo.c:158 -#, c-format -msgid "failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:85 ../utils/net_ads_gpo.c:94 ../utils/net_ads_gpo.c:105 ../utils/net_ads_gpo.c:118 ../utils/net_ads_gpo.c:163 -msgid "finished\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:87 -msgid "* fetching GPO List " -msgstr "" - -#: ../utils/net_ads_gpo.c:96 -msgid "* Refreshing Group Policy Data " -msgstr "" - -#: ../utils/net_ads_gpo.c:107 -msgid "* storing GPO list to registry " -msgstr "" - -#: ../utils/net_ads_gpo.c:122 -msgid "* dumping GPO list\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:151 -msgid "* re-reading GPO list from registry " -msgstr "" - -#: ../utils/net_ads_gpo.c:167 -msgid "* dumping GPO list from registry\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:226 -msgid "" -"Usage:\n" -"net ads gpo listall\n" -" List all GPOs on the DC\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:270 -#, fuzzy, c-format -msgid "ads_parse_gpo failed: %s\n" -msgstr "Gestion des mots de passe" - -#: ../utils/net_ads_gpo.c:300 -msgid "" -"Usage:\n" -"net ads gpo list <username|machinename>\n" -" Lists all GPOs for machine/user\n" -" username\tUser to list GPOs for\n" -" machinename\tMachine to list GPOs for\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:327 -#, c-format -msgid "%s: '%s' has dn: '%s'\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:451 -msgid "" -"Usage:\n" -"net ads gpo linkget <container>\n" -" Lists gPLink of a containter\n" -" container\tContainer to get link for\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:470 -#, c-format -msgid "get link for %s failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:492 -msgid "" -"Usage:\n" -"net ads gpo linkadd <linkdn> <gpodn> [options]\n" -" Link a container to a GPO\n" -" linkdn\tContainer to link to a GPO\n" -" gpodn\tGPO to link container to\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:497 -msgid "" -"note: DNs must be provided properly escaped.\n" -"See RFC 4514 for details\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:518 -#, c-format -msgid "link add failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:579 -msgid "" -"Usage:\n" -"net ads gpo getgpo <gpo>\n" -" List speciefied GPO\n" -" gpo\t\tGPO to list\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:603 -#, c-format -msgid "get gpo for [%s] failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:634 -msgid "List specified GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:635 -msgid "" -"net ads gpo getgpo\n" -" List specified GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:642 -msgid "Link a container to a GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:643 -msgid "" -"net ads gpo linkadd\n" -" Link a container to a GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:660 -msgid "Lists gPLink of containter" -msgstr "" - -#: ../utils/net_ads_gpo.c:661 -msgid "" -"net ads gpo linkget\n" -" Lists gPLink of containter" -msgstr "" - -#: ../utils/net_ads_gpo.c:668 -msgid "Lists all GPOs for machine/user" -msgstr "" - -#: ../utils/net_ads_gpo.c:669 -msgid "" -"net ads gpo list\n" -" Lists all GPOs for machine/user" -msgstr "" - -#: ../utils/net_ads_gpo.c:676 -msgid "Lists all GPOs on a DC" -msgstr "" - -#: ../utils/net_ads_gpo.c:677 -msgid "" -"net ads gpo listall\n" -" Lists all GPOs on a DC" -msgstr "" - -#: ../utils/net_ads_gpo.c:684 -msgid "Lists all GPOs assigned to an account and downloads them" -msgstr "" - -#: ../utils/net_ads_gpo.c:686 -msgid "" -"net ads gpo refresh\n" -" Lists all GPOs assigned to an account and downloads them" -msgstr "" - -#: ../utils/net_afs.c:25 -msgid "" -" net afs key filename\n" -"\tImports a OpenAFS KeyFile into our secrets.tdb\n" -"\n" -msgstr "" - -#: ../utils/net_afs.c:27 -msgid "" -" net afs impersonate <user> <cell>\n" -"\tCreates a token for user@cell\n" -"\n" -msgstr "" - -#: ../utils/net_afs.c:38 -msgid "usage: 'net afs key <keyfile> cell'\n" -msgstr "" - -#: ../utils/net_afs.c:43 -msgid "Could not open secrets.tdb\n" -msgstr "" - -#: ../utils/net_afs.c:48 -#, c-format -msgid "Could not open %s\n" -msgstr "" - -#: ../utils/net_afs.c:53 -msgid "Could not read keyfile\n" -msgstr "" - -#: ../utils/net_afs.c:58 -msgid "Could not write keyfile to secrets.tdb\n" -msgstr "" - -#: ../utils/net_afs.c:71 -#, c-format -msgid "Usage: net afs impersonate <user> <cell>\n" -msgstr "" - -#: ../utils/net_afs.c:78 -#, c-format -msgid "Could not create token\n" -msgstr "" - -#: ../utils/net_afs.c:83 -#, c-format -msgid "Could not set token into kernel\n" -msgstr "" - -#: ../utils/net_afs.c:87 -#, c-format -msgid "Success: %s@%s\n" -msgstr "" - -#: ../utils/net_afs.c:98 -msgid "Import an OpenAFS keyfile" -msgstr "" - -#: ../utils/net_afs.c:99 -msgid "" -"net afs key <filename>\n" -" Import kefile from <filename>." -msgstr "" - -#: ../utils/net_afs.c:106 -msgid "Get a user token" -msgstr "" - -#: ../utils/net_afs.c:107 -msgid "" -"net afs impersonate <user> <cell>\n" -" Create token for user@cell" -msgstr "" - -#: ../utils/net_cache.c:74 -#, c-format -msgid "Key: %s\t Timeout: %s\t Value: %s %s\n" -msgstr "" - -#: ../utils/net_cache.c:75 -msgid "(expired)" -msgstr "" - -#: ../utils/net_cache.c:84 -#, c-format -msgid "Couldn't delete entry! key = %s\n" -msgstr "" - -#: ../utils/net_cache.c:158 -msgid "" -"\n" -"Usage:\n" -"net cache add <key string> <data string> <timeout>\n" -msgstr "" - -#: ../utils/net_cache.c:170 -msgid "Invalid timeout argument.\n" -msgstr "" - -#: ../utils/net_cache.c:175 -msgid "New cache entry stored successfully.\n" -msgstr "" - -#: ../utils/net_cache.c:179 -msgid "Entry couldn't be added. Perhaps there's already such a key.\n" -msgstr "" - -#: ../utils/net_cache.c:195 -msgid "" -"\n" -"Usage: net cache del <key string>\n" -msgstr "" - -#: ../utils/net_cache.c:200 -msgid "Entry deleted.\n" -msgstr "" - -#: ../utils/net_cache.c:204 -msgid "Couldn't delete specified entry\n" -msgstr "" - -#: ../utils/net_cache.c:223 -msgid "" -"\n" -"Usage: net cache get <key>\n" -msgstr "" - -#: ../utils/net_cache.c:233 -msgid "Failed to find entry\n" -msgstr "" - -#: ../utils/net_cache.c:250 -msgid "Usage: net cache search <pattern>\n" -msgstr "" - -#: ../utils/net_cache.c:272 -msgid "" -"Usage:\n" -"net cache list\n" -" List all cache entries.\n" -msgstr "" - -#: ../utils/net_cache.c:293 ../utils/net_cache.c:306 -msgid "" -"Usage:\n" -"net cache flush\n" -" Delete all cache entries.\n" -msgstr "" - -#: ../utils/net_cache.c:331 -msgid "Add new cache entry" -msgstr "" - -#: ../utils/net_cache.c:332 -msgid "" -"net cache add <key string> <data string> <timeout>\n" -" Add new cache entry.\n" -" key string\tKey string to add cache data under.\n" -" data string\tData to store under given key.\n" -" timeout\tTimeout for cache data." -msgstr "" - -#: ../utils/net_cache.c:342 -msgid "Delete existing cache entry by key" -msgstr "" - -#: ../utils/net_cache.c:343 -msgid "" -"net cache del <key string>\n" -" Delete existing cache entry by key.\n" -" key string\tKey string to delete." -msgstr "" - -#: ../utils/net_cache.c:351 -msgid "Get cache entry by key" -msgstr "" - -#: ../utils/net_cache.c:352 -msgid "" -"net cache get <key string>\n" -" Get cache entry by key.\n" -" key string\tKey string to look up cache entry for." -msgstr "" - -#: ../utils/net_cache.c:361 -msgid "Search entry by pattern" -msgstr "" - -#: ../utils/net_cache.c:362 -msgid "" -"net cache search <pattern>\n" -" Search entry by pattern.\n" -" pattern\tPattern to search for in cache." -msgstr "" - -#: ../utils/net_cache.c:370 -msgid "List all cache entries" -msgstr "" - -#: ../utils/net_cache.c:371 -msgid "" -"net cache list\n" -" List all cache entries" -msgstr "" - -#: ../utils/net_cache.c:378 -#, fuzzy -msgid "Delete all cache entries" -msgstr "Supprimer Imprimante" - -#: ../utils/net_cache.c:379 -msgid "" -"net cache flush\n" -" Delete all cache entries" -msgstr "" - -#: ../utils/net_cache.c:386 -msgid "Move transient cache content to stable storage" -msgstr "" - -#: ../utils/net_cache.c:387 -msgid "" -"net cache stabilize\n" -" Move transient cache content to stable storage" -msgstr "" - -#: ../utils/net_conf.c:42 -msgid "USAGE: net conf list\n" -msgstr "" - -#: ../utils/net_conf.c:49 -msgid "" -"USAGE: net conf import [--test|-T] <filename> [<servicename>]\n" -"\t[--test|-T] testmode - do not act, just print what would be done\n" -"\t<servicename> only import service <servicename>, ignore the rest\n" -msgstr "" - -#: ../utils/net_conf.c:61 -msgid "USAGE: net conf listshares\n" -msgstr "" - -#: ../utils/net_conf.c:68 -msgid "USAGE: net conf drop\n" -msgstr "" - -#: ../utils/net_conf.c:75 -msgid "USAGE: net conf showshare <sharename>\n" -msgstr "" - -#: ../utils/net_conf.c:82 -msgid "" -"USAGE: net conf addshare <sharename> <path> [writeable={y|N} [guest_ok={y|N} [<comment>]]\n" -"\t<sharename> the new share name.\n" -"\t<path> the path on the filesystem to export.\n" -"\twriteable={y|N} set \"writeable to \"yes\" or \"no\" (default) on this share.\n" -"\tguest_ok={y|N} set \"guest ok\" to \"yes\" or \"no\" (default) on this share.\n" -"\t<comment> optional comment for the new share.\n" -msgstr "" - -#: ../utils/net_conf.c:97 -msgid "USAGE: net conf delshare <sharename>\n" -msgstr "" - -#: ../utils/net_conf.c:104 -msgid "USAGE: net conf setparm <section> <param> <value>\n" -msgstr "" - -#: ../utils/net_conf.c:111 -msgid "USAGE: net conf getparm <section> <param>\n" -msgstr "" - -#: ../utils/net_conf.c:118 -msgid "USAGE: net conf delparm <section> <param>\n" -msgstr "" - -#: ../utils/net_conf.c:125 -msgid "USAGE: net conf getincludes <section>\n" -msgstr "" - -#: ../utils/net_conf.c:132 -msgid "USAGE: net conf setincludes <section> [<filename>]*\n" -msgstr "" - -#: ../utils/net_conf.c:139 -msgid "USAGE: net conf delincludes <section>\n" -msgstr "" - -#: ../utils/net_conf.c:251 -#, c-format -msgid "Error getting config: %s\n" -msgstr "" - -#: ../utils/net_conf.c:305 ../utils/net_conf.c:318 ../utils/net_conf.c:614 ../utils/net_conf.c:742 ../utils/net_conf.c:780 ../utils/net_conf.c:786 ../utils/net_conf.c:860 ../utils/net_conf.c:866 ../utils/net_conf.c:916 ../utils/net_conf.c:970 -#: ../utils/net_conf.c:1010 ../utils/net_conf.c:1050 -msgid "error: out of memory!\n" -msgstr "" - -#: ../utils/net_conf.c:324 -#, c-format -msgid "error loading file '%s': %s\n" -msgstr "" - -#: ../utils/net_conf.c:330 -msgid "" -"\n" -"TEST MODE - would import the following configuration:\n" -"\n" -msgstr "" - -#: ../utils/net_conf.c:346 ../utils/net_conf.c:382 ../utils/net_conf.c:407 ../utils/net_conf.c:793 -#, c-format -msgid "error starting transaction: %s\n" -msgstr "" - -#: ../utils/net_conf.c:400 ../utils/net_conf.c:416 ../utils/net_conf.c:817 -#, c-format -msgid "error committing transaction: %s\n" -msgstr "" - -#: ../utils/net_conf.c:427 ../utils/net_conf.c:828 -#, c-format -msgid "error cancelling transaction: %s\n" -msgstr "" - -#: ../utils/net_conf.c:484 -#, c-format -msgid "Error deleting configuration: %s\n" -msgstr "" - -#: ../utils/net_conf.c:521 -#, c-format -msgid "error getting share parameters: %s\n" -msgstr "" - -#: ../utils/net_conf.c:630 -#, c-format -msgid "ERROR: share name %s contains invalid characters (any of %s)\n" -msgstr "" - -#: ../utils/net_conf.c:638 -msgid "ERROR: 'global' is not a valid share name.\n" -msgstr "" - -#: ../utils/net_conf.c:643 -#, c-format -msgid "ERROR: share %s already exists.\n" -msgstr "" - -#: ../utils/net_conf.c:652 -#, c-format -msgid "Error: path '%s' is not an absolute path.\n" -msgstr "" - -#: ../utils/net_conf.c:659 -#, c-format -msgid "" -"ERROR: cannot stat path '%s' to ensure this is a directory.\n" -"Error was '%s'.\n" -msgstr "" - -#: ../utils/net_conf.c:668 -#, c-format -msgid "ERROR: path '%s' is not a directory.\n" -msgstr "" - -#: ../utils/net_conf.c:679 -#, c-format -msgid "Error creating share %s: %s\n" -msgstr "" - -#: ../utils/net_conf.c:690 ../utils/net_conf.c:699 ../utils/net_conf.c:707 ../utils/net_conf.c:715 -#, c-format -msgid "Error setting parameter %s: %s\n" -msgstr "" - -#: ../utils/net_conf.c:748 -#, c-format -msgid "Error deleting share %s: %s\n" -msgstr "" - -#: ../utils/net_conf.c:801 -#, c-format -msgid "Error creating share '%s': %s\n" -msgstr "" - -#: ../utils/net_conf.c:810 -#, c-format -msgid "Error setting value '%s': %s\n" -msgstr "" - -#: ../utils/net_conf.c:874 ../utils/net_conf.c:930 -#, c-format -msgid "Error: given service '%s' does not exist.\n" -msgstr "" - -#: ../utils/net_conf.c:879 ../utils/net_conf.c:935 -#, c-format -msgid "Error: given parameter '%s' is not set.\n" -msgstr "" - -#: ../utils/net_conf.c:883 -#, c-format -msgid "Error getting value '%s': %s.\n" -msgstr "" - -#: ../utils/net_conf.c:939 -#, c-format -msgid "Error deleting value '%s': %s.\n" -msgstr "" - -#: ../utils/net_conf.c:977 -#, c-format -msgid "error getting includes: %s\n" -msgstr "" - -#: ../utils/net_conf.c:1023 -#, c-format -msgid "error setting includes: %s\n" -msgstr "" - -#: ../utils/net_conf.c:1056 -#, c-format -msgid "error deleting includes: %s\n" -msgstr "" - -#: ../utils/net_conf.c:1136 ../utils/net_help.c:36 -msgid "Usage:\n" -msgstr "" - -#: ../utils/net_conf.c:1160 -msgid "Dump the complete configuration in smb.conf like format." -msgstr "" - -#: ../utils/net_conf.c:1162 -msgid "" -"net conf list\n" -" Dump the complete configuration in smb.conf like format." -msgstr "" - -#: ../utils/net_conf.c:1171 -msgid "Import configuration from file in smb.conf format." -msgstr "" - -#: ../utils/net_conf.c:1173 -msgid "" -"net conf import\n" -" Import configuration from file in smb.conf format." -msgstr "" - -#: ../utils/net_conf.c:1181 -msgid "List the share names." -msgstr "" - -#: ../utils/net_conf.c:1182 -msgid "" -"net conf listshares\n" -" List the share names." -msgstr "" - -#: ../utils/net_conf.c:1189 -msgid "Delete the complete configuration." -msgstr "" - -#: ../utils/net_conf.c:1190 -msgid "" -"net conf drop\n" -" Delete the complete configuration." -msgstr "" - -#: ../utils/net_conf.c:1197 -msgid "Show the definition of a share." -msgstr "" - -#: ../utils/net_conf.c:1198 -msgid "" -"net conf showshare\n" -" Show the definition of a share." -msgstr "" - -#: ../utils/net_conf.c:1205 -#, fuzzy -msgid "Create a new share." -msgstr "Créer un partage" - -#: ../utils/net_conf.c:1206 -msgid "" -"net conf addshare\n" -" Create a new share." -msgstr "" - -#: ../utils/net_conf.c:1213 -#, fuzzy -msgid "Delete a share." -msgstr "Supprimer un partage" - -#: ../utils/net_conf.c:1214 -msgid "" -"net conf delshare\n" -" Delete a share." -msgstr "" - -#: ../utils/net_conf.c:1221 -#, fuzzy -msgid "Store a parameter." -msgstr "Paramètres de partage" - -#: ../utils/net_conf.c:1222 -msgid "" -"net conf setparm\n" -" Store a parameter." -msgstr "" - -#: ../utils/net_conf.c:1229 -msgid "Retrieve the value of a parameter." -msgstr "" - -#: ../utils/net_conf.c:1230 -msgid "" -"net conf getparm\n" -" Retrieve the value of a parameter." -msgstr "" - -#: ../utils/net_conf.c:1237 -#, fuzzy -msgid "Delete a parameter." -msgstr "Supprimer Imprimante" - -#: ../utils/net_conf.c:1238 -msgid "" -"net conf delparm\n" -" Delete a parameter." -msgstr "" - -#: ../utils/net_conf.c:1245 -msgid "Show the includes of a share definition." -msgstr "" - -#: ../utils/net_conf.c:1246 -msgid "" -"net conf getincludes\n" -" Show the includes of a share definition." -msgstr "" - -#: ../utils/net_conf.c:1253 -msgid "Set includes for a share." -msgstr "" - -#: ../utils/net_conf.c:1254 -msgid "" -"net conf setincludes\n" -" Set includes for a share." -msgstr "" - -#: ../utils/net_conf.c:1261 -msgid "Delete includes from a share definition." -msgstr "" - -#: ../utils/net_conf.c:1262 -msgid "" -"net conf setincludes\n" -" Delete includes from a share definition." -msgstr "" - -#: ../utils/net_dom.c:25 -msgid "" -"usage: net dom join <domain=DOMAIN> <ou=OU> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Join a remote machine\n" -msgstr "" - -#: ../utils/net_dom.c:28 -msgid "" -"usage: net dom unjoin <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Unjoin a remote machine\n" -msgstr "" - -#: ../utils/net_dom.c:31 -msgid "" -"usage: net dom renamecomputer <newname=NEWNAME> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Rename joined computer\n" -msgstr "" - -#: ../utils/net_dom.c:91 -#, c-format -msgid "Failed to unjoin domain: %s\n" -msgstr "" - -#: ../utils/net_dom.c:97 ../utils/net_dom.c:204 -msgid "Shutting down due to a domain membership change" -msgstr "" - -#: ../utils/net_dom.c:290 -#, c-format -msgid "Failed to rename machine: " -msgstr "" - -#: ../utils/net_dom.c:292 -#, c-format -msgid "Computer is not joined to a Domain\n" -msgstr "" - -#: ../utils/net_dom.c:301 -msgid "Shutting down due to a computer rename" -msgstr "" - -#: ../utils/net_dom.c:338 -#, fuzzy -msgid "Join a remote machine" -msgstr " Machine distante : " - -#: ../utils/net_dom.c:339 -msgid "" -"net dom join <domain=DOMAIN> <ou=OU> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Join a remote machine" -msgstr "" - -#: ../utils/net_dom.c:347 -#, fuzzy -msgid "Unjoin a remote machine" -msgstr " Machine distante : " - -#: ../utils/net_dom.c:348 -msgid "" -"net dom unjoin <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Unjoin a remote machine" -msgstr "" - -#: ../utils/net_dom.c:356 -msgid "Rename a computer that is joined to a domain" -msgstr "" - -#: ../utils/net_dom.c:357 -msgid "" -"net dom renamecomputer <newname=NEWNAME> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Rename joined computer" -msgstr "" - -#: ../utils/net_eventlog.c:46 -msgid "usage: net eventlog dump <file.evt>\n" -msgstr "" - -#: ../utils/net_eventlog.c:52 ../utils/net_eventlog.c:108 -#, c-format -msgid "failed to load evt file: %s\n" -msgstr "" - -#: ../utils/net_eventlog.c:59 ../utils/net_eventlog.c:129 -#, fuzzy, c-format -msgid "evt pull failed: %s\n" -msgstr "Gestion des mots de passe" - -#: ../utils/net_eventlog.c:102 -msgid "usage: net eventlog import <file> <eventlog>\n" -msgstr "" - -#: ../utils/net_eventlog.c:116 -#, fuzzy, c-format -msgid "evt header pull failed: %s\n" -msgstr "Gestion des mots de passe" - -#: ../utils/net_eventlog.c:122 -msgid "input file is wrapped, cannot proceed\n" -msgstr "" - -#: ../utils/net_eventlog.c:138 ../utils/net_eventlog.c:203 -#, c-format -msgid "can't open the eventlog TDB (%s)\n" -msgstr "" - -#: ../utils/net_eventlog.c:158 -#, c-format -msgid "can't write to the eventlog: %s\n" -msgstr "" - -#: ../utils/net_eventlog.c:164 -#, c-format -msgid "wrote %d entries to tdb\n" -msgstr "" - -#: ../utils/net_eventlog.c:197 -msgid "usage: net eventlog export <file> <eventlog>\n" -msgstr "" - -#: ../utils/net_eventlog.c:214 -#, c-format -msgid "failed to save evt file: %s\n" -msgstr "" - -#: ../utils/net_eventlog.c:243 -msgid "Dump eventlog" -msgstr "" - -#: ../utils/net_eventlog.c:244 -msgid "" -"net eventlog dump\n" -" Dump win32 *.evt eventlog file" -msgstr "" - -#: ../utils/net_eventlog.c:251 -#, fuzzy -msgid "Import eventlog" -msgstr "Note Importante:" - -#: ../utils/net_eventlog.c:252 -msgid "" -"net eventlog import\n" -" Import win32 *.evt eventlog file" -msgstr "" - -#: ../utils/net_eventlog.c:259 -msgid "Export eventlog" -msgstr "" - -#: ../utils/net_eventlog.c:260 -msgid "" -"net eventlog export\n" -" Export win32 *.evt eventlog file" -msgstr "" - -#: ../utils/net_file.c:27 -msgid "" -"net [<method>] file [misc. options] [targets]\n" -"\tlists all open files on file server\n" -msgstr "" - -#: ../utils/net_file.c:29 -msgid "" -"net [<method>] file USER <username> [misc. options] [targets]\n" -"\tlists all files opened by username on file server\n" -msgstr "" - -#: ../utils/net_file.c:32 -msgid "" -"net [<method>] file CLOSE <id> [misc. options] [targets]\n" -"\tcloses specified file on target server\n" -msgstr "" - -#: ../utils/net_file.c:34 -msgid "" -"net [rap] file INFO <id> [misc. options] [targets]\n" -"\tdisplays information about the specified open file\n" -msgstr "" - -#: ../utils/net_group.c:27 -msgid "" -"net [<method>] group [misc. options] [targets]\n" -"\tList user groups\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:29 -msgid "" -"net rpc group LIST [global|local|builtin]* [misc. options]\n" -"\tList specific user groups\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:31 -msgid "" -"net [<method>] group DELETE <name> [misc. options] [targets]\n" -"\tDelete specified group\n" -msgstr "" - -#: ../utils/net_group.c:34 -msgid "" -"\n" -"net [<method>] group ADD <name> [-C comment] [-c container] [misc. options] [targets]\n" -"\tCreate specified group\n" -msgstr "" - -#: ../utils/net_group.c:37 -msgid "" -"\n" -"net rpc group MEMBERS <name>\n" -"\tList Group Members\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:38 -msgid "" -"\n" -"net rpc group ADDMEM <group> <member>\n" -"\tAdd Group Members\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:40 -msgid "" -"\n" -"net rpc group DELMEM <group> <member>\n" -"\tDelete Group Members\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:44 -msgid "\t-C or --comment=<comment>\tdescriptive comment (for add only)\n" -msgstr "" - -#: ../utils/net_group.c:46 -msgid "\t-c or --container=<container>\tLDAP container, defaults to cn=Users (for add in ADS only)\n" -msgstr "" - -#: ../utils/net_group.c:48 -msgid "\t-L or --localgroup\t\tWhen adding groups, create a local group (alias)\n" -msgstr "" - -#: ../utils/net_groupmap.c:38 -#, c-format -msgid "NT Group %s doesn't exist in mapping DB\n" -msgstr "" - -#: ../utils/net_groupmap.c:46 -#, c-format -msgid "converting sid %s from a string failed!\n" -msgstr "" - -#: ../utils/net_groupmap.c:65 -#, c-format -msgid "\tSID : %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:66 -#, c-format -msgid "\tUnix gid : %u\n" -msgstr "" - -#: ../utils/net_groupmap.c:67 -#, c-format -msgid "\tUnix group: %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:68 -#, c-format -msgid "\tGroup type: %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:70 -#, c-format -msgid "\tComment : %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:84 -msgid "" -"net groupmap list [verbose] [ntgroup=NT group] [sid=SID]\n" -" verbose\tPrint verbose list\n" -" ntgroup\tNT group to list\n" -" sid\tSID of group to list" -msgstr "" - -#: ../utils/net_groupmap.c:91 ../utils/net_groupmap.c:271 ../utils/net_groupmap.c:356 ../utils/net_groupmap.c:412 ../utils/net_groupmap.c:495 ../utils/net_groupmap.c:522 -#, fuzzy, c-format -msgid "" -"Usage:\n" -"%s\n" -msgstr " Nom d'utilisateur : " - -#: ../utils/net_groupmap.c:106 ../utils/net_groupmap.c:213 ../utils/net_groupmap.c:220 ../utils/net_groupmap.c:365 ../utils/net_groupmap.c:372 ../utils/net_groupmap.c:504 -msgid "must supply a name\n" -msgstr "" - -#: ../utils/net_groupmap.c:113 ../utils/net_groupmap.c:227 ../utils/net_groupmap.c:511 -msgid "must supply a SID\n" -msgstr "" - -#: ../utils/net_groupmap.c:118 ../utils/net_groupmap.c:265 ../utils/net_groupmap.c:406 ../utils/net_groupmap.c:516 -#, fuzzy, c-format -msgid "Bad option: %s\n" -msgstr "Options de base" - -#: ../utils/net_groupmap.c:139 -msgid "Failure to local group SID in the database\n" -msgstr "" - -#: ../utils/net_groupmap.c:181 -msgid "net groupmap add {rid=<int>|sid=<string>} unixgroup=<string> [type=<domain|local|builtin>] [ntgroup=<string>] [comment=<string>]" -msgstr "" - -#: ../utils/net_groupmap.c:195 -#, fuzzy, c-format -msgid "" -"Usage\n" -"%s\n" -msgstr " Nom d'utilisateur : " - -#: ../utils/net_groupmap.c:205 -#, c-format -msgid "RID must be greater than %d\n" -msgstr "" - -#: ../utils/net_groupmap.c:235 ../utils/net_groupmap.c:380 -msgid "must supply a comment string\n" -msgstr "" - -#: ../utils/net_groupmap.c:259 -#, c-format -msgid "unknown group type %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:276 -#, c-format -msgid "Can't lookup UNIX group %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:282 -#, c-format -msgid "Unix group %s already mapped to SID %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:289 -msgid "No rid or sid specified, choosing a RID\n" -msgstr "" - -#: ../utils/net_groupmap.c:292 -msgid "Could not get new RID\n" -msgstr "" - -#: ../utils/net_groupmap.c:297 -#, c-format -msgid "Got RID %d\n" -msgstr "" - -#: ../utils/net_groupmap.c:328 -#, c-format -msgid "adding entry for group %s failed!\n" -msgstr "" - -#: ../utils/net_groupmap.c:332 -#, c-format -msgid "Successfully added group %s to the mapping db as a %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:349 -msgid "net groupmap modify {ntgroup=<string>|sid=<SID>} [comment=<string>] [unixgroup=<string>] [type=<domain|local>]" -msgstr "" - -#: ../utils/net_groupmap.c:388 -msgid "must supply a group name\n" -msgstr "" - -#: ../utils/net_groupmap.c:434 -msgid "Failed to find local group SID in the database\n" -msgstr "" - -#: ../utils/net_groupmap.c:443 -msgid "Can't map to an unknown group type.\n" -msgstr "" - -#: ../utils/net_groupmap.c:449 -msgid "You can only change between domain and local groups.\n" -msgstr "" - -#: ../utils/net_groupmap.c:466 -#, c-format -msgid "Unable to lookup UNIX group %s. Make sure the group exists.\n" -msgstr "" - -#: ../utils/net_groupmap.c:476 -msgid "Could not update group database\n" -msgstr "" - -#: ../utils/net_groupmap.c:480 -#, c-format -msgid "Updated mapping entry for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:491 -msgid "net groupmap delete {ntgroup=<string>|sid=<SID>}" -msgstr "" - -#: ../utils/net_groupmap.c:532 -#, c-format -msgid "Unable to resolve group %s to a SID\n" -msgstr "" - -#: ../utils/net_groupmap.c:539 -#, c-format -msgid "Failed to remove group %s from the mapping db!\n" -msgstr "" - -#: ../utils/net_groupmap.c:544 -#, c-format -msgid "Sucessfully removed %s from the mapping db\n" -msgstr "" - -#: ../utils/net_groupmap.c:557 -msgid "Usage: net groupmap set \"NT Group\" [\"unix group\"] [-C \"comment\"] [-L] [-D]\n" -msgstr "" - -#: ../utils/net_groupmap.c:563 -msgid "Can only specify -L or -D, not both\n" -msgstr "" - -#: ../utils/net_groupmap.c:573 -#, c-format -msgid "Could not find unix group %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:594 -#, c-format -msgid "Could not find group mapping for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:605 -msgid "Could not allocate new RID\n" -msgstr "" - -#: ../utils/net_groupmap.c:622 -#, c-format -msgid "Could not add mapping entry for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:633 -#, c-format -msgid "Can't change type of the BUILTIN group %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:660 -#, c-format -msgid "Could not update group mapping for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:674 -msgid "" -"Usage:\n" -"net groupmap cleanup\n" -" Delete all group mappings\n" -msgstr "" - -#: ../utils/net_groupmap.c:682 -msgid "Could not list group mappings\n" -msgstr "" - -#: ../utils/net_groupmap.c:689 -#, c-format -msgid "Group %s is not mapped\n" -msgstr "" - -#: ../utils/net_groupmap.c:692 -#, c-format -msgid "Deleting mapping for NT Group %s, sid %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:712 -msgid "Usage: net groupmap addmem alias-sid member-sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:717 -#, c-format -msgid "Could not add sid %s to alias %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:733 -msgid "Usage: net groupmap delmem alias-sid member-sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:738 -#, c-format -msgid "Could not delete sid %s from alias %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:755 -msgid "Usage: net groupmap listmem alias-sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:764 -#, c-format -msgid "Could not list members for sid %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:791 -#, c-format -msgid "Could not list memberships for sid %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:814 -msgid "Usage: net groupmap memberof sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:820 ../utils/net_idmap.c:345 -msgid "talloc_init failed\n" -msgstr "" - -#: ../utils/net_groupmap.c:827 -msgid "Could not get domain sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:850 -msgid "Create a new group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:851 -msgid "" -"net groupmap add\n" -" Create a new group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:858 -msgid "Update a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:859 -msgid "" -"net groupmap modify\n" -" Modify an existing group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:866 -msgid "Remove a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:867 -msgid "" -"net groupmap delete\n" -" Remove a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:874 -msgid "Set group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:875 -msgid "" -"net groupmap set\n" -" Set a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:882 -msgid "Remove foreign group mapping entries" -msgstr "" - -#: ../utils/net_groupmap.c:883 -msgid "" -"net groupmap cleanup\n" -" Remove foreign group mapping entries" -msgstr "" - -#: ../utils/net_groupmap.c:890 -msgid "Add a foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:891 -msgid "" -"net groupmap addmem\n" -" Add a foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:898 -msgid "Delete foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:899 -msgid "" -"net groupmap delmem\n" -" Delete foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:906 -msgid "List foreign group members" -msgstr "" - -#: ../utils/net_groupmap.c:907 -msgid "" -"net groupmap listmem\n" -" List foreign alias members" -msgstr "" - -#: ../utils/net_groupmap.c:914 -msgid "List foreign group memberships" -msgstr "" - -#: ../utils/net_groupmap.c:915 -msgid "" -"net groupmap memberships\n" -" List foreign group memberships" -msgstr "" - -#: ../utils/net_groupmap.c:922 -msgid "List current group map" -msgstr "" - -#: ../utils/net_groupmap.c:923 -msgid "" -"net groupmap list\n" -" List current group map" -msgstr "" - -#: ../utils/net_help.c:39 -#, c-format -msgid "net %s usage:\n" -msgstr "" - -#: ../utils/net_help_common.c:25 ../utils/net_join.c:28 -msgid "Valid methods: (auto-detected if not specified)\n" -msgstr "" - -#: ../utils/net_help_common.c:26 ../utils/net_join.c:29 -msgid "\tads\t\t\t\tActive Directory (LDAP/Kerberos)\n" -msgstr "" - -#: ../utils/net_help_common.c:27 ../utils/net_join.c:30 -msgid "\trpc\t\t\t\tDCE-RPC\n" -msgstr "" - -#: ../utils/net_help_common.c:28 -msgid "\trap\t\t\t\tRAP (older systems)\n" -msgstr "" - -#: ../utils/net_help_common.c:35 -msgid "Valid targets: choose one (none defaults to localhost)\n" -msgstr "" - -#: ../utils/net_help_common.c:36 -msgid "\t-S or --server=<server>\t\tserver name\n" -msgstr "" - -#: ../utils/net_help_common.c:37 -msgid "\t-I or --ipaddress=<ipaddr>\taddress of target server\n" -msgstr "" - -#: ../utils/net_help_common.c:38 -msgid "\t-w or --workgroup=<wg>\t\ttarget workgroup or domain\n" -msgstr "" - -#: ../utils/net_help_common.c:41 -#, fuzzy -msgid "Valid miscellaneous options are:\n" -msgstr "Options Diverses" - -#. misc options -#: ../utils/net_help_common.c:42 -msgid "\t-p or --port=<port>\t\tconnection port on target\n" -msgstr "" - -#: ../utils/net_help_common.c:43 -msgid "\t-W or --myworkgroup=<wg>\tclient workgroup\n" -msgstr "" - -#: ../utils/net_help_common.c:44 -msgid "\t-d or --debuglevel=<level>\tdebug level (0-10)\n" -msgstr "" - -#: ../utils/net_help_common.c:45 -msgid "\t-n or --myname=<name>\t\tclient name\n" -msgstr "" - -#: ../utils/net_help_common.c:46 -msgid "\t-U or --user=<name>\t\tuser name\n" -msgstr "" - -#: ../utils/net_help_common.c:47 -msgid "\t-s or --configfile=<path>\tpathname of smb.conf file\n" -msgstr "" - -#: ../utils/net_help_common.c:48 -msgid "\t-l or --long\t\t\tDisplay full information\n" -msgstr "" - -#: ../utils/net_help_common.c:49 -msgid "\t-V or --version\t\t\tPrint samba version information\n" -msgstr "" - -#: ../utils/net_help_common.c:50 -msgid "\t-P or --machine-pass\t\tAuthenticate as machine account\n" -msgstr "" - -#: ../utils/net_help_common.c:52 -msgid "\t-e or --encrypt\t\t\tEncrypt SMB transport (UNIX extended servers only)\n" -msgstr "" - -#: ../utils/net_help_common.c:54 -msgid "\t-k or --kerberos\t\tUse kerberos (active directory) authentication\n" -msgstr "" - -#: ../utils/net_idmap.c:25 -msgid "Out of memory!\n" -msgstr "" - -#: ../utils/net_idmap.c:39 -#, c-format -msgid "USER HWM %d\n" -msgstr "" - -#: ../utils/net_idmap.c:44 -#, c-format -msgid "GROUP HWM %d\n" -msgstr "" - -#: ../utils/net_idmap.c:63 -msgid "" -"Usage:\n" -"net idmap dump <inputfile>\n" -" Dump current ID mapping.\n" -" inputfile\tTDB file to read mappings from.\n" -msgstr "" - -#: ../utils/net_idmap.c:73 -#, c-format -msgid "Could not open idmap: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:94 -msgid "" -"Usage:\n" -"net idmap restore [inputfile]\n" -" Restore ID mappings from file\n" -" inputfile\tFile to load ID mappings from. If not given, load data from stdin.\n" -msgstr "" - -#: ../utils/net_idmap.c:104 -msgid "To use net idmap Winbindd must be running.\n" -msgstr "" - -#: ../utils/net_idmap.c:142 -#, c-format -msgid "Could not set USER HWM: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:151 -#, c-format -msgid "Could not set GROUP HWM: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:156 -#, c-format -msgid "ignoring invalid line [%s]\n" -msgstr "" - -#: ../utils/net_idmap.c:163 -#, c-format -msgid "ignoring invalid sid [%s]: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:175 -#, c-format -msgid "Could not set mapping of %s %lu to sid %s: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:196 ../utils/net_idmap.c:202 -msgid "Not Implemented yet\n" -msgstr "" - -#: ../utils/net_idmap.c:240 -msgid "" -"Usage:\n" -"net idmap secret {<DOMAIN>|alloc} <secret>\n" -" Set the secret for the specified domain (or alloc module)\n" -" DOMAIN\tDomain to set secret for.\n" -" alloc\tSet secret for the alloc module\n" -" secret\tNew secret to set.\n" -msgstr "" - -#: ../utils/net_idmap.c:271 -msgid "The only currently supported backend is LDAP\n" -msgstr "" - -#: ../utils/net_idmap.c:281 -#, c-format -msgid "Missing ldap_user_dn option for domain %s\n" -msgstr "" - -#: ../utils/net_idmap.c:292 -msgid "Missing ldap_user_dn option for alloc backend\n" -msgstr "" - -#: ../utils/net_idmap.c:302 -msgid "Failed to store secret\n" -msgstr "" - -#: ../utils/net_idmap.c:307 -msgid "Secret stored\n" -msgstr "" - -#: ../utils/net_idmap.c:313 -msgid "" -"net idmap dump <inputfile>\n" -" Dump current id mapping\n" -msgstr "" - -#: ../utils/net_idmap.c:316 -msgid "" -"net idmap restore\n" -" Restore entries from stdin\n" -msgstr "" - -#. Deliberately *not* document net idmap delete -#: ../utils/net_idmap.c:321 -msgid "" -"net idmap secret <DOMAIN>|alloc <secret>\n" -" Set the secret for the specified DOMAIN (or the alloc module)\n" -msgstr "" - -#: ../utils/net_idmap.c:339 -msgid "usage: net idmap aclmapset <tdb> <src-sid> <dst-sid>\n" -msgstr "" - -#: ../utils/net_idmap.c:351 -#, fuzzy, c-format -msgid "db_open failed: %s\n" -msgstr "Gestion des mots de passe" - -#: ../utils/net_idmap.c:356 ../utils/net_idmap.c:361 -#, c-format -msgid "%s is not a valid sid\n" -msgstr "" - -#: ../utils/net_idmap.c:367 -msgid "talloc_strdup failed\n" -msgstr "" - -#: ../utils/net_idmap.c:373 -msgid "could not fetch db record\n" -msgstr "" - -#: ../utils/net_idmap.c:381 -#, c-format -msgid "could not store record: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:402 -msgid "Dump the current ID mappings" -msgstr "" - -#: ../utils/net_idmap.c:403 -msgid "" -"net idmap dump\n" -" Dump the current ID mappings" -msgstr "" - -#: ../utils/net_idmap.c:410 -msgid "Restore entries from stdin" -msgstr "" - -#: ../utils/net_idmap.c:411 -msgid "" -"net idmap restore\n" -" Restore entries from stdin" -msgstr "" - -#: ../utils/net_idmap.c:418 ../utils/net_idmap.c:426 -msgid "Not implemented yet" -msgstr "" - -#: ../utils/net_idmap.c:419 -msgid "" -"net idmap setmap\n" -" Not implemented yet" -msgstr "" - -#: ../utils/net_idmap.c:427 -msgid "" -"net idmap delete\n" -" Not implemented yet" -msgstr "" - -#: ../utils/net_idmap.c:434 -msgid "Set secret for specified domain" -msgstr "" - -#: ../utils/net_idmap.c:435 -msgid "" -"net idmap secret {<DOMAIN>|alloc} <secret>\n" -" Set secret for specified domain or alloc module" -msgstr "" - -#: ../utils/net_idmap.c:442 -msgid "Set acl map" -msgstr "" - -#: ../utils/net_idmap.c:443 -msgid "" -"net idmap aclmapset\n" -" Set acl map" -msgstr "" - -#: ../utils/net_join.c:26 -msgid "" -"\n" -"net [<method>] join [misc. options]\n" -"\tjoins this server to a domain\n" -msgstr "" - -#: ../utils/net_join.c:47 -msgid "ADS join did not work, falling back to RPC...\n" -msgstr "" - -#: ../utils/net_lookup.c:25 -msgid "" -" net lookup [host] HOSTNAME[#<type>]\n" -"\tgives IP for a hostname\n" -"\n" -" net lookup ldap [domain]\n" -"\tgives IP of domain's ldap server\n" -"\n" -" net lookup kdc [realm]\n" -"\tgives IP of realm's kerberos KDC\n" -"\n" -" net lookup pdc [domain|realm]\n" -"\tgives IP of realm's kerberos KDC\n" -"\n" -" net lookup dc [domain]\n" -"\tgives IP of domains Domain Controllers\n" -"\n" -" net lookup master [domain|wg]\n" -"\tgive IP of master browser\n" -"\n" -" net lookup name [name]\n" -"\tLookup name's sid and type\n" -"\n" -" net lookup sid [sid]\n" -"\tGive sid's name and type\n" -"\n" -" net lookup dsgetdcname [name] [flags] [sitename]\n" -"\n" -msgstr "" - -#: ../utils/net_lookup.c:112 -msgid "net_lookup_ldap: talloc_init() failed!\n" -msgstr "" - -#: ../utils/net_lookup.c:325 -msgid "usage: net lookup name <name>\n" -msgstr "" - -#: ../utils/net_lookup.c:331 ../utils/net_lookup.c:358 -#, c-format -msgid "Could not lookup name %s\n" -msgstr "" - -#: ../utils/net_lookup.c:347 -msgid "usage: net lookup sid <sid>\n" -msgstr "" - -#: ../utils/net_lookup.c:352 -#, c-format -msgid "Could not convert %s to SID\n" -msgstr "" - -#: ../utils/net_lookup.c:378 -msgid "usage: net lookup dsgetdcname <name> <flags> <sitename>\n" -msgstr "" - -#: ../utils/net_lookup.c:404 -#, c-format -msgid "failed with: %s\n" -msgstr "" - -#: ../utils/net_lookup.c:437 -msgid "" -"\n" -"Usage: \n" -msgstr "" - -#: ../utils/net_lua.c:60 -msgid "connect: Expected IP-Address" -msgstr "" - -#: ../utils/net_lua.c:65 -msgid "connect: Expected port" -msgstr "" - -#: ../utils/net_lua.c:84 -#, fuzzy, c-format -msgid "connect failed: %s" -msgstr "Gestion des mots de passe" - -#: ../utils/net_lua.c:132 -#, c-format -msgid "socket domain %s unknown" -msgstr "" - -#: ../utils/net_lua.c:144 -#, c-format -msgid "socket type %s unknown" -msgstr "" - -#: ../utils/net_lua.c:155 -#, fuzzy, c-format -msgid "socket() failed: %s" -msgstr "Gestion des mots de passe" - -#: ../utils/net_lua.c:278 -msgid "evt_reference_thread failed\n" -msgstr "" - -#: ../utils/net_lua.c:287 -msgid "event_add_timed failed" -msgstr "" - -#: ../utils/net_lua.c:300 -msgid "event_once called from non-base thread" -msgstr "" - -#: ../utils/net_lua.c:323 -msgid "event_context_init failed" -msgstr "" - -#: ../utils/net_lua.c:353 -msgid "lua_newstate failed\n" -msgstr "" - -#: ../utils/net_lua.c:371 -msgid "luaL_dofile returned an error\n" -msgstr "" - -#: ../utils/net_lua.c:376 -msgid "luaL_dostring returned an error\n" -msgstr "" diff --git a/source3/po/genmsg b/source3/po/genmsg index 3dfc7e05c7..9e9b53b3c8 100755 --- a/source3/po/genmsg +++ b/source3/po/genmsg @@ -15,23 +15,8 @@ # You should have received a copy of the GNU General Public License # along with this program; if not, see <http://www.gnu.org/licenses/>. # -add_basedir_to_filelist() { - BASEDIR="$1" - shift; - FILELIST="$@" - FULL_LIST="" - for file in ${FILELIST}; do - FULL_LIST="${FULL_LIST} $BASEDIR/${file}" - done - echo ${FULL_LIST} -} -NET_FILES=`add_basedir_to_filelist ../utils net.c net_ads.c net_ads_gpo.c \ - net_afs.c net_cache.c net_conf.c net_dom.c net_eventlog.c \ - net_file.c net_group.c net_groupmap.c net_help.c net_help_common.c \ - net_idmap.c net_join.c net_lookup.c net_lua.c` - -FILES="../web/swat.c ../web/statuspage.c ../param/loadparm.c ${NET_FILES}" +FILES='../web/swat.c ../web/statuspage.c ../param/loadparm.c' LANGS='en ja tr pl fr de it ru' XGETTEXT=xgettext diff --git a/source3/po/it.msg b/source3/po/it.msg index e157732fb6..90c3ed5672 100644 --- a/source3/po/it.msg +++ b/source3/po/it.msg @@ -17,8 +17,7 @@ msgid "" msgstr "" "Project-Id-Version: i18n_swat \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-07-30 12:18+0200\n" +"POT-Creation-Date: 2003-10-06 05:30+0900\n" "PO-Revision-Date: 2000-02-08 14:45+0100\n" "Last-Translator: Simo Sorce <idra@samba.org>\n" "Language-Team: (Samba Team) <samba-technical@samba.org>\n" @@ -26,4013 +25,568 @@ msgstr "" "Content-Type: text/plain; charset=utf-8\n" "Content-Transfer-Encoding: \n" -#: ../web/swat.c:153 +#: ../web/swat.c:117 #, c-format msgid "ERROR: Can't open %s" msgstr "" -#: ../web/swat.c:241 +#: ../web/swat.c:200 msgid "Help" msgstr "Aiuto" -#: ../web/swat.c:247 ../web/swat.c:272 ../web/swat.c:293 ../web/swat.c:302 ../web/swat.c:311 ../web/swat.c:317 ../web/swat.c:329 ../web/swat.c:343 +#: ../web/swat.c:206 ../web/swat.c:220 ../web/swat.c:235 ../web/swat.c:243 ../web/swat.c:252 ../web/swat.c:261 ../web/swat.c:267 ../web/swat.c:273 ../web/swat.c:286 msgid "Set Default" msgstr "Imposta Default" -#: ../web/swat.c:465 +#: ../web/swat.c:408 #, c-format msgid "failed to open %s for writing" msgstr "" -#: ../web/swat.c:488 +#: ../web/swat.c:431 #, c-format msgid "Can't reload %s" msgstr "" -#: ../web/swat.c:561 +#: ../web/swat.c:501 #, c-format msgid "Logged in as <b>%s</b>" msgstr "Connesso come <b>%s</b><p>\n" -#: ../web/swat.c:565 +#: ../web/swat.c:505 msgid "Home" msgstr "Home" -#: ../web/swat.c:567 +#: ../web/swat.c:507 msgid "Globals" msgstr "Globali" -#: ../web/swat.c:568 +#: ../web/swat.c:508 msgid "Shares" msgstr "Condivisioni" -#: ../web/swat.c:569 +#: ../web/swat.c:509 msgid "Printers" msgstr "Stampanti" -#: ../web/swat.c:570 +#: ../web/swat.c:510 msgid "Wizard" msgstr "" -#: ../web/swat.c:574 +#: ../web/swat.c:513 msgid "Status" msgstr "Stato" -#: ../web/swat.c:575 +#: ../web/swat.c:514 msgid "View Config" msgstr "Visualizza Configurazione" -#: ../web/swat.c:577 +#: ../web/swat.c:516 msgid "Password Management" msgstr "Gestione Password" -#: ../web/swat.c:587 +#: ../web/swat.c:526 msgid "Current View Is" msgstr "Configurazione Attuale" -#: ../web/swat.c:588 ../web/swat.c:591 +#: ../web/swat.c:527 ../web/swat.c:530 msgid "Basic" msgstr "Vista Semplice" -#: ../web/swat.c:589 ../web/swat.c:592 +#: ../web/swat.c:528 ../web/swat.c:531 msgid "Advanced" msgstr "Vista Avanzata" -#: ../web/swat.c:590 +#: ../web/swat.c:529 msgid "Change View To" msgstr "Cambia Password" -#: ../web/swat.c:619 +#: ../web/swat.c:554 msgid "Current Config" msgstr "Configurazione Attuale" -#: ../web/swat.c:623 +#: ../web/swat.c:558 msgid "Normal View" msgstr "Vista Normale" -#: ../web/swat.c:625 +#: ../web/swat.c:560 msgid "Full View" msgstr "Vista Completa" #. Here we first set and commit all the parameters that were selected #. in the previous screen. -#: ../web/swat.c:644 +#: ../web/swat.c:579 msgid "Wizard Parameter Edit Page" msgstr "" -#: ../web/swat.c:673 +#: ../web/swat.c:608 msgid "Note: smb.conf file has been read and rewritten" msgstr "" #. Here we go ... -#: ../web/swat.c:779 +#: ../web/swat.c:716 msgid "Samba Configuration Wizard" msgstr "" -#: ../web/swat.c:783 +#: ../web/swat.c:720 msgid "The \"Rewrite smb.conf file\" button will clear the smb.conf file of all default values and of comments." msgstr "" -#: ../web/swat.c:784 +#: ../web/swat.c:721 msgid "The same will happen if you press the commit button." msgstr "" -#: ../web/swat.c:787 +#: ../web/swat.c:724 msgid "Rewrite smb.conf file" msgstr "" -#: ../web/swat.c:788 +#: ../web/swat.c:725 msgid "Commit" msgstr "commento" -#: ../web/swat.c:789 +#: ../web/swat.c:726 msgid "Edit Parameter Values" msgstr "Parametri Stampante" -#: ../web/swat.c:795 +#: ../web/swat.c:732 msgid "Server Type" msgstr "" -#: ../web/swat.c:796 +#: ../web/swat.c:733 msgid "Stand Alone" msgstr "" -#: ../web/swat.c:797 +#: ../web/swat.c:734 msgid "Domain Member" msgstr "master dominio" -#: ../web/swat.c:798 +#: ../web/swat.c:735 msgid "Domain Controller" msgstr "master dominio" -#: ../web/swat.c:801 +#: ../web/swat.c:738 msgid "Unusual Type in smb.conf - Please Select New Mode" msgstr "" -#: ../web/swat.c:803 +#: ../web/swat.c:740 msgid "Configure WINS As" msgstr "" -#: ../web/swat.c:804 +#: ../web/swat.c:741 msgid "Not Used" msgstr "non discendere" -#: ../web/swat.c:805 +#: ../web/swat.c:742 msgid "Server for client use" msgstr "" -#: ../web/swat.c:806 +#: ../web/swat.c:743 msgid "Client of another WINS server" msgstr "" -#: ../web/swat.c:808 +#: ../web/swat.c:745 msgid "Remote WINS Server" msgstr "" -#: ../web/swat.c:819 +#: ../web/swat.c:756 msgid "Error: WINS Server Mode and WINS Support both set in smb.conf" msgstr "" -#: ../web/swat.c:820 +#: ../web/swat.c:757 msgid "Please Select desired WINS mode above." msgstr "" -#: ../web/swat.c:822 +#: ../web/swat.c:759 msgid "Expose Home Directories" msgstr "" -#: ../web/swat.c:837 +#: ../web/swat.c:774 msgid "The above configuration options will set multiple parameters and will generally assist with rapid Samba deployment." msgstr "" -#: ../web/swat.c:850 +#: ../web/swat.c:787 msgid "Global Parameters" msgstr "Variabili Globali" -#: ../web/swat.c:878 ../web/swat.c:986 ../web/swat.c:1344 +#: ../web/swat.c:815 ../web/swat.c:916 ../web/swat.c:1265 msgid "Commit Changes" msgstr "Salva Modifiche" -#: ../web/swat.c:882 ../web/swat.c:989 ../web/swat.c:1346 +#: ../web/swat.c:819 ../web/swat.c:919 ../web/swat.c:1267 msgid "Reset Values" msgstr "Resetta Valori" -#: ../web/swat.c:908 +#: ../web/swat.c:844 msgid "Share Parameters" msgstr "Parametri Condivisioni" -#: ../web/swat.c:955 +#: ../web/swat.c:887 msgid "Choose Share" msgstr "Scegli Condivisione" -#: ../web/swat.c:971 +#: ../web/swat.c:901 msgid "Delete Share" msgstr "Cancella Condivisione" -#: ../web/swat.c:978 +#: ../web/swat.c:908 msgid "Create Share" msgstr "Crea Condivisione" -#: ../web/swat.c:1014 +#: ../web/swat.c:944 msgid "password change in demo mode rejected" msgstr "cambio password in modalita' demo rigettata" -#: ../web/swat.c:1028 +#: ../web/swat.c:957 msgid "Can't setup password database vectors." msgstr "" -#: ../web/swat.c:1056 +#: ../web/swat.c:983 msgid " Must specify \"User Name\" " msgstr " \"Nome Utente\" deve essere specificato " -#: ../web/swat.c:1072 +#: ../web/swat.c:999 msgid " Must specify \"Old Password\" " msgstr " \"Vecchia Password\" deve essere specificato " -#: ../web/swat.c:1078 +#: ../web/swat.c:1005 msgid " Must specify \"Remote Machine\" " msgstr " \"Macchina Remota\" deve essere specificato " -#: ../web/swat.c:1085 +#: ../web/swat.c:1012 msgid " Must specify \"New, and Re-typed Passwords\" " msgstr " \"Nuova/Conferma Password\" devono essere specificati " -#: ../web/swat.c:1091 +#: ../web/swat.c:1018 msgid " Re-typed password didn't match new password " msgstr " la password di conferma non e' uguale alla nuova password " -#: ../web/swat.c:1124 +#: ../web/swat.c:1048 #, c-format msgid " The passwd for '%s' has been changed." msgstr " La password per '%s' e' stata cambiata." -#: ../web/swat.c:1127 +#: ../web/swat.c:1051 #, c-format msgid " The passwd for '%s' has NOT been changed." msgstr " La password per '%s' non e' stata cambianta." -#: ../web/swat.c:1152 +#: ../web/swat.c:1076 msgid "Server Password Management" msgstr "Gestione Password del Server" #. #. * Create all the dialog boxes for data collection #. -#: ../web/swat.c:1161 ../web/swat.c:1208 +#: ../web/swat.c:1085 ../web/swat.c:1132 msgid "User Name" msgstr " Nome Utente" -#: ../web/swat.c:1164 ../web/swat.c:1210 +#: ../web/swat.c:1088 ../web/swat.c:1134 msgid "Old Password" msgstr " Vecchia Password" -#: ../web/swat.c:1167 ../web/swat.c:1212 +#: ../web/swat.c:1091 ../web/swat.c:1136 msgid "New Password" msgstr " Nuova Password" -#: ../web/swat.c:1169 ../web/swat.c:1214 +#: ../web/swat.c:1093 ../web/swat.c:1138 msgid "Re-type New Password" msgstr " Conferma nuova Password" -#: ../web/swat.c:1177 ../web/swat.c:1225 +#: ../web/swat.c:1101 ../web/swat.c:1149 msgid "Change Password" msgstr "Cambia Password" -#: ../web/swat.c:1180 +#: ../web/swat.c:1104 msgid "Add New User" msgstr "Aggiungi Nuovo Utente" -#: ../web/swat.c:1182 +#: ../web/swat.c:1106 msgid "Delete User" msgstr "Cancella Utente" -#: ../web/swat.c:1184 +#: ../web/swat.c:1108 msgid "Disable User" msgstr "Disabilita Utente" -#: ../web/swat.c:1186 +#: ../web/swat.c:1110 msgid "Enable User" msgstr "Abilita Utente" -#: ../web/swat.c:1199 +#: ../web/swat.c:1123 msgid "Client/Server Password Management" msgstr "Gestione Password Client/Server" -#: ../web/swat.c:1216 +#: ../web/swat.c:1140 msgid "Remote Machine" msgstr " Macchina Remota" -#: ../web/swat.c:1255 +#: ../web/swat.c:1179 msgid "Printer Parameters" msgstr "Parametri Stampante" -#: ../web/swat.c:1257 +#: ../web/swat.c:1181 msgid "Important Note:" msgstr "Nota Importante:" -#: ../web/swat.c:1258 +#: ../web/swat.c:1182 msgid "Printer names marked with [*] in the Choose Printer drop-down box " msgstr "nomi di stampante marcati con [*] nel riquadro a scomparsa Scegli Stampante" -#: ../web/swat.c:1259 +#: ../web/swat.c:1183 msgid "are autoloaded printers from " msgstr "sono stampanti caricate automaticamente da " -#: ../web/swat.c:1260 +#: ../web/swat.c:1184 msgid "Printcap Name" msgstr "Nome Printcap" -#: ../web/swat.c:1261 +#: ../web/swat.c:1185 msgid "Attempting to delete these printers from SWAT will have no effect." msgstr "Il tentativo di cancellare queste stampanti da sWAT non avara' effetto.\n" -#: ../web/swat.c:1310 +#: ../web/swat.c:1231 msgid "Choose Printer" msgstr "Scegli Stampante" -#: ../web/swat.c:1329 +#: ../web/swat.c:1250 msgid "Delete Printer" msgstr "Cancella Stampante" -#: ../web/swat.c:1336 +#: ../web/swat.c:1257 msgid "Create Printer" msgstr "Crea Stampante" -#: ../web/statuspage.c:151 -msgid "RDWR " +#: ../web/statuspage.c:123 +msgid "RDONLY " msgstr "" -#: ../web/statuspage.c:153 +#: ../web/statuspage.c:124 msgid "WRONLY " msgstr "" -#: ../web/statuspage.c:155 -msgid "RDONLY " +#: ../web/statuspage.c:125 +msgid "RDWR " msgstr "" -#: ../web/statuspage.c:329 +#: ../web/statuspage.c:309 msgid "Server Status" msgstr "Stato del Server" -#: ../web/statuspage.c:334 +#: ../web/statuspage.c:314 msgid "Auto Refresh" msgstr "Rinfresco Automatico" -#: ../web/statuspage.c:335 ../web/statuspage.c:340 +#: ../web/statuspage.c:315 ../web/statuspage.c:320 msgid "Refresh Interval: " msgstr "Intervallo Rinfresco: " -#: ../web/statuspage.c:339 +#: ../web/statuspage.c:319 msgid "Stop Refreshing" msgstr "Ferma Rinfresco" -#: ../web/statuspage.c:348 +#: ../web/statuspage.c:334 msgid "version:" msgstr "versione:" -#: ../web/statuspage.c:351 +#: ../web/statuspage.c:337 msgid "smbd:" msgstr "" -#: ../web/statuspage.c:351 ../web/statuspage.c:364 ../web/statuspage.c:378 +#: ../web/statuspage.c:337 ../web/statuspage.c:350 ../web/statuspage.c:364 msgid "running" msgstr "attivo" -#: ../web/statuspage.c:351 ../web/statuspage.c:364 ../web/statuspage.c:378 +#: ../web/statuspage.c:337 ../web/statuspage.c:350 ../web/statuspage.c:364 msgid "not running" msgstr "non attivo" -#: ../web/statuspage.c:355 +#: ../web/statuspage.c:341 msgid "Stop smbd" msgstr "Ferma smbd" -#: ../web/statuspage.c:357 +#: ../web/statuspage.c:343 msgid "Start smbd" msgstr "Lancia smbd" -#: ../web/statuspage.c:359 +#: ../web/statuspage.c:345 msgid "Restart smbd" msgstr "Rilancia smbd" -#: ../web/statuspage.c:364 +#: ../web/statuspage.c:350 msgid "nmbd:" msgstr "" -#: ../web/statuspage.c:368 +#: ../web/statuspage.c:354 msgid "Stop nmbd" msgstr "Ferma nmbd" -#: ../web/statuspage.c:370 +#: ../web/statuspage.c:356 msgid "Start nmbd" msgstr "Lancia nmbd" -#: ../web/statuspage.c:372 +#: ../web/statuspage.c:358 msgid "Restart nmbd" msgstr "Rilancia nmbd" -#: ../web/statuspage.c:378 +#: ../web/statuspage.c:364 msgid "winbindd:" msgstr "" -#: ../web/statuspage.c:382 +#: ../web/statuspage.c:368 msgid "Stop winbindd" msgstr "Ferma nmbd" -#: ../web/statuspage.c:384 +#: ../web/statuspage.c:370 msgid "Start winbindd" msgstr "Lancia nmbd" -#: ../web/statuspage.c:386 +#: ../web/statuspage.c:372 msgid "Restart winbindd" msgstr "Rilancia nmbd" #. stop, restart all -#: ../web/statuspage.c:395 +#: ../web/statuspage.c:381 msgid "Stop All" msgstr "" -#: ../web/statuspage.c:396 +#: ../web/statuspage.c:382 msgid "Restart All" msgstr "Rilancia nmbd" #. start all -#: ../web/statuspage.c:400 +#: ../web/statuspage.c:386 msgid "Start All" msgstr "Lancia nmbd" -#: ../web/statuspage.c:407 +#: ../web/statuspage.c:393 msgid "Active Connections" msgstr "Connessioni Attive" -#: ../web/statuspage.c:409 ../web/statuspage.c:422 ../web/statuspage.c:431 +#: ../web/statuspage.c:395 ../web/statuspage.c:408 ../web/statuspage.c:416 msgid "PID" msgstr "" -#: ../web/statuspage.c:409 ../web/statuspage.c:422 +#: ../web/statuspage.c:395 ../web/statuspage.c:408 msgid "Client" msgstr "" -#: ../web/statuspage.c:409 +#: ../web/statuspage.c:395 msgid "IP address" msgstr "indirizzo IP" -#: ../web/statuspage.c:409 ../web/statuspage.c:422 ../web/statuspage.c:431 +#: ../web/statuspage.c:395 ../web/statuspage.c:408 ../web/statuspage.c:416 msgid "Date" msgstr "Data" -#: ../web/statuspage.c:411 +#: ../web/statuspage.c:397 msgid "Kill" msgstr "Termina" -#: ../web/statuspage.c:419 +#: ../web/statuspage.c:405 msgid "Active Shares" msgstr "Condivisioni Attive" -#: ../web/statuspage.c:422 +#: ../web/statuspage.c:408 msgid "Share" msgstr "Condivisione" -#: ../web/statuspage.c:422 +#: ../web/statuspage.c:408 msgid "User" msgstr "Utente" -#: ../web/statuspage.c:422 +#: ../web/statuspage.c:408 msgid "Group" msgstr "Gruppo" -#: ../web/statuspage.c:428 +#: ../web/statuspage.c:414 msgid "Open Files" msgstr "File Aperti" -#: ../web/statuspage.c:431 -msgid "UID" -msgstr "" - -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:416 msgid "Sharing" msgstr "" -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:416 msgid "R/W" msgstr "" -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:416 msgid "Oplock" msgstr "" -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:416 msgid "File" msgstr "" -#: ../web/statuspage.c:438 +#: ../web/statuspage.c:425 msgid "Show Client in col 1" msgstr "" -#: ../web/statuspage.c:439 +#: ../web/statuspage.c:426 msgid "Show PID in col 1" msgstr "" -#: ../param/loadparm.c:907 +#: ../param/loadparm.c:755 msgid "Base Options" msgstr "Opzioni Basilari" -#: ../param/loadparm.c:1047 +#: ../param/loadparm.c:775 msgid "Security Options" msgstr "Opzioni di Sicurezza" -#: ../param/loadparm.c:1800 +#: ../param/loadparm.c:859 msgid "Logging Options" msgstr "Opzioni di Log" -#: ../param/loadparm.c:1929 +#: ../param/loadparm.c:874 msgid "Protocol Options" msgstr "Opzioni Protocollo" -#: ../param/loadparm.c:2301 +#: ../param/loadparm.c:911 msgid "Tuning Options" msgstr "Opzioni Tuning" -#: ../param/loadparm.c:2538 +#: ../param/loadparm.c:940 msgid "Printing Options" msgstr "Opzioni di Stampa" -#: ../param/loadparm.c:2858 +#: ../param/loadparm.c:970 msgid "Filename Handling" msgstr "Gestione Nomi File" -#: ../param/loadparm.c:3088 +#: ../param/loadparm.c:996 msgid "Domain Options" msgstr "Opzioni Dominio" -#: ../param/loadparm.c:3100 +#: ../param/loadparm.c:1000 msgid "Logon Options" msgstr "Opzioni di Logon" -#: ../param/loadparm.c:3273 +#: ../param/loadparm.c:1019 msgid "Browse Options" msgstr "Opzioni Browsing" -#: ../param/loadparm.c:3384 +#: ../param/loadparm.c:1033 msgid "WINS Options" msgstr "opzioni WINS" -#: ../param/loadparm.c:3432 +#: ../param/loadparm.c:1043 msgid "Locking Options" msgstr "Opzioni Locking" -#: ../param/loadparm.c:3552 +#: ../param/loadparm.c:1061 msgid "Ldap Options" msgstr "Opzioni Ldap" -#: ../param/loadparm.c:3708 -#, fuzzy -msgid "EventLog Options" -msgstr "Opzioni di Logon" - -#: ../param/loadparm.c:3720 +#: ../param/loadparm.c:1078 msgid "Miscellaneous Options" msgstr "Opzioni Generiche" -#: ../param/loadparm.c:4301 +#: ../param/loadparm.c:1138 msgid "VFS module options" msgstr "Opzioni VFS" -#: ../param/loadparm.c:4323 -#, fuzzy -msgid "MSDFS options" -msgstr "Opzioni VFS" - -#: ../param/loadparm.c:4353 +#: ../param/loadparm.c:1148 msgid "Winbind options" msgstr "Opzioni Winbind" - -#: ../utils/net.c:103 -msgid "Enter machine password: " -msgstr "" - -#: ../utils/net.c:107 -msgid "Unable to write the machine account password in the secrets database" -msgstr "" - -#: ../utils/net.c:111 -msgid "Modified trust account password in secrets database\n" -msgstr "" - -#: ../utils/net.c:115 -msgid "" -"Machine account password change requires the -f flag.\n" -"Do NOT use this function unless you know what it does!\n" -"This function will change the ADS Domain member machine account password in the secrets.tdb file!\n" -msgstr "" - -#: ../utils/net.c:150 ../utils/net.c:228 -#, c-format -msgid "Unable to open secrets.tdb. Can't fetch domain SID for name: %s\n" -msgstr "" - -#: ../utils/net.c:163 ../utils/net.c:251 -#, c-format -msgid "SID for domain %s is: %s\n" -msgstr "" - -#: ../utils/net.c:175 -msgid "usage: net setlocalsid S-1-5-21-x-y-z\n" -msgstr "" - -#: ../utils/net.c:195 -msgid "usage: net setdomainsid S-1-5-21-x-y-z\n" -msgstr "" - -#: ../utils/net.c:213 -msgid "usage: net getdomainsid\n" -msgstr "" - -#: ../utils/net.c:238 -msgid "Could not fetch local SID\n" -msgstr "" - -#: ../utils/net.c:242 -#, c-format -msgid "SID for local machine %s is: %s\n" -msgstr "" - -#: ../utils/net.c:246 -msgid "Could not fetch domain SID\n" -msgstr "" - -#: ../utils/net.c:263 -#, c-format -msgid "get_maxrid: Could not search %s\n" -msgstr "" - -#: ../utils/net.c:297 -msgid "usage: net maxrid\n" -msgstr "" - -#: ../utils/net.c:302 -msgid "can't get current maximum rid\n" -msgstr "" - -#: ../utils/net.c:306 -#, c-format -msgid "Currently used maximum rid: %d\n" -msgstr "" - -#: ../utils/net.c:317 -msgid "Run functions using RPC transport" -msgstr "" - -#: ../utils/net.c:318 -msgid " Use 'net help rpc' to get more extensive information about 'net rpc' commands." -msgstr "" - -#: ../utils/net.c:325 -msgid "Run functions using RAP transport" -msgstr "" - -#: ../utils/net.c:326 -msgid " Use 'net help rap' to get more extensive information about 'net rap' commands." -msgstr "" - -#: ../utils/net.c:333 -msgid "Run functions using ADS transport" -msgstr "" - -#: ../utils/net.c:334 -msgid " Use 'net help ads' to get more extensive information about 'net ads' commands." -msgstr "" - -#: ../utils/net.c:343 -msgid "Functions on remote opened files" -msgstr "" - -#: ../utils/net.c:344 -msgid " Use 'net help file' to get more information about 'net file' commands." -msgstr "" - -#: ../utils/net.c:351 -msgid "Functions on shares" -msgstr "" - -#: ../utils/net.c:352 -msgid " Use 'net help share' to get more information about 'net share' commands." -msgstr "" - -#: ../utils/net.c:359 -msgid "Manage sessions" -msgstr "" - -#: ../utils/net.c:360 -msgid " Use 'net help session' to get more information about 'net session' commands." -msgstr "" - -#: ../utils/net.c:367 -msgid "List servers in workgroup" -msgstr "" - -#: ../utils/net.c:368 -msgid " Use 'net help server' to get more information about 'net server' commands." -msgstr "" - -#: ../utils/net.c:375 -msgid "List domains/workgroups on network" -msgstr "" - -#: ../utils/net.c:376 -msgid " Use 'net help domain' to get more information about 'net domain' commands." -msgstr "" - -#: ../utils/net.c:383 -msgid "Modify printer queue" -msgstr "" - -#: ../utils/net.c:384 -msgid " Use 'net help printq' to get more information about 'net printq' commands." -msgstr "" - -#: ../utils/net.c:391 -#, fuzzy -msgid "Manage users" -msgstr "Abilita Utente" - -#: ../utils/net.c:392 -msgid " Use 'net help user' to get more information about 'net user' commands." -msgstr "" - -#: ../utils/net.c:399 -msgid "Manage groups" -msgstr "" - -#: ../utils/net.c:400 -msgid " Use 'net help group' to get more information about 'net group' commands." -msgstr "" - -#: ../utils/net.c:407 -msgid "Manage group mappings" -msgstr "" - -#: ../utils/net.c:408 -msgid " Use 'net help groupmap' to get more information about 'net groupmap' commands." -msgstr "" - -#: ../utils/net.c:415 -msgid "Functions on the SAM database" -msgstr "" - -#: ../utils/net.c:416 -msgid " Use 'net help sam' to get more information about 'net sam' commands." -msgstr "" - -#: ../utils/net.c:423 -msgid "Validate username and password" -msgstr "" - -#: ../utils/net.c:424 -msgid " Use 'net help validate' to get more information about 'net validate' commands." -msgstr "" - -#: ../utils/net.c:431 -msgid "Modify group memberships" -msgstr "" - -#: ../utils/net.c:432 -msgid " Use 'net help groupmember' to get more information about 'net groupmember' commands." -msgstr "" - -#: ../utils/net.c:438 -msgid "Execute remote command on a remote OS/2 server" -msgstr "" - -#: ../utils/net.c:439 -msgid " Use 'net help admin' to get more information about 'net admin' commands." -msgstr "" - -#: ../utils/net.c:445 -msgid "List/modify running services" -msgstr "" - -#: ../utils/net.c:446 -msgid " Use 'net help service' to get more information about 'net service' commands." -msgstr "" - -#: ../utils/net.c:453 -msgid "Change user password on target server" -msgstr "" - -#: ../utils/net.c:454 -msgid " Use 'net help password' to get more information about 'net password' commands." -msgstr "" - -#: ../utils/net.c:460 -#, fuzzy -msgid "Change the trust password" -msgstr "Cambia Password" - -#: ../utils/net.c:461 -msgid " Use 'net help changetrustpw' to get more information about 'net changetrustpw'." -msgstr "" - -#: ../utils/net.c:467 -#, fuzzy -msgid "Change the secret password" -msgstr "Cambia Password" - -#: ../utils/net.c:468 -msgid "" -" net [options] changesecretpw\n" -" Change the ADS domain member machine account password in secrets.tdb.\n" -" Do NOT use this function unless you know what it does.\n" -" Requires the -f flag to work." -msgstr "" - -#: ../utils/net.c:477 -msgid "Show/set time" -msgstr "" - -#: ../utils/net.c:478 -msgid " Use 'net help time' to get more information about 'net time' commands." -msgstr "" - -#: ../utils/net.c:484 -msgid "Look up host names/IP addresses" -msgstr "" - -#: ../utils/net.c:485 -msgid " Use 'net help lookup' to get more information about 'net lookup' commands." -msgstr "" - -#: ../utils/net.c:491 -msgid "Join a domain/AD" -msgstr "" - -#: ../utils/net.c:492 -msgid " Use 'net help join' to get more information about 'net join'." -msgstr "" - -#: ../utils/net.c:498 -msgid "Join/unjoin (remote) machines to/from a domain/AD" -msgstr "" - -#: ../utils/net.c:499 -msgid " Use 'net help dom' to get more information about 'net dom' commands." -msgstr "" - -#: ../utils/net.c:505 -msgid "Operate on the cache tdb file" -msgstr "" - -#: ../utils/net.c:506 -msgid " Use 'net help cache' to get more information about 'net cache' commands." -msgstr "" - -#: ../utils/net.c:512 -msgid "Get the SID for the local domain" -msgstr "" - -#: ../utils/net.c:513 -msgid " net getlocalsid" -msgstr "" - -#: ../utils/net.c:518 -msgid "Set the SID for the local domain" -msgstr "" - -#: ../utils/net.c:519 -msgid " net setlocalsid S-1-5-21-x-y-z" -msgstr "" - -#: ../utils/net.c:524 -msgid "Set domain SID on member servers" -msgstr "" - -#: ../utils/net.c:525 -msgid " net setdomainsid S-1-5-21-x-y-z" -msgstr "" - -#: ../utils/net.c:530 -msgid "Get domain SID on member servers" -msgstr "" - -#: ../utils/net.c:531 -msgid " net getdomainsid" -msgstr "" - -#: ../utils/net.c:536 -msgid "Display the maximul RID currently used" -msgstr "" - -#: ../utils/net.c:537 -msgid " net maxrid" -msgstr "" - -#: ../utils/net.c:542 -#, fuzzy -msgid "IDmap functions" -msgstr "Opzioni Dominio" - -#: ../utils/net.c:543 -msgid " Use 'net help idmap to get more information about 'net idmap' commands." -msgstr "" - -#: ../utils/net.c:549 -#, fuzzy -msgid "Display server status" -msgstr "Stato del Server" - -#: ../utils/net.c:550 -msgid " Use 'net help status' to get more information about 'net status' commands." -msgstr "" - -#: ../utils/net.c:556 -msgid "Manage user-modifiable shares" -msgstr "" - -#: ../utils/net.c:557 -msgid " Use 'net help usershare to get more information about 'net usershare' commands." -msgstr "" - -#: ../utils/net.c:563 -msgid "Display list of all users with SID" -msgstr "" - -#: ../utils/net.c:564 -msgid " Use 'net help usersidlist' to get more information about 'net usersidlist'." -msgstr "" - -#: ../utils/net.c:570 -msgid "Manage Samba registry based configuration" -msgstr "" - -#: ../utils/net.c:571 -msgid " Use 'net help conf' to get more information about 'net conf' commands." -msgstr "" - -#: ../utils/net.c:577 -msgid "Manage the Samba registry" -msgstr "" - -#: ../utils/net.c:578 -msgid " Use 'net help registry' to get more information about 'net registry' commands." -msgstr "" - -#: ../utils/net.c:584 -msgid "Open a lua interpreter" -msgstr "" - -#: ../utils/net.c:585 -msgid " Use 'net help lua' to get more information about 'net lua' commands." -msgstr "" - -#: ../utils/net.c:591 -msgid "Process Win32 *.evt eventlog files" -msgstr "" - -#: ../utils/net.c:592 -msgid " Use 'net help eventlog' to get more information about 'net eventlog' commands." -msgstr "" - -#: ../utils/net.c:600 -msgid "Manage AFS tokens" -msgstr "" - -#: ../utils/net.c:601 -msgid " Use 'net help afs' to get more information about 'net afs' commands." -msgstr "" - -#: ../utils/net.c:609 -msgid "Print usage information" -msgstr "" - -#: ../utils/net.c:610 -msgid " Use 'net help help' to list usage information for 'net' commands." -msgstr "" - -#: ../utils/net.c:639 -msgid "Encrypt SMB transport (UNIX extended servers only)" -msgstr "" - -#: ../utils/net.c:703 -msgid "" -"\n" -"Invalid ip address specified\n" -msgstr "" - -#: ../utils/net.c:718 -#, c-format -msgid "" -"\n" -"Invalid option %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:52 ../utils/net_ads.c:392 -msgid "CLDAP query failed!\n" -msgstr "" - -#: ../utils/net_ads.c:56 -#, fuzzy, c-format -msgid "" -"Information for Domain Controller: %s\n" -"\n" -msgstr "master dominio" - -#: ../utils/net_ads.c:59 -msgid "Response Type: " -msgstr "" - -#: ../utils/net_ads.c:72 -#, c-format -msgid "GUID: %s\n" -msgstr "" - -#: ../utils/net_ads.c:74 -#, c-format -msgid "" -"Flags:\n" -"\tIs a PDC: %s\n" -"\tIs a GC of the forest: %s\n" -"\tIs an LDAP server: %s\n" -"\tSupports DS: %s\n" -"\tIs running a KDC: %s\n" -"\tIs running time services: %s\n" -"\tIs the closest DC: %s\n" -"\tIs writable: %s\n" -"\tHas a hardware clock: %s\n" -"\tIs a non-domain NC serviced by LDAP server: %s\n" -"\tIs NT6 DC that has some secrets: %s\n" -"\tIs NT6 DC that has all secrets: %s\n" -msgstr "" - -#: ../utils/net_ads.c:87 ../utils/net_ads.c:88 ../utils/net_ads.c:89 ../utils/net_ads.c:90 ../utils/net_ads.c:91 ../utils/net_ads.c:92 ../utils/net_ads.c:93 ../utils/net_ads.c:94 ../utils/net_ads.c:95 ../utils/net_ads.c:96 ../utils/net_ads.c:97 -#: ../utils/net_ads.c:98 -msgid "yes" -msgstr "" - -#: ../utils/net_ads.c:87 ../utils/net_ads.c:88 ../utils/net_ads.c:89 ../utils/net_ads.c:90 ../utils/net_ads.c:91 ../utils/net_ads.c:92 ../utils/net_ads.c:93 ../utils/net_ads.c:94 ../utils/net_ads.c:95 ../utils/net_ads.c:96 ../utils/net_ads.c:97 -#: ../utils/net_ads.c:98 -msgid "no" -msgstr "" - -#: ../utils/net_ads.c:101 -#, c-format -msgid "Forest:\t\t\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:102 -#, c-format -msgid "Domain:\t\t\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:103 -#, fuzzy, c-format -msgid "Domain Controller:\t%s\n" -msgstr "master dominio" - -#: ../utils/net_ads.c:105 -#, c-format -msgid "Pre-Win2k Domain:\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:106 -#, c-format -msgid "Pre-Win2k Hostname:\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:108 -#, fuzzy, c-format -msgid "User name:\t%s\n" -msgstr " Nome Utente" - -#: ../utils/net_ads.c:110 -#, fuzzy, c-format -msgid "Server Site Name :\t\t%s\n" -msgstr "Stato del Server" - -#: ../utils/net_ads.c:111 -#, c-format -msgid "Client Site Name :\t\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:113 -#, fuzzy, c-format -msgid "NT Version: %d\n" -msgstr "versione:" - -#: ../utils/net_ads.c:114 -#, c-format -msgid "LMNT Token: %.2x\n" -msgstr "" - -#: ../utils/net_ads.c:115 -#, c-format -msgid "LM20 Token: %.2x\n" -msgstr "" - -#: ../utils/net_ads.c:130 -msgid "" -"Usage:\n" -"net ads lookup\n" -" Find the ADS DC using CLDAP lookup.\n" -msgstr "" - -#: ../utils/net_ads.c:137 ../utils/net_ads.c:381 -msgid "Didn't find the cldap server!\n" -msgstr "" - -#: ../utils/net_ads.c:160 -msgid "" -"Usage:\n" -"net ads info\n" -" Display information about an Active Directory server.\n" -msgstr "" - -#: ../utils/net_ads.c:168 ../utils/net_ads.c:173 -msgid "Didn't find the ldap server!\n" -msgstr "" - -#: ../utils/net_ads.c:182 -msgid "Failed to get server's current time!\n" -msgstr "" - -#: ../utils/net_ads.c:187 -#, c-format -msgid "LDAP server: %s\n" -msgstr "" - -#: ../utils/net_ads.c:188 -#, c-format -msgid "LDAP server name: %s\n" -msgstr "" - -#: ../utils/net_ads.c:189 -#, c-format -msgid "Realm: %s\n" -msgstr "" - -#: ../utils/net_ads.c:190 -#, c-format -msgid "Bind Path: %s\n" -msgstr "" - -#: ../utils/net_ads.c:191 -#, c-format -msgid "LDAP port: %d\n" -msgstr "" - -#: ../utils/net_ads.c:192 -#, fuzzy, c-format -msgid "Server time: %s\n" -msgstr "Stato del Server" - -#: ../utils/net_ads.c:195 -#, c-format -msgid "KDC server: %s\n" -msgstr "" - -#: ../utils/net_ads.c:196 -#, c-format -msgid "Server time offset: %d\n" -msgstr "" - -#: ../utils/net_ads.c:374 -msgid "" -"Usage:\n" -"net ads workgroup\n" -" Print the workgroup name\n" -msgstr "" - -#: ../utils/net_ads.c:397 -#, c-format -msgid "Workgroup: %s\n" -msgstr "" - -#: ../utils/net_ads.c:458 -#, c-format -msgid "ads_user_add: %s\n" -msgstr "" - -#: ../utils/net_ads.c:463 -#, c-format -msgid "ads_user_add: User %s already exists\n" -msgstr "" - -#: ../utils/net_ads.c:477 -#, c-format -msgid "Could not add user %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:484 ../utils/net_ads.c:497 -#, fuzzy, c-format -msgid "User %s added\n" -msgstr " Nome Utente" - -#. password didn't set, delete account -#: ../utils/net_ads.c:503 -#, c-format -msgid "Could not add user %s. Error setting password %s\n" -msgstr "" - -#: ../utils/net_ads.c:551 -#, c-format -msgid "ads_user_info: failed to escape user %s\n" -msgstr "" - -#: ../utils/net_ads.c:569 -#, c-format -msgid "ads_search: %s\n" -msgstr "" - -#: ../utils/net_ads.c:575 -msgid "ads_pull_uint32 failed\n" -msgstr "" - -#: ../utils/net_ads.c:582 -#, c-format -msgid "ads_domain_sid: %s\n" -msgstr "" - -#: ../utils/net_ads.c:642 -#, c-format -msgid "User %s does not exist.\n" -msgstr "" - -#: ../utils/net_ads.c:652 -#, c-format -msgid "User %s deleted\n" -msgstr "" - -#: ../utils/net_ads.c:656 -#, c-format -msgid "Error deleting user %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:669 -#, fuzzy -msgid "Add an AD user" -msgstr "Aggiungi Nuovo Utente" - -#: ../utils/net_ads.c:670 -msgid "" -"net ads user add\n" -" Add an AD user" -msgstr "" - -#: ../utils/net_ads.c:677 -msgid "Display information about an AD user" -msgstr "" - -#: ../utils/net_ads.c:678 -msgid "" -"net ads user info\n" -" Display information about an AD user" -msgstr "" - -#: ../utils/net_ads.c:685 -#, fuzzy -msgid "Delete an AD user" -msgstr "Cancella Utente" - -#: ../utils/net_ads.c:686 -msgid "" -"net ads user delete\n" -" Delete an AD user" -msgstr "" - -#: ../utils/net_ads.c:699 -msgid "" -"Usage:\n" -"net ads user\n" -" List AD users\n" -msgstr "" - -#: ../utils/net_ads.c:711 -msgid "" -"\n" -"User name Comment\n" -"-----------------------------\n" -msgstr "" - -#: ../utils/net_ads.c:751 -#, c-format -msgid "ads_group_add: %s\n" -msgstr "" - -#: ../utils/net_ads.c:756 -#, c-format -msgid "ads_group_add: Group %s already exists\n" -msgstr "" - -#: ../utils/net_ads.c:769 -#, c-format -msgid "Group %s added\n" -msgstr "" - -#: ../utils/net_ads.c:772 -#, c-format -msgid "Could not add group %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:801 -#, c-format -msgid "Group %s does not exist.\n" -msgstr "" - -#: ../utils/net_ads.c:811 -#, c-format -msgid "Group %s deleted\n" -msgstr "" - -#: ../utils/net_ads.c:815 -#, c-format -msgid "Error deleting group %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:828 -msgid "Add an AD group" -msgstr "" - -#: ../utils/net_ads.c:829 -msgid "" -"net ads group add\n" -" Add an AD group" -msgstr "" - -#: ../utils/net_ads.c:836 -#, fuzzy -msgid "Delete an AD group" -msgstr "Cancella Condivisione" - -#: ../utils/net_ads.c:837 -msgid "" -"net ads group delete\n" -" Delete an AD group" -msgstr "" - -#: ../utils/net_ads.c:850 -msgid "" -"Usage:\n" -"net ads group\n" -" List AD groups\n" -msgstr "" - -#: ../utils/net_ads.c:862 -msgid "" -"\n" -"Group name Comment\n" -"-----------------------------\n" -msgstr "" - -#: ../utils/net_ads.c:884 -msgid "" -"Usage:\n" -"net ads status\n" -" Display machine account details\n" -msgstr "" - -#: ../utils/net_ads.c:896 -#, c-format -msgid "ads_find_machine_acct: %s\n" -msgstr "" - -#: ../utils/net_ads.c:902 -#, c-format -msgid "No machine account for '%s' found\n" -msgstr "" - -#: ../utils/net_ads.c:926 -msgid "" -"Usage:\n" -"net ads leave\n" -" Leave an AD domain\n" -msgstr "" - -#: ../utils/net_ads.c:933 -msgid "No realm set, are we joined ?\n" -msgstr "" - -#: ../utils/net_ads.c:938 ../utils/net_ads.c:1260 -msgid "Could not initialise talloc context.\n" -msgstr "" - -#: ../utils/net_ads.c:948 -msgid "Could not initialise unjoin context.\n" -msgstr "" - -#: ../utils/net_ads.c:968 -#, c-format -msgid "Failed to leave domain: %s\n" -msgstr "" - -#: ../utils/net_ads.c:975 -#, c-format -msgid "Deleted account for '%s' in realm '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:982 -#, c-format -msgid "Disabled account for '%s' in realm '%s'\n" -msgstr "" - -#. Based on what we requseted, we shouldn't get here, but if -#. we did, it means the secrets were removed, and therefore -#. we have left the domain -#: ../utils/net_ads.c:991 -#, c-format -msgid "Machine '%s' Left domain '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:1035 -msgid "" -"Usage:\n" -"net ads testjoin\n" -" Test if the existing join is ok\n" -msgstr "" - -#: ../utils/net_ads.c:1044 -#, c-format -msgid "Join to domain is not valid: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1049 -#, c-format -msgid "Join is OK\n" -msgstr "" - -#: ../utils/net_ads.c:1060 -msgid "Host is not configured as a member server.\n" -msgstr "" - -#: ../utils/net_ads.c:1065 -#, c-format -msgid "Our netbios name can be at most 15 chars long, \"%s\" is %u chars long\n" -msgstr "" - -#: ../utils/net_ads.c:1072 -#, c-format -msgid "realm must be set in in %s for ADS join to succeed.\n" -msgstr "" - -#: ../utils/net_ads.c:1105 -#, c-format -msgid "No DNS domain configured for %s. Unable to perform DNS Update.\n" -msgstr "" - -#: ../utils/net_ads.c:1212 -msgid "" -"net ads join [options]\n" -"Valid options:\n" -msgstr "" - -#: ../utils/net_ads.c:1214 -msgid "" -" createupn[=UPN] Set the userPrincipalName attribute during the join.\n" -" The deault UPN is in the form host/netbiosname@REALM.\n" -msgstr "" - -#: ../utils/net_ads.c:1216 -msgid "" -" createcomputer=OU Precreate the computer account in a specific OU.\n" -" The OU string read from top to bottom without RDNs and delimited by a '/'.\n" -" E.g. \"createcomputer=Computers/Servers/Unix\"\n" -" NB: A backslash '\\' is used as escape at multiple levels and may\n" -" need to be doubled or even quadrupled. It is not used as a separator.\n" -msgstr "" - -#: ../utils/net_ads.c:1221 -msgid " osName=string Set the operatingSystem attribute during the join.\n" -msgstr "" - -#: ../utils/net_ads.c:1222 -msgid "" -" osVer=string Set the operatingSystemVersion attribute during the join.\n" -" NB: osName and osVer must be specified together for either to take effect.\n" -" Also, the operatingSystemService attribute is also set when along with\n" -" the two other attributes.\n" -msgstr "" - -#: ../utils/net_ads.c:1254 -msgid "Invalid configuration. Exiting....\n" -msgstr "" - -#: ../utils/net_ads.c:1283 -msgid "Please supply a valid OU path.\n" -msgstr "" - -#: ../utils/net_ads.c:1290 -msgid "Please supply a operating system name.\n" -msgstr "" - -#: ../utils/net_ads.c:1297 -msgid "Please supply a valid operating system version.\n" -msgstr "" - -#: ../utils/net_ads.c:1308 -msgid "Please supply a valid domain name\n" -msgstr "" - -#: ../utils/net_ads.c:1339 -#, c-format -msgid "" -"The workgroup in %s does not match the short\n" -"domain name obtained from the server.\n" -"Using the name [%s] from the server.\n" -"You should set \"workgroup = %s\" in %s.\n" -msgstr "" - -#: ../utils/net_ads.c:1347 -#, c-format -msgid "Using short domain name -- %s\n" -msgstr "" - -#: ../utils/net_ads.c:1350 -#, c-format -msgid "Joined '%s' to realm '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:1353 -#, c-format -msgid "Joined '%s' to domain '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:1377 ../utils/net_ads.c:1433 -msgid "DNS update failed!\n" -msgstr "" - -#. issue an overall failure message at the end. -#: ../utils/net_ads.c:1391 ../utils/net_dom.c:198 -#, c-format -msgid "Failed to join domain: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1414 -msgid "" -"Usage:\n" -"net ads dns register\n" -" Register hostname with DNS\n" -msgstr "" - -#: ../utils/net_ads.c:1421 -msgid "Could not initialise talloc context\n" -msgstr "" - -#: ../utils/net_ads.c:1439 -msgid "Successfully registered hostname with DNS\n" -msgstr "" - -#: ../utils/net_ads.c:1447 -msgid "DNS update support not enabled at compile time!\n" -msgstr "" - -#: ../utils/net_ads.c:1466 -msgid "" -"Usage:\n" -"net ads dns gethostbyname <server> <name>\n" -" Look up hostname from the AD\n" -" server\tName server to use\n" -" name\tName to look up\n" -msgstr "" - -#: ../utils/net_ads.c:1476 -#, c-format -msgid "do_gethostbyname returned %d\n" -msgstr "" - -#: ../utils/net_ads.c:1488 -msgid "Add host dns entry to AD" -msgstr "" - -#: ../utils/net_ads.c:1489 -msgid "" -"net ads dns register\n" -" Add host dns entry to AD" -msgstr "" - -#: ../utils/net_ads.c:1496 -msgid "Look up host" -msgstr "" - -#: ../utils/net_ads.c:1497 -msgid "" -"net ads dns gethostbyname\n" -" Look up host" -msgstr "" - -#: ../utils/net_ads.c:1512 -msgid "" -"\n" -"net ads printer search <printer>\n" -"\tsearch for a printer in the directory\n" -"\n" -"net ads printer info <printer> <server>\n" -"\tlookup info in directory for printer on server\n" -"\t(note: printer defaults to \"*\", server defaults to local)\n" -"\n" -"net ads printer publish <printername>\n" -"\tpublish printer in directory\n" -"\t(note: printer name is required)\n" -"\n" -"net ads printer remove <printername>\n" -"\tremove printer from directory\n" -"\t(note: printer name is required)\n" -msgstr "" - -#: ../utils/net_ads.c:1536 -msgid "" -"Usage:\n" -"net ads printer search\n" -" List printers in the AD\n" -msgstr "" - -#: ../utils/net_ads.c:1549 -#, c-format -msgid "ads_find_printer: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1556 -msgid "No results found\n" -msgstr "" - -#: ../utils/net_ads.c:1576 -msgid "" -"Usage:\n" -"net ads printer info [printername [servername]]\n" -" Display printer info from AD\n" -" printername\tPrinter name or wildcard\n" -" servername\tName of the print server\n" -msgstr "" - -#: ../utils/net_ads.c:1603 -#, c-format -msgid "Server '%s' not found: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1611 ../utils/net_ads.c:1794 -#, c-format -msgid "Printer '%s' not found\n" -msgstr "" - -#: ../utils/net_ads.c:1640 -msgid "" -"Usage:\n" -"net ads printer publish <printername> [servername]\n" -" Publish printer in AD\n" -" printername\tName of the printer\n" -" servername\tName of the print server\n" -msgstr "" - -#: ../utils/net_ads.c:1675 -#, c-format -msgid "Unable to open a connnection to %s to obtain data for %s\n" -msgstr "" - -#: ../utils/net_ads.c:1688 -#, c-format -msgid "Could not find machine account for server %s\n" -msgstr "" - -#: ../utils/net_ads.c:1704 ../utils/net_ads.c:1713 -msgid "Internal error, out of memory!" -msgstr "" - -#: ../utils/net_ads.c:1724 -#, c-format -msgid "Unable to open a connnection to the spoolss pipe on %s\n" -msgstr "" - -#: ../utils/net_ads.c:1766 -msgid "" -"Usage:\n" -"net ads printer remove <printername> [servername]\n" -" Remove a printer from the AD\n" -" printername\tName of the printer\n" -" servername\tName of the print server\n" -msgstr "" - -#: ../utils/net_ads.c:1787 -#, c-format -msgid "ads_find_printer_on_server: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1806 -#, c-format -msgid "ads_del_dn: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1822 -msgid "Search for a printer" -msgstr "" - -#: ../utils/net_ads.c:1823 -msgid "" -"net ads printer search\n" -" Search for a printer" -msgstr "" - -#: ../utils/net_ads.c:1830 -msgid "Display printer information" -msgstr "" - -#: ../utils/net_ads.c:1831 -msgid "" -"net ads printer info\n" -" Display printer information" -msgstr "" - -#: ../utils/net_ads.c:1838 -msgid "Publish a printer" -msgstr "" - -#: ../utils/net_ads.c:1839 -msgid "" -"net ads printer publish\n" -" Publish a printer" -msgstr "" - -#: ../utils/net_ads.c:1846 -#, fuzzy -msgid "Delete a printer" -msgstr "Cancella Stampante" - -#: ../utils/net_ads.c:1847 -msgid "" -"net ads printer remove\n" -" Delete a printer" -msgstr "" - -#: ../utils/net_ads.c:1869 -msgid "" -"Usage:\n" -"net ads password <username>\n" -" Change password for user\n" -" username\tName of user to change password for\n" -msgstr "" - -#: ../utils/net_ads.c:1877 -msgid "You must supply an administrator username/password\n" -msgstr "" - -#: ../utils/net_ads.c:1883 -msgid "ERROR: You must say which username to change password for\n" -msgstr "" - -#: ../utils/net_ads.c:1915 -msgid "Didn't find the kerberos server!\n" -msgstr "" - -#: ../utils/net_ads.c:1923 -#, c-format -msgid "Enter new password for %s:" -msgstr "" - -#: ../utils/net_ads.c:1933 ../utils/net_ads.c:1982 -#, fuzzy, c-format -msgid "Password change failed: %s\n" -msgstr "Gestione Password" - -#: ../utils/net_ads.c:1938 -#, fuzzy, c-format -msgid "Password change for %s completed.\n" -msgstr "cambio password in modalita' demo rigettata" - -#: ../utils/net_ads.c:1952 -msgid "" -"Usage:\n" -"net ads changetrustpw\n" -" Change the machine account's trust password\n" -msgstr "" - -#: ../utils/net_ads.c:1977 -#, c-format -msgid "Changing password for principal: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1988 -#, c-format -msgid "Password change for principal %s succeeded.\n" -msgstr "" - -#: ../utils/net_ads.c:1991 -msgid "Attempting to update system keytab with new password.\n" -msgstr "" - -#: ../utils/net_ads.c:1993 -msgid "Failed to update system keytab.\n" -msgstr "" - -#: ../utils/net_ads.c:2009 -msgid "" -"\n" -"net ads search <expression> <attributes...>\n" -"\n" -"Perform a raw LDAP search on a ADS server and dump the results.\n" -"The expression is a standard LDAP search expression, and the\n" -"attributes are a list of LDAP fields to show in the results.\n" -"\n" -"Example: net ads search '(objectCategory=group)' sAMAccountName\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2046 ../utils/net_ads.c:2107 ../utils/net_ads.c:2171 ../utils/net_ads_gpo.c:250 -#, c-format -msgid "search failed: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2051 ../utils/net_ads.c:2176 ../utils/net_ads_gpo.c:256 -#, c-format -msgid "" -"Got %d replies\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2069 -msgid "" -"\n" -"net ads dn <dn> <attributes...>\n" -"\n" -"perform a raw LDAP search on a ADS server and dump the results\n" -"The DN standard LDAP DN, and the attributes are a list of LDAP fields \n" -"to show in the results\n" -"\n" -"Example: net ads dn 'CN=administrator,CN=Users,DC=my,DC=domain' sAMAccountName\n" -"\n" -"Note: the DN must be provided properly escaped. See RFC 4514 for details\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2129 -msgid "" -"\n" -"net ads sid <sid> <attributes...>\n" -"\n" -"perform a raw LDAP search on a ADS server and dump the results\n" -"The SID is in string format, and the attributes are a list of LDAP fields \n" -"to show in the results\n" -"\n" -"Example: net ads sid 'S-1-5-32' distinguishedName\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2164 -msgid "could not convert sid\n" -msgstr "" - -#: ../utils/net_ads.c:2193 -msgid "" -"Usage:\n" -"net ads keytab flush\n" -" Delete the whole keytab\n" -msgstr "" - -#: ../utils/net_ads.c:2214 -msgid "" -"Usage:\n" -"net ads keytab add <principal> [principal ...]\n" -" Add principals to local keytab\n" -" principal\tKerberos principal to add to keytab\n" -msgstr "" - -#: ../utils/net_ads.c:2222 -msgid "Processing principals to add...\n" -msgstr "" - -#: ../utils/net_ads.c:2239 -msgid "" -"Usage:\n" -"net ads keytab create\n" -" Create new default keytab\n" -msgstr "" - -#: ../utils/net_ads.c:2258 -msgid "" -"Usage:\n" -"net ads keytab list [keytab]\n" -" List a local keytab\n" -" keytab\tKeytab to list\n" -msgstr "" - -#: ../utils/net_ads.c:2280 -msgid "Add a service principal" -msgstr "" - -#: ../utils/net_ads.c:2281 -msgid "" -"net ads keytab add\n" -" Add a service principal" -msgstr "" - -#: ../utils/net_ads.c:2288 -#, fuzzy -msgid "Create a fresh keytab" -msgstr "Crea Condivisione" - -#: ../utils/net_ads.c:2289 -msgid "" -"net ads keytab create\n" -" Create a fresh keytab" -msgstr "" - -#: ../utils/net_ads.c:2296 -msgid "Remove all keytab entries" -msgstr "" - -#: ../utils/net_ads.c:2297 -msgid "" -"net ads keytab flush\n" -" Remove all keytab entries" -msgstr "" - -#: ../utils/net_ads.c:2304 -msgid "List a keytab" -msgstr "" - -#: ../utils/net_ads.c:2305 -msgid "" -"net ads keytab list\n" -" List a keytab" -msgstr "" - -#: ../utils/net_ads.c:2312 -msgid "" -"\n" -"Warning: \"kerberos method\" must be set to a keytab method to use keytab functions.\n" -msgstr "" - -#: ../utils/net_ads.c:2324 -msgid "" -"Usage:\n" -"net ads kerberos renew\n" -" Renew TGT from existing credential cache\n" -msgstr "" - -#: ../utils/net_ads.c:2332 -#, c-format -msgid "failed to renew kerberos ticket: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2347 -msgid "" -"Usage:\n" -"net ads kerberos pac\n" -" Dump the Kerberos PAC\n" -msgstr "" - -#: ../utils/net_ads.c:2372 -#, c-format -msgid "failed to query kerberos PAC: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2381 -#, c-format -msgid "The Pac: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2397 -msgid "" -"Usage:\n" -"net ads kerberos kinit\n" -" Get Ticket Granting Ticket (TGT) for the user\n" -msgstr "" - -#: ../utils/net_ads.c:2421 -#, c-format -msgid "failed to kinit password: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2435 -msgid "Retrieve Ticket Granting Ticket (TGT)" -msgstr "" - -#: ../utils/net_ads.c:2436 -msgid "" -"net ads kerberos kinit\n" -" Receive Ticket Granting Ticket (TGT)" -msgstr "" - -#: ../utils/net_ads.c:2443 -msgid "Renew Ticket Granting Ticket from credential cache" -msgstr "" - -#: ../utils/net_ads.c:2444 -msgid "" -"net ads kerberos renew\n" -" Renew Ticket Granting Ticket (TGT) from credential cache" -msgstr "" - -#: ../utils/net_ads.c:2452 -msgid "Dump Kerberos PAC" -msgstr "" - -#: ../utils/net_ads.c:2453 -msgid "" -"net ads kerberos pac\n" -" Dump Kerberos PAC" -msgstr "" - -#: ../utils/net_ads.c:2469 -msgid "Display details on remote ADS server" -msgstr "" - -#: ../utils/net_ads.c:2470 -msgid "" -"net ads info\n" -" Display details on remote ADS server" -msgstr "" - -#: ../utils/net_ads.c:2477 -msgid "Join the local machine to ADS realm" -msgstr "" - -#: ../utils/net_ads.c:2478 -msgid "" -"net ads join\n" -" Join the local machine to ADS realm" -msgstr "" - -#: ../utils/net_ads.c:2485 -msgid "Validate machine account" -msgstr "" - -#: ../utils/net_ads.c:2486 -msgid "" -"net ads testjoin\n" -" Validate machine account" -msgstr "" - -#: ../utils/net_ads.c:2493 -msgid "Remove the local machine from ADS" -msgstr "" - -#: ../utils/net_ads.c:2494 -msgid "" -"net ads leave\n" -" Remove the local machine from ADS" -msgstr "" - -#: ../utils/net_ads.c:2501 -msgid "Display machine account details" -msgstr "" - -#: ../utils/net_ads.c:2502 -msgid "" -"net ads status\n" -" Display machine account details" -msgstr "" - -#: ../utils/net_ads.c:2509 -msgid "List/modify users" -msgstr "" - -#: ../utils/net_ads.c:2510 -msgid "" -"net ads user\n" -" List/modify users" -msgstr "" - -#: ../utils/net_ads.c:2517 -msgid "List/modify groups" -msgstr "" - -#: ../utils/net_ads.c:2518 -msgid "" -"net ads group\n" -" List/modify groups" -msgstr "" - -#: ../utils/net_ads.c:2525 -msgid "Issue dynamic DNS update" -msgstr "" - -#: ../utils/net_ads.c:2526 -msgid "" -"net ads dns\n" -" Issue dynamic DNS update" -msgstr "" - -#: ../utils/net_ads.c:2533 -#, fuzzy -msgid "Change user passwords" -msgstr "Cambia Password" - -#: ../utils/net_ads.c:2534 -msgid "" -"net ads password\n" -" Change user passwords" -msgstr "" - -#: ../utils/net_ads.c:2541 -#, fuzzy -msgid "Change trust account password" -msgstr "Cambia Password" - -#: ../utils/net_ads.c:2542 -msgid "" -"net ads changetrustpw\n" -" Change trust account password" -msgstr "" - -#: ../utils/net_ads.c:2549 -msgid "List/modify printer entries" -msgstr "" - -#: ../utils/net_ads.c:2550 -msgid "" -"net ads printer\n" -" List/modify printer entries" -msgstr "" - -#: ../utils/net_ads.c:2557 -msgid "Issue LDAP search using filter" -msgstr "" - -#: ../utils/net_ads.c:2558 -msgid "" -"net ads search\n" -" Issue LDAP search using filter" -msgstr "" - -#: ../utils/net_ads.c:2565 -msgid "Issue LDAP search by DN" -msgstr "" - -#: ../utils/net_ads.c:2566 -msgid "" -"net ads dn\n" -" Issue LDAP search by DN" -msgstr "" - -#: ../utils/net_ads.c:2573 -msgid "Issue LDAP search by SID" -msgstr "" - -#: ../utils/net_ads.c:2574 -msgid "" -"net ads sid\n" -" Issue LDAP search by SID" -msgstr "" - -#: ../utils/net_ads.c:2581 -msgid "Display workgroup name" -msgstr "" - -#: ../utils/net_ads.c:2582 -msgid "" -"net ads workgroup\n" -" Display the workgroup name" -msgstr "" - -#: ../utils/net_ads.c:2589 -msgid "Perfom CLDAP query on DC" -msgstr "" - -#: ../utils/net_ads.c:2590 -msgid "" -"net ads lookup\n" -" Find the ADS DC using CLDAP lookups" -msgstr "" - -#: ../utils/net_ads.c:2597 -msgid "Manage local keytab file" -msgstr "" - -#: ../utils/net_ads.c:2598 -msgid "" -"net ads keytab\n" -" Manage local keytab file" -msgstr "" - -#: ../utils/net_ads.c:2605 -msgid "Manage group policy objects" -msgstr "" - -#: ../utils/net_ads.c:2606 -msgid "" -"net ads gpo\n" -" Manage group policy objects" -msgstr "" - -#: ../utils/net_ads.c:2613 -msgid "Manage kerberos keytab" -msgstr "" - -#: ../utils/net_ads.c:2614 -msgid "" -"net ads kerberos\n" -" Manage kerberos keytab" -msgstr "" - -#: ../utils/net_ads.c:2627 -msgid "ADS support not compiled in\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:40 -msgid "" -"Usage:\n" -"net ads gpo refresh <username|machinename>\n" -" Lists all GPOs assigned to an account and downloads them\n" -" username\tUser to refresh GPOs for\n" -" machinename\tMachine to refresh GPOs for\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:56 -#, c-format -msgid "failed to connect AD server: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:62 -#, c-format -msgid "failed to find samaccount for %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:70 -#, c-format -msgid "" -"\n" -"%s: '%s' has dn: '%s'\n" -"\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:71 ../utils/net_ads_gpo.c:328 -#, fuzzy -msgid "machine" -msgstr " Macchina Remota" - -#: ../utils/net_ads_gpo.c:71 ../utils/net_ads_gpo.c:328 -#, fuzzy -msgid "user" -msgstr "Utente" - -#: ../utils/net_ads_gpo.c:74 -msgid "* fetching token " -msgstr "" - -#: ../utils/net_ads_gpo.c:82 ../utils/net_ads_gpo.c:90 ../utils/net_ads_gpo.c:102 ../utils/net_ads_gpo.c:113 ../utils/net_ads_gpo.c:158 -#, c-format -msgid "failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:85 ../utils/net_ads_gpo.c:94 ../utils/net_ads_gpo.c:105 ../utils/net_ads_gpo.c:118 ../utils/net_ads_gpo.c:163 -msgid "finished\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:87 -msgid "* fetching GPO List " -msgstr "" - -#: ../utils/net_ads_gpo.c:96 -msgid "* Refreshing Group Policy Data " -msgstr "" - -#: ../utils/net_ads_gpo.c:107 -msgid "* storing GPO list to registry " -msgstr "" - -#: ../utils/net_ads_gpo.c:122 -msgid "* dumping GPO list\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:151 -msgid "* re-reading GPO list from registry " -msgstr "" - -#: ../utils/net_ads_gpo.c:167 -msgid "* dumping GPO list from registry\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:226 -msgid "" -"Usage:\n" -"net ads gpo listall\n" -" List all GPOs on the DC\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:270 -#, fuzzy, c-format -msgid "ads_parse_gpo failed: %s\n" -msgstr "Gestione Password" - -#: ../utils/net_ads_gpo.c:300 -msgid "" -"Usage:\n" -"net ads gpo list <username|machinename>\n" -" Lists all GPOs for machine/user\n" -" username\tUser to list GPOs for\n" -" machinename\tMachine to list GPOs for\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:327 -#, c-format -msgid "%s: '%s' has dn: '%s'\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:451 -msgid "" -"Usage:\n" -"net ads gpo linkget <container>\n" -" Lists gPLink of a containter\n" -" container\tContainer to get link for\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:470 -#, c-format -msgid "get link for %s failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:492 -msgid "" -"Usage:\n" -"net ads gpo linkadd <linkdn> <gpodn> [options]\n" -" Link a container to a GPO\n" -" linkdn\tContainer to link to a GPO\n" -" gpodn\tGPO to link container to\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:497 -msgid "" -"note: DNs must be provided properly escaped.\n" -"See RFC 4514 for details\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:518 -#, c-format -msgid "link add failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:579 -msgid "" -"Usage:\n" -"net ads gpo getgpo <gpo>\n" -" List speciefied GPO\n" -" gpo\t\tGPO to list\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:603 -#, c-format -msgid "get gpo for [%s] failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:634 -msgid "List specified GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:635 -msgid "" -"net ads gpo getgpo\n" -" List specified GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:642 -msgid "Link a container to a GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:643 -msgid "" -"net ads gpo linkadd\n" -" Link a container to a GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:660 -msgid "Lists gPLink of containter" -msgstr "" - -#: ../utils/net_ads_gpo.c:661 -msgid "" -"net ads gpo linkget\n" -" Lists gPLink of containter" -msgstr "" - -#: ../utils/net_ads_gpo.c:668 -msgid "Lists all GPOs for machine/user" -msgstr "" - -#: ../utils/net_ads_gpo.c:669 -msgid "" -"net ads gpo list\n" -" Lists all GPOs for machine/user" -msgstr "" - -#: ../utils/net_ads_gpo.c:676 -msgid "Lists all GPOs on a DC" -msgstr "" - -#: ../utils/net_ads_gpo.c:677 -msgid "" -"net ads gpo listall\n" -" Lists all GPOs on a DC" -msgstr "" - -#: ../utils/net_ads_gpo.c:684 -msgid "Lists all GPOs assigned to an account and downloads them" -msgstr "" - -#: ../utils/net_ads_gpo.c:686 -msgid "" -"net ads gpo refresh\n" -" Lists all GPOs assigned to an account and downloads them" -msgstr "" - -#: ../utils/net_afs.c:25 -msgid "" -" net afs key filename\n" -"\tImports a OpenAFS KeyFile into our secrets.tdb\n" -"\n" -msgstr "" - -#: ../utils/net_afs.c:27 -msgid "" -" net afs impersonate <user> <cell>\n" -"\tCreates a token for user@cell\n" -"\n" -msgstr "" - -#: ../utils/net_afs.c:38 -msgid "usage: 'net afs key <keyfile> cell'\n" -msgstr "" - -#: ../utils/net_afs.c:43 -msgid "Could not open secrets.tdb\n" -msgstr "" - -#: ../utils/net_afs.c:48 -#, c-format -msgid "Could not open %s\n" -msgstr "" - -#: ../utils/net_afs.c:53 -msgid "Could not read keyfile\n" -msgstr "" - -#: ../utils/net_afs.c:58 -msgid "Could not write keyfile to secrets.tdb\n" -msgstr "" - -#: ../utils/net_afs.c:71 -#, c-format -msgid "Usage: net afs impersonate <user> <cell>\n" -msgstr "" - -#: ../utils/net_afs.c:78 -#, c-format -msgid "Could not create token\n" -msgstr "" - -#: ../utils/net_afs.c:83 -#, c-format -msgid "Could not set token into kernel\n" -msgstr "" - -#: ../utils/net_afs.c:87 -#, c-format -msgid "Success: %s@%s\n" -msgstr "" - -#: ../utils/net_afs.c:98 -msgid "Import an OpenAFS keyfile" -msgstr "" - -#: ../utils/net_afs.c:99 -msgid "" -"net afs key <filename>\n" -" Import kefile from <filename>." -msgstr "" - -#: ../utils/net_afs.c:106 -msgid "Get a user token" -msgstr "" - -#: ../utils/net_afs.c:107 -msgid "" -"net afs impersonate <user> <cell>\n" -" Create token for user@cell" -msgstr "" - -#: ../utils/net_cache.c:74 -#, c-format -msgid "Key: %s\t Timeout: %s\t Value: %s %s\n" -msgstr "" - -#: ../utils/net_cache.c:75 -msgid "(expired)" -msgstr "" - -#: ../utils/net_cache.c:84 -#, c-format -msgid "Couldn't delete entry! key = %s\n" -msgstr "" - -#: ../utils/net_cache.c:158 -msgid "" -"\n" -"Usage:\n" -"net cache add <key string> <data string> <timeout>\n" -msgstr "" - -#: ../utils/net_cache.c:170 -msgid "Invalid timeout argument.\n" -msgstr "" - -#: ../utils/net_cache.c:175 -msgid "New cache entry stored successfully.\n" -msgstr "" - -#: ../utils/net_cache.c:179 -msgid "Entry couldn't be added. Perhaps there's already such a key.\n" -msgstr "" - -#: ../utils/net_cache.c:195 -msgid "" -"\n" -"Usage: net cache del <key string>\n" -msgstr "" - -#: ../utils/net_cache.c:200 -msgid "Entry deleted.\n" -msgstr "" - -#: ../utils/net_cache.c:204 -msgid "Couldn't delete specified entry\n" -msgstr "" - -#: ../utils/net_cache.c:223 -msgid "" -"\n" -"Usage: net cache get <key>\n" -msgstr "" - -#: ../utils/net_cache.c:233 -msgid "Failed to find entry\n" -msgstr "" - -#: ../utils/net_cache.c:250 -msgid "Usage: net cache search <pattern>\n" -msgstr "" - -#: ../utils/net_cache.c:272 -msgid "" -"Usage:\n" -"net cache list\n" -" List all cache entries.\n" -msgstr "" - -#: ../utils/net_cache.c:293 ../utils/net_cache.c:306 -msgid "" -"Usage:\n" -"net cache flush\n" -" Delete all cache entries.\n" -msgstr "" - -#: ../utils/net_cache.c:331 -msgid "Add new cache entry" -msgstr "" - -#: ../utils/net_cache.c:332 -msgid "" -"net cache add <key string> <data string> <timeout>\n" -" Add new cache entry.\n" -" key string\tKey string to add cache data under.\n" -" data string\tData to store under given key.\n" -" timeout\tTimeout for cache data." -msgstr "" - -#: ../utils/net_cache.c:342 -msgid "Delete existing cache entry by key" -msgstr "" - -#: ../utils/net_cache.c:343 -msgid "" -"net cache del <key string>\n" -" Delete existing cache entry by key.\n" -" key string\tKey string to delete." -msgstr "" - -#: ../utils/net_cache.c:351 -msgid "Get cache entry by key" -msgstr "" - -#: ../utils/net_cache.c:352 -msgid "" -"net cache get <key string>\n" -" Get cache entry by key.\n" -" key string\tKey string to look up cache entry for." -msgstr "" - -#: ../utils/net_cache.c:361 -msgid "Search entry by pattern" -msgstr "" - -#: ../utils/net_cache.c:362 -msgid "" -"net cache search <pattern>\n" -" Search entry by pattern.\n" -" pattern\tPattern to search for in cache." -msgstr "" - -#: ../utils/net_cache.c:370 -msgid "List all cache entries" -msgstr "" - -#: ../utils/net_cache.c:371 -msgid "" -"net cache list\n" -" List all cache entries" -msgstr "" - -#: ../utils/net_cache.c:378 -#, fuzzy -msgid "Delete all cache entries" -msgstr "Cancella Stampante" - -#: ../utils/net_cache.c:379 -msgid "" -"net cache flush\n" -" Delete all cache entries" -msgstr "" - -#: ../utils/net_cache.c:386 -msgid "Move transient cache content to stable storage" -msgstr "" - -#: ../utils/net_cache.c:387 -msgid "" -"net cache stabilize\n" -" Move transient cache content to stable storage" -msgstr "" - -#: ../utils/net_conf.c:42 -msgid "USAGE: net conf list\n" -msgstr "" - -#: ../utils/net_conf.c:49 -msgid "" -"USAGE: net conf import [--test|-T] <filename> [<servicename>]\n" -"\t[--test|-T] testmode - do not act, just print what would be done\n" -"\t<servicename> only import service <servicename>, ignore the rest\n" -msgstr "" - -#: ../utils/net_conf.c:61 -msgid "USAGE: net conf listshares\n" -msgstr "" - -#: ../utils/net_conf.c:68 -msgid "USAGE: net conf drop\n" -msgstr "" - -#: ../utils/net_conf.c:75 -msgid "USAGE: net conf showshare <sharename>\n" -msgstr "" - -#: ../utils/net_conf.c:82 -msgid "" -"USAGE: net conf addshare <sharename> <path> [writeable={y|N} [guest_ok={y|N} [<comment>]]\n" -"\t<sharename> the new share name.\n" -"\t<path> the path on the filesystem to export.\n" -"\twriteable={y|N} set \"writeable to \"yes\" or \"no\" (default) on this share.\n" -"\tguest_ok={y|N} set \"guest ok\" to \"yes\" or \"no\" (default) on this share.\n" -"\t<comment> optional comment for the new share.\n" -msgstr "" - -#: ../utils/net_conf.c:97 -msgid "USAGE: net conf delshare <sharename>\n" -msgstr "" - -#: ../utils/net_conf.c:104 -msgid "USAGE: net conf setparm <section> <param> <value>\n" -msgstr "" - -#: ../utils/net_conf.c:111 -msgid "USAGE: net conf getparm <section> <param>\n" -msgstr "" - -#: ../utils/net_conf.c:118 -msgid "USAGE: net conf delparm <section> <param>\n" -msgstr "" - -#: ../utils/net_conf.c:125 -msgid "USAGE: net conf getincludes <section>\n" -msgstr "" - -#: ../utils/net_conf.c:132 -msgid "USAGE: net conf setincludes <section> [<filename>]*\n" -msgstr "" - -#: ../utils/net_conf.c:139 -msgid "USAGE: net conf delincludes <section>\n" -msgstr "" - -#: ../utils/net_conf.c:251 -#, c-format -msgid "Error getting config: %s\n" -msgstr "" - -#: ../utils/net_conf.c:305 ../utils/net_conf.c:318 ../utils/net_conf.c:614 ../utils/net_conf.c:742 ../utils/net_conf.c:780 ../utils/net_conf.c:786 ../utils/net_conf.c:860 ../utils/net_conf.c:866 ../utils/net_conf.c:916 ../utils/net_conf.c:970 -#: ../utils/net_conf.c:1010 ../utils/net_conf.c:1050 -msgid "error: out of memory!\n" -msgstr "" - -#: ../utils/net_conf.c:324 -#, c-format -msgid "error loading file '%s': %s\n" -msgstr "" - -#: ../utils/net_conf.c:330 -msgid "" -"\n" -"TEST MODE - would import the following configuration:\n" -"\n" -msgstr "" - -#: ../utils/net_conf.c:346 ../utils/net_conf.c:382 ../utils/net_conf.c:407 ../utils/net_conf.c:793 -#, c-format -msgid "error starting transaction: %s\n" -msgstr "" - -#: ../utils/net_conf.c:400 ../utils/net_conf.c:416 ../utils/net_conf.c:817 -#, c-format -msgid "error committing transaction: %s\n" -msgstr "" - -#: ../utils/net_conf.c:427 ../utils/net_conf.c:828 -#, c-format -msgid "error cancelling transaction: %s\n" -msgstr "" - -#: ../utils/net_conf.c:484 -#, c-format -msgid "Error deleting configuration: %s\n" -msgstr "" - -#: ../utils/net_conf.c:521 -#, c-format -msgid "error getting share parameters: %s\n" -msgstr "" - -#: ../utils/net_conf.c:630 -#, c-format -msgid "ERROR: share name %s contains invalid characters (any of %s)\n" -msgstr "" - -#: ../utils/net_conf.c:638 -msgid "ERROR: 'global' is not a valid share name.\n" -msgstr "" - -#: ../utils/net_conf.c:643 -#, c-format -msgid "ERROR: share %s already exists.\n" -msgstr "" - -#: ../utils/net_conf.c:652 -#, c-format -msgid "Error: path '%s' is not an absolute path.\n" -msgstr "" - -#: ../utils/net_conf.c:659 -#, c-format -msgid "" -"ERROR: cannot stat path '%s' to ensure this is a directory.\n" -"Error was '%s'.\n" -msgstr "" - -#: ../utils/net_conf.c:668 -#, c-format -msgid "ERROR: path '%s' is not a directory.\n" -msgstr "" - -#: ../utils/net_conf.c:679 -#, c-format -msgid "Error creating share %s: %s\n" -msgstr "" - -#: ../utils/net_conf.c:690 ../utils/net_conf.c:699 ../utils/net_conf.c:707 ../utils/net_conf.c:715 -#, c-format -msgid "Error setting parameter %s: %s\n" -msgstr "" - -#: ../utils/net_conf.c:748 -#, c-format -msgid "Error deleting share %s: %s\n" -msgstr "" - -#: ../utils/net_conf.c:801 -#, c-format -msgid "Error creating share '%s': %s\n" -msgstr "" - -#: ../utils/net_conf.c:810 -#, c-format -msgid "Error setting value '%s': %s\n" -msgstr "" - -#: ../utils/net_conf.c:874 ../utils/net_conf.c:930 -#, c-format -msgid "Error: given service '%s' does not exist.\n" -msgstr "" - -#: ../utils/net_conf.c:879 ../utils/net_conf.c:935 -#, c-format -msgid "Error: given parameter '%s' is not set.\n" -msgstr "" - -#: ../utils/net_conf.c:883 -#, c-format -msgid "Error getting value '%s': %s.\n" -msgstr "" - -#: ../utils/net_conf.c:939 -#, c-format -msgid "Error deleting value '%s': %s.\n" -msgstr "" - -#: ../utils/net_conf.c:977 -#, c-format -msgid "error getting includes: %s\n" -msgstr "" - -#: ../utils/net_conf.c:1023 -#, c-format -msgid "error setting includes: %s\n" -msgstr "" - -#: ../utils/net_conf.c:1056 -#, c-format -msgid "error deleting includes: %s\n" -msgstr "" - -#: ../utils/net_conf.c:1136 ../utils/net_help.c:36 -msgid "Usage:\n" -msgstr "" - -#: ../utils/net_conf.c:1160 -msgid "Dump the complete configuration in smb.conf like format." -msgstr "" - -#: ../utils/net_conf.c:1162 -msgid "" -"net conf list\n" -" Dump the complete configuration in smb.conf like format." -msgstr "" - -#: ../utils/net_conf.c:1171 -msgid "Import configuration from file in smb.conf format." -msgstr "" - -#: ../utils/net_conf.c:1173 -msgid "" -"net conf import\n" -" Import configuration from file in smb.conf format." -msgstr "" - -#: ../utils/net_conf.c:1181 -msgid "List the share names." -msgstr "" - -#: ../utils/net_conf.c:1182 -msgid "" -"net conf listshares\n" -" List the share names." -msgstr "" - -#: ../utils/net_conf.c:1189 -msgid "Delete the complete configuration." -msgstr "" - -#: ../utils/net_conf.c:1190 -msgid "" -"net conf drop\n" -" Delete the complete configuration." -msgstr "" - -#: ../utils/net_conf.c:1197 -msgid "Show the definition of a share." -msgstr "" - -#: ../utils/net_conf.c:1198 -msgid "" -"net conf showshare\n" -" Show the definition of a share." -msgstr "" - -#: ../utils/net_conf.c:1205 -#, fuzzy -msgid "Create a new share." -msgstr "Crea Condivisione" - -#: ../utils/net_conf.c:1206 -msgid "" -"net conf addshare\n" -" Create a new share." -msgstr "" - -#: ../utils/net_conf.c:1213 -#, fuzzy -msgid "Delete a share." -msgstr "Cancella Condivisione" - -#: ../utils/net_conf.c:1214 -msgid "" -"net conf delshare\n" -" Delete a share." -msgstr "" - -#: ../utils/net_conf.c:1221 -#, fuzzy -msgid "Store a parameter." -msgstr "Parametri Condivisioni" - -#: ../utils/net_conf.c:1222 -msgid "" -"net conf setparm\n" -" Store a parameter." -msgstr "" - -#: ../utils/net_conf.c:1229 -msgid "Retrieve the value of a parameter." -msgstr "" - -#: ../utils/net_conf.c:1230 -msgid "" -"net conf getparm\n" -" Retrieve the value of a parameter." -msgstr "" - -#: ../utils/net_conf.c:1237 -#, fuzzy -msgid "Delete a parameter." -msgstr "Cancella Stampante" - -#: ../utils/net_conf.c:1238 -msgid "" -"net conf delparm\n" -" Delete a parameter." -msgstr "" - -#: ../utils/net_conf.c:1245 -msgid "Show the includes of a share definition." -msgstr "" - -#: ../utils/net_conf.c:1246 -msgid "" -"net conf getincludes\n" -" Show the includes of a share definition." -msgstr "" - -#: ../utils/net_conf.c:1253 -msgid "Set includes for a share." -msgstr "" - -#: ../utils/net_conf.c:1254 -msgid "" -"net conf setincludes\n" -" Set includes for a share." -msgstr "" - -#: ../utils/net_conf.c:1261 -msgid "Delete includes from a share definition." -msgstr "" - -#: ../utils/net_conf.c:1262 -msgid "" -"net conf setincludes\n" -" Delete includes from a share definition." -msgstr "" - -#: ../utils/net_dom.c:25 -msgid "" -"usage: net dom join <domain=DOMAIN> <ou=OU> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Join a remote machine\n" -msgstr "" - -#: ../utils/net_dom.c:28 -msgid "" -"usage: net dom unjoin <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Unjoin a remote machine\n" -msgstr "" - -#: ../utils/net_dom.c:31 -msgid "" -"usage: net dom renamecomputer <newname=NEWNAME> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Rename joined computer\n" -msgstr "" - -#: ../utils/net_dom.c:91 -#, c-format -msgid "Failed to unjoin domain: %s\n" -msgstr "" - -#: ../utils/net_dom.c:97 ../utils/net_dom.c:204 -msgid "Shutting down due to a domain membership change" -msgstr "" - -#: ../utils/net_dom.c:290 -#, c-format -msgid "Failed to rename machine: " -msgstr "" - -#: ../utils/net_dom.c:292 -#, c-format -msgid "Computer is not joined to a Domain\n" -msgstr "" - -#: ../utils/net_dom.c:301 -msgid "Shutting down due to a computer rename" -msgstr "" - -#: ../utils/net_dom.c:338 -#, fuzzy -msgid "Join a remote machine" -msgstr " Macchina Remota" - -#: ../utils/net_dom.c:339 -msgid "" -"net dom join <domain=DOMAIN> <ou=OU> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Join a remote machine" -msgstr "" - -#: ../utils/net_dom.c:347 -#, fuzzy -msgid "Unjoin a remote machine" -msgstr " Macchina Remota" - -#: ../utils/net_dom.c:348 -msgid "" -"net dom unjoin <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Unjoin a remote machine" -msgstr "" - -#: ../utils/net_dom.c:356 -msgid "Rename a computer that is joined to a domain" -msgstr "" - -#: ../utils/net_dom.c:357 -msgid "" -"net dom renamecomputer <newname=NEWNAME> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Rename joined computer" -msgstr "" - -#: ../utils/net_eventlog.c:46 -msgid "usage: net eventlog dump <file.evt>\n" -msgstr "" - -#: ../utils/net_eventlog.c:52 ../utils/net_eventlog.c:108 -#, c-format -msgid "failed to load evt file: %s\n" -msgstr "" - -#: ../utils/net_eventlog.c:59 ../utils/net_eventlog.c:129 -#, fuzzy, c-format -msgid "evt pull failed: %s\n" -msgstr "Gestione Password" - -#: ../utils/net_eventlog.c:102 -msgid "usage: net eventlog import <file> <eventlog>\n" -msgstr "" - -#: ../utils/net_eventlog.c:116 -#, fuzzy, c-format -msgid "evt header pull failed: %s\n" -msgstr "Gestione Password" - -#: ../utils/net_eventlog.c:122 -msgid "input file is wrapped, cannot proceed\n" -msgstr "" - -#: ../utils/net_eventlog.c:138 ../utils/net_eventlog.c:203 -#, c-format -msgid "can't open the eventlog TDB (%s)\n" -msgstr "" - -#: ../utils/net_eventlog.c:158 -#, c-format -msgid "can't write to the eventlog: %s\n" -msgstr "" - -#: ../utils/net_eventlog.c:164 -#, c-format -msgid "wrote %d entries to tdb\n" -msgstr "" - -#: ../utils/net_eventlog.c:197 -msgid "usage: net eventlog export <file> <eventlog>\n" -msgstr "" - -#: ../utils/net_eventlog.c:214 -#, c-format -msgid "failed to save evt file: %s\n" -msgstr "" - -#: ../utils/net_eventlog.c:243 -msgid "Dump eventlog" -msgstr "" - -#: ../utils/net_eventlog.c:244 -msgid "" -"net eventlog dump\n" -" Dump win32 *.evt eventlog file" -msgstr "" - -#: ../utils/net_eventlog.c:251 -#, fuzzy -msgid "Import eventlog" -msgstr "Nota Importante:" - -#: ../utils/net_eventlog.c:252 -msgid "" -"net eventlog import\n" -" Import win32 *.evt eventlog file" -msgstr "" - -#: ../utils/net_eventlog.c:259 -msgid "Export eventlog" -msgstr "" - -#: ../utils/net_eventlog.c:260 -msgid "" -"net eventlog export\n" -" Export win32 *.evt eventlog file" -msgstr "" - -#: ../utils/net_file.c:27 -msgid "" -"net [<method>] file [misc. options] [targets]\n" -"\tlists all open files on file server\n" -msgstr "" - -#: ../utils/net_file.c:29 -msgid "" -"net [<method>] file USER <username> [misc. options] [targets]\n" -"\tlists all files opened by username on file server\n" -msgstr "" - -#: ../utils/net_file.c:32 -msgid "" -"net [<method>] file CLOSE <id> [misc. options] [targets]\n" -"\tcloses specified file on target server\n" -msgstr "" - -#: ../utils/net_file.c:34 -msgid "" -"net [rap] file INFO <id> [misc. options] [targets]\n" -"\tdisplays information about the specified open file\n" -msgstr "" - -#: ../utils/net_group.c:27 -msgid "" -"net [<method>] group [misc. options] [targets]\n" -"\tList user groups\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:29 -msgid "" -"net rpc group LIST [global|local|builtin]* [misc. options]\n" -"\tList specific user groups\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:31 -msgid "" -"net [<method>] group DELETE <name> [misc. options] [targets]\n" -"\tDelete specified group\n" -msgstr "" - -#: ../utils/net_group.c:34 -msgid "" -"\n" -"net [<method>] group ADD <name> [-C comment] [-c container] [misc. options] [targets]\n" -"\tCreate specified group\n" -msgstr "" - -#: ../utils/net_group.c:37 -msgid "" -"\n" -"net rpc group MEMBERS <name>\n" -"\tList Group Members\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:38 -msgid "" -"\n" -"net rpc group ADDMEM <group> <member>\n" -"\tAdd Group Members\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:40 -msgid "" -"\n" -"net rpc group DELMEM <group> <member>\n" -"\tDelete Group Members\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:44 -msgid "\t-C or --comment=<comment>\tdescriptive comment (for add only)\n" -msgstr "" - -#: ../utils/net_group.c:46 -msgid "\t-c or --container=<container>\tLDAP container, defaults to cn=Users (for add in ADS only)\n" -msgstr "" - -#: ../utils/net_group.c:48 -msgid "\t-L or --localgroup\t\tWhen adding groups, create a local group (alias)\n" -msgstr "" - -#: ../utils/net_groupmap.c:38 -#, c-format -msgid "NT Group %s doesn't exist in mapping DB\n" -msgstr "" - -#: ../utils/net_groupmap.c:46 -#, c-format -msgid "converting sid %s from a string failed!\n" -msgstr "" - -#: ../utils/net_groupmap.c:65 -#, c-format -msgid "\tSID : %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:66 -#, c-format -msgid "\tUnix gid : %u\n" -msgstr "" - -#: ../utils/net_groupmap.c:67 -#, c-format -msgid "\tUnix group: %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:68 -#, c-format -msgid "\tGroup type: %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:70 -#, c-format -msgid "\tComment : %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:84 -msgid "" -"net groupmap list [verbose] [ntgroup=NT group] [sid=SID]\n" -" verbose\tPrint verbose list\n" -" ntgroup\tNT group to list\n" -" sid\tSID of group to list" -msgstr "" - -#: ../utils/net_groupmap.c:91 ../utils/net_groupmap.c:271 ../utils/net_groupmap.c:356 ../utils/net_groupmap.c:412 ../utils/net_groupmap.c:495 ../utils/net_groupmap.c:522 -#, fuzzy, c-format -msgid "" -"Usage:\n" -"%s\n" -msgstr " Nome Utente" - -#: ../utils/net_groupmap.c:106 ../utils/net_groupmap.c:213 ../utils/net_groupmap.c:220 ../utils/net_groupmap.c:365 ../utils/net_groupmap.c:372 ../utils/net_groupmap.c:504 -msgid "must supply a name\n" -msgstr "" - -#: ../utils/net_groupmap.c:113 ../utils/net_groupmap.c:227 ../utils/net_groupmap.c:511 -msgid "must supply a SID\n" -msgstr "" - -#: ../utils/net_groupmap.c:118 ../utils/net_groupmap.c:265 ../utils/net_groupmap.c:406 ../utils/net_groupmap.c:516 -#, fuzzy, c-format -msgid "Bad option: %s\n" -msgstr "Opzioni Basilari" - -#: ../utils/net_groupmap.c:139 -msgid "Failure to local group SID in the database\n" -msgstr "" - -#: ../utils/net_groupmap.c:181 -msgid "net groupmap add {rid=<int>|sid=<string>} unixgroup=<string> [type=<domain|local|builtin>] [ntgroup=<string>] [comment=<string>]" -msgstr "" - -#: ../utils/net_groupmap.c:195 -#, fuzzy, c-format -msgid "" -"Usage\n" -"%s\n" -msgstr " Nome Utente" - -#: ../utils/net_groupmap.c:205 -#, c-format -msgid "RID must be greater than %d\n" -msgstr "" - -#: ../utils/net_groupmap.c:235 ../utils/net_groupmap.c:380 -msgid "must supply a comment string\n" -msgstr "" - -#: ../utils/net_groupmap.c:259 -#, c-format -msgid "unknown group type %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:276 -#, c-format -msgid "Can't lookup UNIX group %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:282 -#, c-format -msgid "Unix group %s already mapped to SID %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:289 -msgid "No rid or sid specified, choosing a RID\n" -msgstr "" - -#: ../utils/net_groupmap.c:292 -msgid "Could not get new RID\n" -msgstr "" - -#: ../utils/net_groupmap.c:297 -#, c-format -msgid "Got RID %d\n" -msgstr "" - -#: ../utils/net_groupmap.c:328 -#, c-format -msgid "adding entry for group %s failed!\n" -msgstr "" - -#: ../utils/net_groupmap.c:332 -#, c-format -msgid "Successfully added group %s to the mapping db as a %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:349 -msgid "net groupmap modify {ntgroup=<string>|sid=<SID>} [comment=<string>] [unixgroup=<string>] [type=<domain|local>]" -msgstr "" - -#: ../utils/net_groupmap.c:388 -msgid "must supply a group name\n" -msgstr "" - -#: ../utils/net_groupmap.c:434 -msgid "Failed to find local group SID in the database\n" -msgstr "" - -#: ../utils/net_groupmap.c:443 -msgid "Can't map to an unknown group type.\n" -msgstr "" - -#: ../utils/net_groupmap.c:449 -msgid "You can only change between domain and local groups.\n" -msgstr "" - -#: ../utils/net_groupmap.c:466 -#, c-format -msgid "Unable to lookup UNIX group %s. Make sure the group exists.\n" -msgstr "" - -#: ../utils/net_groupmap.c:476 -msgid "Could not update group database\n" -msgstr "" - -#: ../utils/net_groupmap.c:480 -#, c-format -msgid "Updated mapping entry for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:491 -msgid "net groupmap delete {ntgroup=<string>|sid=<SID>}" -msgstr "" - -#: ../utils/net_groupmap.c:532 -#, c-format -msgid "Unable to resolve group %s to a SID\n" -msgstr "" - -#: ../utils/net_groupmap.c:539 -#, c-format -msgid "Failed to remove group %s from the mapping db!\n" -msgstr "" - -#: ../utils/net_groupmap.c:544 -#, c-format -msgid "Sucessfully removed %s from the mapping db\n" -msgstr "" - -#: ../utils/net_groupmap.c:557 -msgid "Usage: net groupmap set \"NT Group\" [\"unix group\"] [-C \"comment\"] [-L] [-D]\n" -msgstr "" - -#: ../utils/net_groupmap.c:563 -msgid "Can only specify -L or -D, not both\n" -msgstr "" - -#: ../utils/net_groupmap.c:573 -#, c-format -msgid "Could not find unix group %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:594 -#, c-format -msgid "Could not find group mapping for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:605 -msgid "Could not allocate new RID\n" -msgstr "" - -#: ../utils/net_groupmap.c:622 -#, c-format -msgid "Could not add mapping entry for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:633 -#, c-format -msgid "Can't change type of the BUILTIN group %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:660 -#, c-format -msgid "Could not update group mapping for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:674 -msgid "" -"Usage:\n" -"net groupmap cleanup\n" -" Delete all group mappings\n" -msgstr "" - -#: ../utils/net_groupmap.c:682 -msgid "Could not list group mappings\n" -msgstr "" - -#: ../utils/net_groupmap.c:689 -#, c-format -msgid "Group %s is not mapped\n" -msgstr "" - -#: ../utils/net_groupmap.c:692 -#, c-format -msgid "Deleting mapping for NT Group %s, sid %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:712 -msgid "Usage: net groupmap addmem alias-sid member-sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:717 -#, c-format -msgid "Could not add sid %s to alias %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:733 -msgid "Usage: net groupmap delmem alias-sid member-sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:738 -#, c-format -msgid "Could not delete sid %s from alias %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:755 -msgid "Usage: net groupmap listmem alias-sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:764 -#, c-format -msgid "Could not list members for sid %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:791 -#, c-format -msgid "Could not list memberships for sid %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:814 -msgid "Usage: net groupmap memberof sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:820 ../utils/net_idmap.c:345 -msgid "talloc_init failed\n" -msgstr "" - -#: ../utils/net_groupmap.c:827 -msgid "Could not get domain sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:850 -msgid "Create a new group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:851 -msgid "" -"net groupmap add\n" -" Create a new group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:858 -msgid "Update a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:859 -msgid "" -"net groupmap modify\n" -" Modify an existing group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:866 -msgid "Remove a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:867 -msgid "" -"net groupmap delete\n" -" Remove a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:874 -msgid "Set group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:875 -msgid "" -"net groupmap set\n" -" Set a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:882 -msgid "Remove foreign group mapping entries" -msgstr "" - -#: ../utils/net_groupmap.c:883 -msgid "" -"net groupmap cleanup\n" -" Remove foreign group mapping entries" -msgstr "" - -#: ../utils/net_groupmap.c:890 -msgid "Add a foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:891 -msgid "" -"net groupmap addmem\n" -" Add a foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:898 -msgid "Delete foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:899 -msgid "" -"net groupmap delmem\n" -" Delete foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:906 -msgid "List foreign group members" -msgstr "" - -#: ../utils/net_groupmap.c:907 -msgid "" -"net groupmap listmem\n" -" List foreign alias members" -msgstr "" - -#: ../utils/net_groupmap.c:914 -msgid "List foreign group memberships" -msgstr "" - -#: ../utils/net_groupmap.c:915 -msgid "" -"net groupmap memberships\n" -" List foreign group memberships" -msgstr "" - -#: ../utils/net_groupmap.c:922 -msgid "List current group map" -msgstr "" - -#: ../utils/net_groupmap.c:923 -msgid "" -"net groupmap list\n" -" List current group map" -msgstr "" - -#: ../utils/net_help.c:39 -#, c-format -msgid "net %s usage:\n" -msgstr "" - -#: ../utils/net_help_common.c:25 ../utils/net_join.c:28 -msgid "Valid methods: (auto-detected if not specified)\n" -msgstr "" - -#: ../utils/net_help_common.c:26 ../utils/net_join.c:29 -msgid "\tads\t\t\t\tActive Directory (LDAP/Kerberos)\n" -msgstr "" - -#: ../utils/net_help_common.c:27 ../utils/net_join.c:30 -msgid "\trpc\t\t\t\tDCE-RPC\n" -msgstr "" - -#: ../utils/net_help_common.c:28 -msgid "\trap\t\t\t\tRAP (older systems)\n" -msgstr "" - -#: ../utils/net_help_common.c:35 -msgid "Valid targets: choose one (none defaults to localhost)\n" -msgstr "" - -#: ../utils/net_help_common.c:36 -msgid "\t-S or --server=<server>\t\tserver name\n" -msgstr "" - -#: ../utils/net_help_common.c:37 -msgid "\t-I or --ipaddress=<ipaddr>\taddress of target server\n" -msgstr "" - -#: ../utils/net_help_common.c:38 -msgid "\t-w or --workgroup=<wg>\t\ttarget workgroup or domain\n" -msgstr "" - -#: ../utils/net_help_common.c:41 -#, fuzzy -msgid "Valid miscellaneous options are:\n" -msgstr "Opzioni Generiche" - -#. misc options -#: ../utils/net_help_common.c:42 -msgid "\t-p or --port=<port>\t\tconnection port on target\n" -msgstr "" - -#: ../utils/net_help_common.c:43 -msgid "\t-W or --myworkgroup=<wg>\tclient workgroup\n" -msgstr "" - -#: ../utils/net_help_common.c:44 -msgid "\t-d or --debuglevel=<level>\tdebug level (0-10)\n" -msgstr "" - -#: ../utils/net_help_common.c:45 -msgid "\t-n or --myname=<name>\t\tclient name\n" -msgstr "" - -#: ../utils/net_help_common.c:46 -msgid "\t-U or --user=<name>\t\tuser name\n" -msgstr "" - -#: ../utils/net_help_common.c:47 -msgid "\t-s or --configfile=<path>\tpathname of smb.conf file\n" -msgstr "" - -#: ../utils/net_help_common.c:48 -msgid "\t-l or --long\t\t\tDisplay full information\n" -msgstr "" - -#: ../utils/net_help_common.c:49 -msgid "\t-V or --version\t\t\tPrint samba version information\n" -msgstr "" - -#: ../utils/net_help_common.c:50 -msgid "\t-P or --machine-pass\t\tAuthenticate as machine account\n" -msgstr "" - -#: ../utils/net_help_common.c:52 -msgid "\t-e or --encrypt\t\t\tEncrypt SMB transport (UNIX extended servers only)\n" -msgstr "" - -#: ../utils/net_help_common.c:54 -msgid "\t-k or --kerberos\t\tUse kerberos (active directory) authentication\n" -msgstr "" - -#: ../utils/net_idmap.c:25 -msgid "Out of memory!\n" -msgstr "" - -#: ../utils/net_idmap.c:39 -#, c-format -msgid "USER HWM %d\n" -msgstr "" - -#: ../utils/net_idmap.c:44 -#, c-format -msgid "GROUP HWM %d\n" -msgstr "" - -#: ../utils/net_idmap.c:63 -msgid "" -"Usage:\n" -"net idmap dump <inputfile>\n" -" Dump current ID mapping.\n" -" inputfile\tTDB file to read mappings from.\n" -msgstr "" - -#: ../utils/net_idmap.c:73 -#, c-format -msgid "Could not open idmap: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:94 -msgid "" -"Usage:\n" -"net idmap restore [inputfile]\n" -" Restore ID mappings from file\n" -" inputfile\tFile to load ID mappings from. If not given, load data from stdin.\n" -msgstr "" - -#: ../utils/net_idmap.c:104 -msgid "To use net idmap Winbindd must be running.\n" -msgstr "" - -#: ../utils/net_idmap.c:142 -#, c-format -msgid "Could not set USER HWM: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:151 -#, c-format -msgid "Could not set GROUP HWM: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:156 -#, c-format -msgid "ignoring invalid line [%s]\n" -msgstr "" - -#: ../utils/net_idmap.c:163 -#, c-format -msgid "ignoring invalid sid [%s]: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:175 -#, c-format -msgid "Could not set mapping of %s %lu to sid %s: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:196 ../utils/net_idmap.c:202 -msgid "Not Implemented yet\n" -msgstr "" - -#: ../utils/net_idmap.c:240 -msgid "" -"Usage:\n" -"net idmap secret {<DOMAIN>|alloc} <secret>\n" -" Set the secret for the specified domain (or alloc module)\n" -" DOMAIN\tDomain to set secret for.\n" -" alloc\tSet secret for the alloc module\n" -" secret\tNew secret to set.\n" -msgstr "" - -#: ../utils/net_idmap.c:271 -msgid "The only currently supported backend is LDAP\n" -msgstr "" - -#: ../utils/net_idmap.c:281 -#, c-format -msgid "Missing ldap_user_dn option for domain %s\n" -msgstr "" - -#: ../utils/net_idmap.c:292 -msgid "Missing ldap_user_dn option for alloc backend\n" -msgstr "" - -#: ../utils/net_idmap.c:302 -msgid "Failed to store secret\n" -msgstr "" - -#: ../utils/net_idmap.c:307 -msgid "Secret stored\n" -msgstr "" - -#: ../utils/net_idmap.c:313 -msgid "" -"net idmap dump <inputfile>\n" -" Dump current id mapping\n" -msgstr "" - -#: ../utils/net_idmap.c:316 -msgid "" -"net idmap restore\n" -" Restore entries from stdin\n" -msgstr "" - -#. Deliberately *not* document net idmap delete -#: ../utils/net_idmap.c:321 -msgid "" -"net idmap secret <DOMAIN>|alloc <secret>\n" -" Set the secret for the specified DOMAIN (or the alloc module)\n" -msgstr "" - -#: ../utils/net_idmap.c:339 -msgid "usage: net idmap aclmapset <tdb> <src-sid> <dst-sid>\n" -msgstr "" - -#: ../utils/net_idmap.c:351 -#, fuzzy, c-format -msgid "db_open failed: %s\n" -msgstr "Gestione Password" - -#: ../utils/net_idmap.c:356 ../utils/net_idmap.c:361 -#, c-format -msgid "%s is not a valid sid\n" -msgstr "" - -#: ../utils/net_idmap.c:367 -msgid "talloc_strdup failed\n" -msgstr "" - -#: ../utils/net_idmap.c:373 -msgid "could not fetch db record\n" -msgstr "" - -#: ../utils/net_idmap.c:381 -#, c-format -msgid "could not store record: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:402 -msgid "Dump the current ID mappings" -msgstr "" - -#: ../utils/net_idmap.c:403 -msgid "" -"net idmap dump\n" -" Dump the current ID mappings" -msgstr "" - -#: ../utils/net_idmap.c:410 -msgid "Restore entries from stdin" -msgstr "" - -#: ../utils/net_idmap.c:411 -msgid "" -"net idmap restore\n" -" Restore entries from stdin" -msgstr "" - -#: ../utils/net_idmap.c:418 ../utils/net_idmap.c:426 -msgid "Not implemented yet" -msgstr "" - -#: ../utils/net_idmap.c:419 -msgid "" -"net idmap setmap\n" -" Not implemented yet" -msgstr "" - -#: ../utils/net_idmap.c:427 -msgid "" -"net idmap delete\n" -" Not implemented yet" -msgstr "" - -#: ../utils/net_idmap.c:434 -msgid "Set secret for specified domain" -msgstr "" - -#: ../utils/net_idmap.c:435 -msgid "" -"net idmap secret {<DOMAIN>|alloc} <secret>\n" -" Set secret for specified domain or alloc module" -msgstr "" - -#: ../utils/net_idmap.c:442 -msgid "Set acl map" -msgstr "" - -#: ../utils/net_idmap.c:443 -msgid "" -"net idmap aclmapset\n" -" Set acl map" -msgstr "" - -#: ../utils/net_join.c:26 -msgid "" -"\n" -"net [<method>] join [misc. options]\n" -"\tjoins this server to a domain\n" -msgstr "" - -#: ../utils/net_join.c:47 -msgid "ADS join did not work, falling back to RPC...\n" -msgstr "" - -#: ../utils/net_lookup.c:25 -msgid "" -" net lookup [host] HOSTNAME[#<type>]\n" -"\tgives IP for a hostname\n" -"\n" -" net lookup ldap [domain]\n" -"\tgives IP of domain's ldap server\n" -"\n" -" net lookup kdc [realm]\n" -"\tgives IP of realm's kerberos KDC\n" -"\n" -" net lookup pdc [domain|realm]\n" -"\tgives IP of realm's kerberos KDC\n" -"\n" -" net lookup dc [domain]\n" -"\tgives IP of domains Domain Controllers\n" -"\n" -" net lookup master [domain|wg]\n" -"\tgive IP of master browser\n" -"\n" -" net lookup name [name]\n" -"\tLookup name's sid and type\n" -"\n" -" net lookup sid [sid]\n" -"\tGive sid's name and type\n" -"\n" -" net lookup dsgetdcname [name] [flags] [sitename]\n" -"\n" -msgstr "" - -#: ../utils/net_lookup.c:112 -msgid "net_lookup_ldap: talloc_init() failed!\n" -msgstr "" - -#: ../utils/net_lookup.c:325 -msgid "usage: net lookup name <name>\n" -msgstr "" - -#: ../utils/net_lookup.c:331 ../utils/net_lookup.c:358 -#, c-format -msgid "Could not lookup name %s\n" -msgstr "" - -#: ../utils/net_lookup.c:347 -msgid "usage: net lookup sid <sid>\n" -msgstr "" - -#: ../utils/net_lookup.c:352 -#, c-format -msgid "Could not convert %s to SID\n" -msgstr "" - -#: ../utils/net_lookup.c:378 -msgid "usage: net lookup dsgetdcname <name> <flags> <sitename>\n" -msgstr "" - -#: ../utils/net_lookup.c:404 -#, c-format -msgid "failed with: %s\n" -msgstr "" - -#: ../utils/net_lookup.c:437 -msgid "" -"\n" -"Usage: \n" -msgstr "" - -#: ../utils/net_lua.c:60 -msgid "connect: Expected IP-Address" -msgstr "" - -#: ../utils/net_lua.c:65 -msgid "connect: Expected port" -msgstr "" - -#: ../utils/net_lua.c:84 -#, fuzzy, c-format -msgid "connect failed: %s" -msgstr "Gestione Password" - -#: ../utils/net_lua.c:132 -#, c-format -msgid "socket domain %s unknown" -msgstr "" - -#: ../utils/net_lua.c:144 -#, c-format -msgid "socket type %s unknown" -msgstr "" - -#: ../utils/net_lua.c:155 -#, fuzzy, c-format -msgid "socket() failed: %s" -msgstr "Gestione Password" - -#: ../utils/net_lua.c:278 -msgid "evt_reference_thread failed\n" -msgstr "" - -#: ../utils/net_lua.c:287 -msgid "event_add_timed failed" -msgstr "" - -#: ../utils/net_lua.c:300 -msgid "event_once called from non-base thread" -msgstr "" - -#: ../utils/net_lua.c:323 -msgid "event_context_init failed" -msgstr "" - -#: ../utils/net_lua.c:353 -msgid "lua_newstate failed\n" -msgstr "" - -#: ../utils/net_lua.c:371 -msgid "luaL_dofile returned an error\n" -msgstr "" - -#: ../utils/net_lua.c:376 -msgid "luaL_dostring returned an error\n" -msgstr "" diff --git a/source3/po/ja.msg b/source3/po/ja.msg index e3cc5ad5f1..52ec57105f 100644 --- a/source3/po/ja.msg +++ b/source3/po/ja.msg @@ -18,8 +18,7 @@ msgid "" msgstr "" "Project-Id-Version: i18n-swat\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-07-30 12:18+0200\n" +"POT-Creation-Date: 2003-10-06 05:30+0900\n" "PO-Revision-Date: 2003-09-23 04:38+900\n" "Last-Translator: TAKAHASHI Motonobu <monyo@samba.org>\n" "Language-Team: Samba Users Group Japan <sugj-tech@samba.gr.jp>\n" @@ -27,4015 +26,569 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../web/swat.c:153 +#: ../web/swat.c:117 #, c-format msgid "ERROR: Can't open %s" msgstr "%s をオープンできません" -#: ../web/swat.c:241 +#: ../web/swat.c:200 msgid "Help" msgstr "ヘルプ" -#: ../web/swat.c:247 ../web/swat.c:272 ../web/swat.c:293 ../web/swat.c:302 ../web/swat.c:311 ../web/swat.c:317 ../web/swat.c:329 ../web/swat.c:343 +#: ../web/swat.c:206 ../web/swat.c:220 ../web/swat.c:235 ../web/swat.c:243 ../web/swat.c:252 ../web/swat.c:261 ../web/swat.c:267 ../web/swat.c:273 ../web/swat.c:286 msgid "Set Default" msgstr "デフォルト値" -#: ../web/swat.c:465 +#: ../web/swat.c:408 #, c-format msgid "failed to open %s for writing" msgstr "%s を書き込み用にオープンできません" -#: ../web/swat.c:488 +#: ../web/swat.c:431 #, c-format msgid "Can't reload %s" msgstr "%s を再読み込みできません\n" # msgid "Logged in as <b>%s</b><p>\n" -#: ../web/swat.c:561 +#: ../web/swat.c:501 #, c-format msgid "Logged in as <b>%s</b>" msgstr "<b>%s</b>としてログイン" -#: ../web/swat.c:565 +#: ../web/swat.c:505 msgid "Home" msgstr "ホーム" -#: ../web/swat.c:567 +#: ../web/swat.c:507 msgid "Globals" msgstr "グローバル" -#: ../web/swat.c:568 +#: ../web/swat.c:508 msgid "Shares" msgstr "ファイル共有" -#: ../web/swat.c:569 +#: ../web/swat.c:509 msgid "Printers" msgstr "印刷共有" -#: ../web/swat.c:570 +#: ../web/swat.c:510 msgid "Wizard" msgstr "ウィザード" -#: ../web/swat.c:574 +#: ../web/swat.c:513 msgid "Status" msgstr "サーバの状態" -#: ../web/swat.c:575 +#: ../web/swat.c:514 msgid "View Config" msgstr "現在の設定" -#: ../web/swat.c:577 +#: ../web/swat.c:516 msgid "Password Management" msgstr "パスワード管理" -#: ../web/swat.c:587 +#: ../web/swat.c:526 msgid "Current View Is" msgstr "現在の表示モード" -#: ../web/swat.c:588 ../web/swat.c:591 +#: ../web/swat.c:527 ../web/swat.c:530 msgid "Basic" msgstr "標準表示" -#: ../web/swat.c:589 ../web/swat.c:592 +#: ../web/swat.c:528 ../web/swat.c:531 msgid "Advanced" msgstr "詳細表示" -#: ../web/swat.c:590 +#: ../web/swat.c:529 msgid "Change View To" msgstr "表示モードの変更" -#: ../web/swat.c:619 +#: ../web/swat.c:554 msgid "Current Config" msgstr "現在の設定" -#: ../web/swat.c:623 +#: ../web/swat.c:558 msgid "Normal View" msgstr "標準表示" -#: ../web/swat.c:625 +#: ../web/swat.c:560 msgid "Full View" msgstr "完全表示" #. Here we first set and commit all the parameters that were selected #. in the previous screen. -#: ../web/swat.c:644 +#: ../web/swat.c:579 msgid "Wizard Parameter Edit Page" msgstr "ウィザードによるパラメータ編集ページ" -#: ../web/swat.c:673 +#: ../web/swat.c:608 msgid "Note: smb.conf file has been read and rewritten" msgstr "smb.conf ファイルが書き換えられました。" #. Here we go ... -#: ../web/swat.c:779 +#: ../web/swat.c:716 msgid "Samba Configuration Wizard" msgstr "Samba 設定ウィザード" -#: ../web/swat.c:783 +#: ../web/swat.c:720 msgid "The \"Rewrite smb.conf file\" button will clear the smb.conf file of all default values and of comments." msgstr "「smb.conf の書換」ボタンを押すと smb.conf ファイル中のすべてのデフォルト値やコメントは削除されます。" -#: ../web/swat.c:784 +#: ../web/swat.c:721 msgid "The same will happen if you press the commit button." msgstr "「commit」ボタンを押した場合にも同様の変更が行なわれます。" -#: ../web/swat.c:787 +#: ../web/swat.c:724 msgid "Rewrite smb.conf file" msgstr "smb.conf の書換" -#: ../web/swat.c:788 +#: ../web/swat.c:725 msgid "Commit" msgstr "設定を反映" -#: ../web/swat.c:789 +#: ../web/swat.c:726 msgid "Edit Parameter Values" msgstr "各パラメータの編集" -#: ../web/swat.c:795 +#: ../web/swat.c:732 msgid "Server Type" msgstr "サーバタイプ" -#: ../web/swat.c:796 +#: ../web/swat.c:733 msgid "Stand Alone" msgstr "スタンドアロン" -#: ../web/swat.c:797 +#: ../web/swat.c:734 msgid "Domain Member" msgstr "ドメインメンバ" -#: ../web/swat.c:798 +#: ../web/swat.c:735 msgid "Domain Controller" msgstr "ドメインコントローラ" -#: ../web/swat.c:801 +#: ../web/swat.c:738 msgid "Unusual Type in smb.conf - Please Select New Mode" msgstr "通常の形式ではない - 新しいモードを選択のこと" -#: ../web/swat.c:803 +#: ../web/swat.c:740 msgid "Configure WINS As" msgstr "WINS" -#: ../web/swat.c:804 +#: ../web/swat.c:741 msgid "Not Used" msgstr "使わない" -#: ../web/swat.c:805 +#: ../web/swat.c:742 msgid "Server for client use" msgstr "サーバとして構成" -#: ../web/swat.c:806 +#: ../web/swat.c:743 msgid "Client of another WINS server" msgstr "別の WINS サーバのクライアントとして構成" -#: ../web/swat.c:808 +#: ../web/swat.c:745 msgid "Remote WINS Server" msgstr "別の WINS サーバ" -#: ../web/swat.c:819 +#: ../web/swat.c:756 msgid "Error: WINS Server Mode and WINS Support both set in smb.conf" msgstr "エラー: wins server と wins support の両パラメータが smb.conf で指定されています" -#: ../web/swat.c:820 +#: ../web/swat.c:757 msgid "Please Select desired WINS mode above." msgstr "いずれかの WINS モードを選択してください。" -#: ../web/swat.c:822 +#: ../web/swat.c:759 msgid "Expose Home Directories" msgstr "ホームディレクトリの公開" -#: ../web/swat.c:837 +#: ../web/swat.c:774 msgid "The above configuration options will set multiple parameters and will generally assist with rapid Samba deployment." msgstr "上記の設定オプションにより、複数のパラメータが同期して設定されるため、 Samba の運用を迅速に開始する上での助けとなるでしょう。" -#: ../web/swat.c:850 +#: ../web/swat.c:787 msgid "Global Parameters" msgstr "Global パラメータ" -#: ../web/swat.c:878 ../web/swat.c:986 ../web/swat.c:1344 +#: ../web/swat.c:815 ../web/swat.c:916 ../web/swat.c:1265 msgid "Commit Changes" msgstr "変更を反映" -#: ../web/swat.c:882 ../web/swat.c:989 ../web/swat.c:1346 +#: ../web/swat.c:819 ../web/swat.c:919 ../web/swat.c:1267 msgid "Reset Values" msgstr "変更を取消" -#: ../web/swat.c:908 +#: ../web/swat.c:844 msgid "Share Parameters" msgstr "ファイル共有 パラメータ" -#: ../web/swat.c:955 +#: ../web/swat.c:887 msgid "Choose Share" msgstr "ファイル共有の選択" -#: ../web/swat.c:971 +#: ../web/swat.c:901 msgid "Delete Share" msgstr "ファイル共有の削除" -#: ../web/swat.c:978 +#: ../web/swat.c:908 msgid "Create Share" msgstr "ファイル共有の作成" -#: ../web/swat.c:1014 +#: ../web/swat.c:944 msgid "password change in demo mode rejected" msgstr "デモ・モードでのパスワード変更はできません" -#: ../web/swat.c:1028 +#: ../web/swat.c:957 msgid "Can't setup password database vectors." msgstr "パスワード・データベースが見つけられません" -#: ../web/swat.c:1056 +#: ../web/swat.c:983 msgid " Must specify \"User Name\" " msgstr "「ユーザ名」欄に入力してください" -#: ../web/swat.c:1072 +#: ../web/swat.c:999 msgid " Must specify \"Old Password\" " msgstr "「旧パスワード」欄に入力してください" -#: ../web/swat.c:1078 +#: ../web/swat.c:1005 msgid " Must specify \"Remote Machine\" " msgstr "「リモートマシン」欄に入力してください" -#: ../web/swat.c:1085 +#: ../web/swat.c:1012 msgid " Must specify \"New, and Re-typed Passwords\" " msgstr "「新パスワード」欄と「新パスワードの再入力」欄に入力してください" -#: ../web/swat.c:1091 +#: ../web/swat.c:1018 msgid " Re-typed password didn't match new password " msgstr "「新パスワードの再入力」欄の入力内容が「新パスワード」欄の入力と一致していません。" -#: ../web/swat.c:1124 +#: ../web/swat.c:1048 #, c-format msgid " The passwd for '%s' has been changed." msgstr " %s のパスワードは変更されました。" -#: ../web/swat.c:1127 +#: ../web/swat.c:1051 #, c-format msgid " The passwd for '%s' has NOT been changed." msgstr " '%s' のパスワードは変更されませんでした。" -#: ../web/swat.c:1152 +#: ../web/swat.c:1076 msgid "Server Password Management" msgstr "ローカルマシンのパスワード管理" #. #. * Create all the dialog boxes for data collection #. -#: ../web/swat.c:1161 ../web/swat.c:1208 +#: ../web/swat.c:1085 ../web/swat.c:1132 msgid "User Name" msgstr "ユーザ名" -#: ../web/swat.c:1164 ../web/swat.c:1210 +#: ../web/swat.c:1088 ../web/swat.c:1134 msgid "Old Password" msgstr "旧パスワード" -#: ../web/swat.c:1167 ../web/swat.c:1212 +#: ../web/swat.c:1091 ../web/swat.c:1136 msgid "New Password" msgstr "新パスワード" -#: ../web/swat.c:1169 ../web/swat.c:1214 +#: ../web/swat.c:1093 ../web/swat.c:1138 msgid "Re-type New Password" msgstr "新パスワードの再入力" -#: ../web/swat.c:1177 ../web/swat.c:1225 +#: ../web/swat.c:1101 ../web/swat.c:1149 msgid "Change Password" msgstr "パスワード変更" -#: ../web/swat.c:1180 +#: ../web/swat.c:1104 msgid "Add New User" msgstr "新規ユーザ追加" -#: ../web/swat.c:1182 +#: ../web/swat.c:1106 msgid "Delete User" msgstr "ユーザの削除" -#: ../web/swat.c:1184 +#: ../web/swat.c:1108 msgid "Disable User" msgstr "ユーザの無効化" -#: ../web/swat.c:1186 +#: ../web/swat.c:1110 msgid "Enable User" msgstr "ユーザの有効化" -#: ../web/swat.c:1199 +#: ../web/swat.c:1123 msgid "Client/Server Password Management" msgstr "リモートマシンのパスワード管理" -#: ../web/swat.c:1216 +#: ../web/swat.c:1140 msgid "Remote Machine" msgstr "リモートマシン" -#: ../web/swat.c:1255 +#: ../web/swat.c:1179 msgid "Printer Parameters" msgstr "印刷共有 パラメータ" -#: ../web/swat.c:1257 +#: ../web/swat.c:1181 msgid "Important Note:" msgstr "*注" -#: ../web/swat.c:1258 +#: ../web/swat.c:1182 msgid "Printer names marked with [*] in the Choose Printer drop-down box " msgstr "名前の先頭に [*] がついたプリンタ" -#: ../web/swat.c:1259 +#: ../web/swat.c:1183 msgid "are autoloaded printers from " msgstr "は" -#: ../web/swat.c:1260 +#: ../web/swat.c:1184 msgid "Printcap Name" msgstr "printcap name パラメータ" -#: ../web/swat.c:1261 +#: ../web/swat.c:1185 msgid "Attempting to delete these printers from SWAT will have no effect." msgstr "から自動設定されたものですから、削除することはできません。" -#: ../web/swat.c:1310 +#: ../web/swat.c:1231 msgid "Choose Printer" msgstr "印刷共有の選択" -#: ../web/swat.c:1329 +#: ../web/swat.c:1250 msgid "Delete Printer" msgstr "印刷共有の削除" -#: ../web/swat.c:1336 +#: ../web/swat.c:1257 msgid "Create Printer" msgstr "印刷共有の作成" -#: ../web/statuspage.c:151 -msgid "RDWR " -msgstr "参照/更新 " +#: ../web/statuspage.c:123 +msgid "RDONLY " +msgstr "参照のみ " -#: ../web/statuspage.c:153 +#: ../web/statuspage.c:124 msgid "WRONLY " msgstr "更新のみ " -#: ../web/statuspage.c:155 -msgid "RDONLY " -msgstr "参照のみ " +#: ../web/statuspage.c:125 +msgid "RDWR " +msgstr "参照/更新 " -#: ../web/statuspage.c:329 +#: ../web/statuspage.c:309 msgid "Server Status" msgstr "サーバの状態" -#: ../web/statuspage.c:334 +#: ../web/statuspage.c:314 msgid "Auto Refresh" msgstr "自動更新の開始" -#: ../web/statuspage.c:335 ../web/statuspage.c:340 +#: ../web/statuspage.c:315 ../web/statuspage.c:320 msgid "Refresh Interval: " msgstr "更新間隔: " -#: ../web/statuspage.c:339 +#: ../web/statuspage.c:319 msgid "Stop Refreshing" msgstr "自動更新の停止" -#: ../web/statuspage.c:348 +#: ../web/statuspage.c:334 msgid "version:" msgstr "バージョン" -#: ../web/statuspage.c:351 +#: ../web/statuspage.c:337 msgid "smbd:" msgstr "" -#: ../web/statuspage.c:351 ../web/statuspage.c:364 ../web/statuspage.c:378 +#: ../web/statuspage.c:337 ../web/statuspage.c:350 ../web/statuspage.c:364 msgid "running" msgstr "実行中" -#: ../web/statuspage.c:351 ../web/statuspage.c:364 ../web/statuspage.c:378 +#: ../web/statuspage.c:337 ../web/statuspage.c:350 ../web/statuspage.c:364 msgid "not running" msgstr "停止中" -#: ../web/statuspage.c:355 +#: ../web/statuspage.c:341 msgid "Stop smbd" msgstr "smbd の停止" -#: ../web/statuspage.c:357 +#: ../web/statuspage.c:343 msgid "Start smbd" msgstr "smbd の起動" -#: ../web/statuspage.c:359 +#: ../web/statuspage.c:345 msgid "Restart smbd" msgstr "smbd の再起動" -#: ../web/statuspage.c:364 +#: ../web/statuspage.c:350 msgid "nmbd:" msgstr "" -#: ../web/statuspage.c:368 +#: ../web/statuspage.c:354 msgid "Stop nmbd" msgstr "nmbd の停止" -#: ../web/statuspage.c:370 +#: ../web/statuspage.c:356 msgid "Start nmbd" msgstr "nmbd の起動" -#: ../web/statuspage.c:372 +#: ../web/statuspage.c:358 msgid "Restart nmbd" msgstr "nmbd の再起動" -#: ../web/statuspage.c:378 +#: ../web/statuspage.c:364 msgid "winbindd:" msgstr "" -#: ../web/statuspage.c:382 +#: ../web/statuspage.c:368 msgid "Stop winbindd" msgstr "winbindd の停止" -#: ../web/statuspage.c:384 +#: ../web/statuspage.c:370 msgid "Start winbindd" msgstr "winbindd の起動" -#: ../web/statuspage.c:386 +#: ../web/statuspage.c:372 msgid "Restart winbindd" msgstr "winbindd の再起動" #. stop, restart all -#: ../web/statuspage.c:395 +#: ../web/statuspage.c:381 msgid "Stop All" msgstr "すべて停止" -#: ../web/statuspage.c:396 +#: ../web/statuspage.c:382 msgid "Restart All" msgstr "すべて再起動" #. start all -#: ../web/statuspage.c:400 +#: ../web/statuspage.c:386 msgid "Start All" msgstr "すべて起動" -#: ../web/statuspage.c:407 +#: ../web/statuspage.c:393 msgid "Active Connections" msgstr "接続中のクライアント" -#: ../web/statuspage.c:409 ../web/statuspage.c:422 ../web/statuspage.c:431 +#: ../web/statuspage.c:395 ../web/statuspage.c:408 ../web/statuspage.c:416 msgid "PID" msgstr "" -#: ../web/statuspage.c:409 ../web/statuspage.c:422 +#: ../web/statuspage.c:395 ../web/statuspage.c:408 msgid "Client" msgstr "クライアント" -#: ../web/statuspage.c:409 +#: ../web/statuspage.c:395 msgid "IP address" msgstr "IPアドレス" -#: ../web/statuspage.c:409 ../web/statuspage.c:422 ../web/statuspage.c:431 +#: ../web/statuspage.c:395 ../web/statuspage.c:408 ../web/statuspage.c:416 msgid "Date" msgstr "日付" -#: ../web/statuspage.c:411 +#: ../web/statuspage.c:397 msgid "Kill" msgstr "切断" -#: ../web/statuspage.c:419 +#: ../web/statuspage.c:405 msgid "Active Shares" msgstr "接続中の共有" -#: ../web/statuspage.c:422 +#: ../web/statuspage.c:408 msgid "Share" msgstr "共有名" -#: ../web/statuspage.c:422 +#: ../web/statuspage.c:408 msgid "User" msgstr "ユーザ" -#: ../web/statuspage.c:422 +#: ../web/statuspage.c:408 msgid "Group" msgstr "グループ" -#: ../web/statuspage.c:428 +#: ../web/statuspage.c:414 msgid "Open Files" msgstr "使用中のファイル" -#: ../web/statuspage.c:431 -msgid "UID" -msgstr "" - -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:416 msgid "Sharing" msgstr "排他モード" -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:416 msgid "R/W" msgstr "参照/更新" -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:416 msgid "Oplock" msgstr "" -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:416 msgid "File" msgstr "ファイル名" -#: ../web/statuspage.c:438 +#: ../web/statuspage.c:425 msgid "Show Client in col 1" msgstr "クライアント名を先頭に表示" -#: ../web/statuspage.c:439 +#: ../web/statuspage.c:426 msgid "Show PID in col 1" msgstr "PIDを先頭に表示" -#: ../param/loadparm.c:907 +#: ../param/loadparm.c:755 msgid "Base Options" msgstr "基本 オプション" -#: ../param/loadparm.c:1047 +#: ../param/loadparm.c:775 msgid "Security Options" msgstr "セキュリティ オプション" -#: ../param/loadparm.c:1800 +#: ../param/loadparm.c:859 msgid "Logging Options" msgstr "ロギング オプション" -#: ../param/loadparm.c:1929 +#: ../param/loadparm.c:874 msgid "Protocol Options" msgstr "プロトコル オプション" -#: ../param/loadparm.c:2301 +#: ../param/loadparm.c:911 msgid "Tuning Options" msgstr "チューニング オプション" -#: ../param/loadparm.c:2538 +#: ../param/loadparm.c:940 msgid "Printing Options" msgstr "印刷 オプション" -#: ../param/loadparm.c:2858 +#: ../param/loadparm.c:970 msgid "Filename Handling" msgstr "ファイル名の取扱" -#: ../param/loadparm.c:3088 +#: ../param/loadparm.c:996 msgid "Domain Options" msgstr "ドメイン オプション" -#: ../param/loadparm.c:3100 +#: ../param/loadparm.c:1000 msgid "Logon Options" msgstr "ログオン オプション" -#: ../param/loadparm.c:3273 +#: ../param/loadparm.c:1019 msgid "Browse Options" msgstr "ブラウジング オプション" -#: ../param/loadparm.c:3384 +#: ../param/loadparm.c:1033 msgid "WINS Options" msgstr "WINS オプション" -#: ../param/loadparm.c:3432 +#: ../param/loadparm.c:1043 msgid "Locking Options" msgstr "ロッキング オプション" -#: ../param/loadparm.c:3552 +#: ../param/loadparm.c:1061 msgid "Ldap Options" msgstr "LDAP オプション" -#: ../param/loadparm.c:3708 -#, fuzzy -msgid "EventLog Options" -msgstr "ログオン オプション" - -#: ../param/loadparm.c:3720 +#: ../param/loadparm.c:1078 msgid "Miscellaneous Options" msgstr "その他のオプション" -#: ../param/loadparm.c:4301 +#: ../param/loadparm.c:1138 msgid "VFS module options" msgstr "VFS オプション" -#: ../param/loadparm.c:4323 -#, fuzzy -msgid "MSDFS options" -msgstr "VFS オプション" - -#: ../param/loadparm.c:4353 +#: ../param/loadparm.c:1148 msgid "Winbind options" msgstr "Winbind オプション" - -#: ../utils/net.c:103 -msgid "Enter machine password: " -msgstr "" - -#: ../utils/net.c:107 -msgid "Unable to write the machine account password in the secrets database" -msgstr "" - -#: ../utils/net.c:111 -msgid "Modified trust account password in secrets database\n" -msgstr "" - -#: ../utils/net.c:115 -msgid "" -"Machine account password change requires the -f flag.\n" -"Do NOT use this function unless you know what it does!\n" -"This function will change the ADS Domain member machine account password in the secrets.tdb file!\n" -msgstr "" - -#: ../utils/net.c:150 ../utils/net.c:228 -#, c-format -msgid "Unable to open secrets.tdb. Can't fetch domain SID for name: %s\n" -msgstr "" - -#: ../utils/net.c:163 ../utils/net.c:251 -#, c-format -msgid "SID for domain %s is: %s\n" -msgstr "" - -#: ../utils/net.c:175 -msgid "usage: net setlocalsid S-1-5-21-x-y-z\n" -msgstr "" - -#: ../utils/net.c:195 -msgid "usage: net setdomainsid S-1-5-21-x-y-z\n" -msgstr "" - -#: ../utils/net.c:213 -msgid "usage: net getdomainsid\n" -msgstr "" - -#: ../utils/net.c:238 -msgid "Could not fetch local SID\n" -msgstr "" - -#: ../utils/net.c:242 -#, c-format -msgid "SID for local machine %s is: %s\n" -msgstr "" - -#: ../utils/net.c:246 -msgid "Could not fetch domain SID\n" -msgstr "" - -#: ../utils/net.c:263 -#, c-format -msgid "get_maxrid: Could not search %s\n" -msgstr "" - -#: ../utils/net.c:297 -msgid "usage: net maxrid\n" -msgstr "" - -#: ../utils/net.c:302 -msgid "can't get current maximum rid\n" -msgstr "" - -#: ../utils/net.c:306 -#, c-format -msgid "Currently used maximum rid: %d\n" -msgstr "" - -#: ../utils/net.c:317 -msgid "Run functions using RPC transport" -msgstr "" - -#: ../utils/net.c:318 -msgid " Use 'net help rpc' to get more extensive information about 'net rpc' commands." -msgstr "" - -#: ../utils/net.c:325 -msgid "Run functions using RAP transport" -msgstr "" - -#: ../utils/net.c:326 -msgid " Use 'net help rap' to get more extensive information about 'net rap' commands." -msgstr "" - -#: ../utils/net.c:333 -msgid "Run functions using ADS transport" -msgstr "" - -#: ../utils/net.c:334 -msgid " Use 'net help ads' to get more extensive information about 'net ads' commands." -msgstr "" - -#: ../utils/net.c:343 -msgid "Functions on remote opened files" -msgstr "" - -#: ../utils/net.c:344 -msgid " Use 'net help file' to get more information about 'net file' commands." -msgstr "" - -#: ../utils/net.c:351 -msgid "Functions on shares" -msgstr "" - -#: ../utils/net.c:352 -msgid " Use 'net help share' to get more information about 'net share' commands." -msgstr "" - -#: ../utils/net.c:359 -msgid "Manage sessions" -msgstr "" - -#: ../utils/net.c:360 -msgid " Use 'net help session' to get more information about 'net session' commands." -msgstr "" - -#: ../utils/net.c:367 -msgid "List servers in workgroup" -msgstr "" - -#: ../utils/net.c:368 -msgid " Use 'net help server' to get more information about 'net server' commands." -msgstr "" - -#: ../utils/net.c:375 -msgid "List domains/workgroups on network" -msgstr "" - -#: ../utils/net.c:376 -msgid " Use 'net help domain' to get more information about 'net domain' commands." -msgstr "" - -#: ../utils/net.c:383 -msgid "Modify printer queue" -msgstr "" - -#: ../utils/net.c:384 -msgid " Use 'net help printq' to get more information about 'net printq' commands." -msgstr "" - -#: ../utils/net.c:391 -#, fuzzy -msgid "Manage users" -msgstr "ユーザの有効化" - -#: ../utils/net.c:392 -msgid " Use 'net help user' to get more information about 'net user' commands." -msgstr "" - -#: ../utils/net.c:399 -msgid "Manage groups" -msgstr "" - -#: ../utils/net.c:400 -msgid " Use 'net help group' to get more information about 'net group' commands." -msgstr "" - -#: ../utils/net.c:407 -msgid "Manage group mappings" -msgstr "" - -#: ../utils/net.c:408 -msgid " Use 'net help groupmap' to get more information about 'net groupmap' commands." -msgstr "" - -#: ../utils/net.c:415 -msgid "Functions on the SAM database" -msgstr "" - -#: ../utils/net.c:416 -msgid " Use 'net help sam' to get more information about 'net sam' commands." -msgstr "" - -#: ../utils/net.c:423 -msgid "Validate username and password" -msgstr "" - -#: ../utils/net.c:424 -msgid " Use 'net help validate' to get more information about 'net validate' commands." -msgstr "" - -#: ../utils/net.c:431 -msgid "Modify group memberships" -msgstr "" - -#: ../utils/net.c:432 -msgid " Use 'net help groupmember' to get more information about 'net groupmember' commands." -msgstr "" - -#: ../utils/net.c:438 -msgid "Execute remote command on a remote OS/2 server" -msgstr "" - -#: ../utils/net.c:439 -msgid " Use 'net help admin' to get more information about 'net admin' commands." -msgstr "" - -#: ../utils/net.c:445 -msgid "List/modify running services" -msgstr "" - -#: ../utils/net.c:446 -msgid " Use 'net help service' to get more information about 'net service' commands." -msgstr "" - -#: ../utils/net.c:453 -#, fuzzy -msgid "Change user password on target server" -msgstr "パスワード・データベースが見つけられません" - -#: ../utils/net.c:454 -msgid " Use 'net help password' to get more information about 'net password' commands." -msgstr "" - -#: ../utils/net.c:460 -#, fuzzy -msgid "Change the trust password" -msgstr "パスワード変更" - -#: ../utils/net.c:461 -msgid " Use 'net help changetrustpw' to get more information about 'net changetrustpw'." -msgstr "" - -#: ../utils/net.c:467 -#, fuzzy -msgid "Change the secret password" -msgstr "パスワード変更" - -#: ../utils/net.c:468 -msgid "" -" net [options] changesecretpw\n" -" Change the ADS domain member machine account password in secrets.tdb.\n" -" Do NOT use this function unless you know what it does.\n" -" Requires the -f flag to work." -msgstr "" - -#: ../utils/net.c:477 -msgid "Show/set time" -msgstr "" - -#: ../utils/net.c:478 -msgid " Use 'net help time' to get more information about 'net time' commands." -msgstr "" - -#: ../utils/net.c:484 -msgid "Look up host names/IP addresses" -msgstr "" - -#: ../utils/net.c:485 -msgid " Use 'net help lookup' to get more information about 'net lookup' commands." -msgstr "" - -#: ../utils/net.c:491 -msgid "Join a domain/AD" -msgstr "" - -#: ../utils/net.c:492 -msgid " Use 'net help join' to get more information about 'net join'." -msgstr "" - -#: ../utils/net.c:498 -msgid "Join/unjoin (remote) machines to/from a domain/AD" -msgstr "" - -#: ../utils/net.c:499 -msgid " Use 'net help dom' to get more information about 'net dom' commands." -msgstr "" - -#: ../utils/net.c:505 -msgid "Operate on the cache tdb file" -msgstr "" - -#: ../utils/net.c:506 -msgid " Use 'net help cache' to get more information about 'net cache' commands." -msgstr "" - -#: ../utils/net.c:512 -msgid "Get the SID for the local domain" -msgstr "" - -#: ../utils/net.c:513 -msgid " net getlocalsid" -msgstr "" - -#: ../utils/net.c:518 -msgid "Set the SID for the local domain" -msgstr "" - -#: ../utils/net.c:519 -msgid " net setlocalsid S-1-5-21-x-y-z" -msgstr "" - -#: ../utils/net.c:524 -msgid "Set domain SID on member servers" -msgstr "" - -#: ../utils/net.c:525 -msgid " net setdomainsid S-1-5-21-x-y-z" -msgstr "" - -#: ../utils/net.c:530 -msgid "Get domain SID on member servers" -msgstr "" - -#: ../utils/net.c:531 -msgid " net getdomainsid" -msgstr "" - -#: ../utils/net.c:536 -msgid "Display the maximul RID currently used" -msgstr "" - -#: ../utils/net.c:537 -msgid " net maxrid" -msgstr "" - -#: ../utils/net.c:542 -#, fuzzy -msgid "IDmap functions" -msgstr "ドメイン オプション" - -#: ../utils/net.c:543 -msgid " Use 'net help idmap to get more information about 'net idmap' commands." -msgstr "" - -#: ../utils/net.c:549 -#, fuzzy -msgid "Display server status" -msgstr "サーバの状態" - -#: ../utils/net.c:550 -msgid " Use 'net help status' to get more information about 'net status' commands." -msgstr "" - -#: ../utils/net.c:556 -msgid "Manage user-modifiable shares" -msgstr "" - -#: ../utils/net.c:557 -msgid " Use 'net help usershare to get more information about 'net usershare' commands." -msgstr "" - -#: ../utils/net.c:563 -msgid "Display list of all users with SID" -msgstr "" - -#: ../utils/net.c:564 -msgid " Use 'net help usersidlist' to get more information about 'net usersidlist'." -msgstr "" - -#: ../utils/net.c:570 -msgid "Manage Samba registry based configuration" -msgstr "" - -#: ../utils/net.c:571 -msgid " Use 'net help conf' to get more information about 'net conf' commands." -msgstr "" - -#: ../utils/net.c:577 -msgid "Manage the Samba registry" -msgstr "" - -#: ../utils/net.c:578 -msgid " Use 'net help registry' to get more information about 'net registry' commands." -msgstr "" - -#: ../utils/net.c:584 -msgid "Open a lua interpreter" -msgstr "" - -#: ../utils/net.c:585 -msgid " Use 'net help lua' to get more information about 'net lua' commands." -msgstr "" - -#: ../utils/net.c:591 -msgid "Process Win32 *.evt eventlog files" -msgstr "" - -#: ../utils/net.c:592 -msgid " Use 'net help eventlog' to get more information about 'net eventlog' commands." -msgstr "" - -#: ../utils/net.c:600 -msgid "Manage AFS tokens" -msgstr "" - -#: ../utils/net.c:601 -msgid " Use 'net help afs' to get more information about 'net afs' commands." -msgstr "" - -#: ../utils/net.c:609 -msgid "Print usage information" -msgstr "" - -#: ../utils/net.c:610 -msgid " Use 'net help help' to list usage information for 'net' commands." -msgstr "" - -#: ../utils/net.c:639 -msgid "Encrypt SMB transport (UNIX extended servers only)" -msgstr "" - -#: ../utils/net.c:703 -msgid "" -"\n" -"Invalid ip address specified\n" -msgstr "" - -#: ../utils/net.c:718 -#, c-format -msgid "" -"\n" -"Invalid option %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:52 ../utils/net_ads.c:392 -msgid "CLDAP query failed!\n" -msgstr "" - -#: ../utils/net_ads.c:56 -#, fuzzy, c-format -msgid "" -"Information for Domain Controller: %s\n" -"\n" -msgstr "ドメインコントローラ" - -#: ../utils/net_ads.c:59 -msgid "Response Type: " -msgstr "" - -#: ../utils/net_ads.c:72 -#, c-format -msgid "GUID: %s\n" -msgstr "" - -#: ../utils/net_ads.c:74 -#, c-format -msgid "" -"Flags:\n" -"\tIs a PDC: %s\n" -"\tIs a GC of the forest: %s\n" -"\tIs an LDAP server: %s\n" -"\tSupports DS: %s\n" -"\tIs running a KDC: %s\n" -"\tIs running time services: %s\n" -"\tIs the closest DC: %s\n" -"\tIs writable: %s\n" -"\tHas a hardware clock: %s\n" -"\tIs a non-domain NC serviced by LDAP server: %s\n" -"\tIs NT6 DC that has some secrets: %s\n" -"\tIs NT6 DC that has all secrets: %s\n" -msgstr "" - -#: ../utils/net_ads.c:87 ../utils/net_ads.c:88 ../utils/net_ads.c:89 ../utils/net_ads.c:90 ../utils/net_ads.c:91 ../utils/net_ads.c:92 ../utils/net_ads.c:93 ../utils/net_ads.c:94 ../utils/net_ads.c:95 ../utils/net_ads.c:96 ../utils/net_ads.c:97 -#: ../utils/net_ads.c:98 -msgid "yes" -msgstr "" - -#: ../utils/net_ads.c:87 ../utils/net_ads.c:88 ../utils/net_ads.c:89 ../utils/net_ads.c:90 ../utils/net_ads.c:91 ../utils/net_ads.c:92 ../utils/net_ads.c:93 ../utils/net_ads.c:94 ../utils/net_ads.c:95 ../utils/net_ads.c:96 ../utils/net_ads.c:97 -#: ../utils/net_ads.c:98 -msgid "no" -msgstr "" - -#: ../utils/net_ads.c:101 -#, c-format -msgid "Forest:\t\t\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:102 -#, c-format -msgid "Domain:\t\t\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:103 -#, fuzzy, c-format -msgid "Domain Controller:\t%s\n" -msgstr "ドメインコントローラ" - -#: ../utils/net_ads.c:105 -#, c-format -msgid "Pre-Win2k Domain:\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:106 -#, c-format -msgid "Pre-Win2k Hostname:\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:108 -#, fuzzy, c-format -msgid "User name:\t%s\n" -msgstr "ユーザ名" - -#: ../utils/net_ads.c:110 -#, fuzzy, c-format -msgid "Server Site Name :\t\t%s\n" -msgstr "サーバの状態" - -#: ../utils/net_ads.c:111 -#, c-format -msgid "Client Site Name :\t\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:113 -#, fuzzy, c-format -msgid "NT Version: %d\n" -msgstr "バージョン" - -#: ../utils/net_ads.c:114 -#, c-format -msgid "LMNT Token: %.2x\n" -msgstr "" - -#: ../utils/net_ads.c:115 -#, c-format -msgid "LM20 Token: %.2x\n" -msgstr "" - -#: ../utils/net_ads.c:130 -msgid "" -"Usage:\n" -"net ads lookup\n" -" Find the ADS DC using CLDAP lookup.\n" -msgstr "" - -#: ../utils/net_ads.c:137 ../utils/net_ads.c:381 -msgid "Didn't find the cldap server!\n" -msgstr "" - -#: ../utils/net_ads.c:160 -msgid "" -"Usage:\n" -"net ads info\n" -" Display information about an Active Directory server.\n" -msgstr "" - -#: ../utils/net_ads.c:168 ../utils/net_ads.c:173 -msgid "Didn't find the ldap server!\n" -msgstr "" - -#: ../utils/net_ads.c:182 -msgid "Failed to get server's current time!\n" -msgstr "" - -#: ../utils/net_ads.c:187 -#, c-format -msgid "LDAP server: %s\n" -msgstr "" - -#: ../utils/net_ads.c:188 -#, c-format -msgid "LDAP server name: %s\n" -msgstr "" - -#: ../utils/net_ads.c:189 -#, c-format -msgid "Realm: %s\n" -msgstr "" - -#: ../utils/net_ads.c:190 -#, c-format -msgid "Bind Path: %s\n" -msgstr "" - -#: ../utils/net_ads.c:191 -#, c-format -msgid "LDAP port: %d\n" -msgstr "" - -#: ../utils/net_ads.c:192 -#, fuzzy, c-format -msgid "Server time: %s\n" -msgstr "サーバの状態" - -#: ../utils/net_ads.c:195 -#, c-format -msgid "KDC server: %s\n" -msgstr "" - -#: ../utils/net_ads.c:196 -#, c-format -msgid "Server time offset: %d\n" -msgstr "" - -#: ../utils/net_ads.c:374 -msgid "" -"Usage:\n" -"net ads workgroup\n" -" Print the workgroup name\n" -msgstr "" - -#: ../utils/net_ads.c:397 -#, c-format -msgid "Workgroup: %s\n" -msgstr "" - -#: ../utils/net_ads.c:458 -#, c-format -msgid "ads_user_add: %s\n" -msgstr "" - -#: ../utils/net_ads.c:463 -#, c-format -msgid "ads_user_add: User %s already exists\n" -msgstr "" - -#: ../utils/net_ads.c:477 -#, c-format -msgid "Could not add user %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:484 ../utils/net_ads.c:497 -#, fuzzy, c-format -msgid "User %s added\n" -msgstr "ユーザ名" - -#. password didn't set, delete account -#: ../utils/net_ads.c:503 -#, c-format -msgid "Could not add user %s. Error setting password %s\n" -msgstr "" - -#: ../utils/net_ads.c:551 -#, c-format -msgid "ads_user_info: failed to escape user %s\n" -msgstr "" - -#: ../utils/net_ads.c:569 -#, c-format -msgid "ads_search: %s\n" -msgstr "" - -#: ../utils/net_ads.c:575 -msgid "ads_pull_uint32 failed\n" -msgstr "" - -#: ../utils/net_ads.c:582 -#, c-format -msgid "ads_domain_sid: %s\n" -msgstr "" - -#: ../utils/net_ads.c:642 -#, c-format -msgid "User %s does not exist.\n" -msgstr "" - -#: ../utils/net_ads.c:652 -#, c-format -msgid "User %s deleted\n" -msgstr "" - -#: ../utils/net_ads.c:656 -#, c-format -msgid "Error deleting user %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:669 -#, fuzzy -msgid "Add an AD user" -msgstr "新規ユーザ追加" - -#: ../utils/net_ads.c:670 -msgid "" -"net ads user add\n" -" Add an AD user" -msgstr "" - -#: ../utils/net_ads.c:677 -msgid "Display information about an AD user" -msgstr "" - -#: ../utils/net_ads.c:678 -msgid "" -"net ads user info\n" -" Display information about an AD user" -msgstr "" - -#: ../utils/net_ads.c:685 -#, fuzzy -msgid "Delete an AD user" -msgstr "ユーザの削除" - -#: ../utils/net_ads.c:686 -msgid "" -"net ads user delete\n" -" Delete an AD user" -msgstr "" - -#: ../utils/net_ads.c:699 -msgid "" -"Usage:\n" -"net ads user\n" -" List AD users\n" -msgstr "" - -#: ../utils/net_ads.c:711 -msgid "" -"\n" -"User name Comment\n" -"-----------------------------\n" -msgstr "" - -#: ../utils/net_ads.c:751 -#, c-format -msgid "ads_group_add: %s\n" -msgstr "" - -#: ../utils/net_ads.c:756 -#, c-format -msgid "ads_group_add: Group %s already exists\n" -msgstr "" - -#: ../utils/net_ads.c:769 -#, c-format -msgid "Group %s added\n" -msgstr "" - -#: ../utils/net_ads.c:772 -#, c-format -msgid "Could not add group %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:801 -#, c-format -msgid "Group %s does not exist.\n" -msgstr "" - -#: ../utils/net_ads.c:811 -#, c-format -msgid "Group %s deleted\n" -msgstr "" - -#: ../utils/net_ads.c:815 -#, c-format -msgid "Error deleting group %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:828 -msgid "Add an AD group" -msgstr "" - -#: ../utils/net_ads.c:829 -msgid "" -"net ads group add\n" -" Add an AD group" -msgstr "" - -#: ../utils/net_ads.c:836 -#, fuzzy -msgid "Delete an AD group" -msgstr "ファイル共有の削除" - -#: ../utils/net_ads.c:837 -msgid "" -"net ads group delete\n" -" Delete an AD group" -msgstr "" - -#: ../utils/net_ads.c:850 -msgid "" -"Usage:\n" -"net ads group\n" -" List AD groups\n" -msgstr "" - -#: ../utils/net_ads.c:862 -msgid "" -"\n" -"Group name Comment\n" -"-----------------------------\n" -msgstr "" - -#: ../utils/net_ads.c:884 -msgid "" -"Usage:\n" -"net ads status\n" -" Display machine account details\n" -msgstr "" - -#: ../utils/net_ads.c:896 -#, c-format -msgid "ads_find_machine_acct: %s\n" -msgstr "" - -#: ../utils/net_ads.c:902 -#, c-format -msgid "No machine account for '%s' found\n" -msgstr "" - -#: ../utils/net_ads.c:926 -msgid "" -"Usage:\n" -"net ads leave\n" -" Leave an AD domain\n" -msgstr "" - -#: ../utils/net_ads.c:933 -msgid "No realm set, are we joined ?\n" -msgstr "" - -#: ../utils/net_ads.c:938 ../utils/net_ads.c:1260 -msgid "Could not initialise talloc context.\n" -msgstr "" - -#: ../utils/net_ads.c:948 -msgid "Could not initialise unjoin context.\n" -msgstr "" - -#: ../utils/net_ads.c:968 -#, c-format -msgid "Failed to leave domain: %s\n" -msgstr "" - -#: ../utils/net_ads.c:975 -#, c-format -msgid "Deleted account for '%s' in realm '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:982 -#, c-format -msgid "Disabled account for '%s' in realm '%s'\n" -msgstr "" - -#. Based on what we requseted, we shouldn't get here, but if -#. we did, it means the secrets were removed, and therefore -#. we have left the domain -#: ../utils/net_ads.c:991 -#, c-format -msgid "Machine '%s' Left domain '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:1035 -msgid "" -"Usage:\n" -"net ads testjoin\n" -" Test if the existing join is ok\n" -msgstr "" - -#: ../utils/net_ads.c:1044 -#, c-format -msgid "Join to domain is not valid: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1049 -#, c-format -msgid "Join is OK\n" -msgstr "" - -#: ../utils/net_ads.c:1060 -msgid "Host is not configured as a member server.\n" -msgstr "" - -#: ../utils/net_ads.c:1065 -#, c-format -msgid "Our netbios name can be at most 15 chars long, \"%s\" is %u chars long\n" -msgstr "" - -#: ../utils/net_ads.c:1072 -#, c-format -msgid "realm must be set in in %s for ADS join to succeed.\n" -msgstr "" - -#: ../utils/net_ads.c:1105 -#, c-format -msgid "No DNS domain configured for %s. Unable to perform DNS Update.\n" -msgstr "" - -#: ../utils/net_ads.c:1212 -msgid "" -"net ads join [options]\n" -"Valid options:\n" -msgstr "" - -#: ../utils/net_ads.c:1214 -msgid "" -" createupn[=UPN] Set the userPrincipalName attribute during the join.\n" -" The deault UPN is in the form host/netbiosname@REALM.\n" -msgstr "" - -#: ../utils/net_ads.c:1216 -msgid "" -" createcomputer=OU Precreate the computer account in a specific OU.\n" -" The OU string read from top to bottom without RDNs and delimited by a '/'.\n" -" E.g. \"createcomputer=Computers/Servers/Unix\"\n" -" NB: A backslash '\\' is used as escape at multiple levels and may\n" -" need to be doubled or even quadrupled. It is not used as a separator.\n" -msgstr "" - -#: ../utils/net_ads.c:1221 -msgid " osName=string Set the operatingSystem attribute during the join.\n" -msgstr "" - -#: ../utils/net_ads.c:1222 -msgid "" -" osVer=string Set the operatingSystemVersion attribute during the join.\n" -" NB: osName and osVer must be specified together for either to take effect.\n" -" Also, the operatingSystemService attribute is also set when along with\n" -" the two other attributes.\n" -msgstr "" - -#: ../utils/net_ads.c:1254 -msgid "Invalid configuration. Exiting....\n" -msgstr "" - -#: ../utils/net_ads.c:1283 -msgid "Please supply a valid OU path.\n" -msgstr "" - -#: ../utils/net_ads.c:1290 -msgid "Please supply a operating system name.\n" -msgstr "" - -#: ../utils/net_ads.c:1297 -msgid "Please supply a valid operating system version.\n" -msgstr "" - -#: ../utils/net_ads.c:1308 -msgid "Please supply a valid domain name\n" -msgstr "" - -#: ../utils/net_ads.c:1339 -#, c-format -msgid "" -"The workgroup in %s does not match the short\n" -"domain name obtained from the server.\n" -"Using the name [%s] from the server.\n" -"You should set \"workgroup = %s\" in %s.\n" -msgstr "" - -#: ../utils/net_ads.c:1347 -#, c-format -msgid "Using short domain name -- %s\n" -msgstr "" - -#: ../utils/net_ads.c:1350 -#, c-format -msgid "Joined '%s' to realm '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:1353 -#, c-format -msgid "Joined '%s' to domain '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:1377 ../utils/net_ads.c:1433 -msgid "DNS update failed!\n" -msgstr "" - -#. issue an overall failure message at the end. -#: ../utils/net_ads.c:1391 ../utils/net_dom.c:198 -#, c-format -msgid "Failed to join domain: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1414 -msgid "" -"Usage:\n" -"net ads dns register\n" -" Register hostname with DNS\n" -msgstr "" - -#: ../utils/net_ads.c:1421 -msgid "Could not initialise talloc context\n" -msgstr "" - -#: ../utils/net_ads.c:1439 -msgid "Successfully registered hostname with DNS\n" -msgstr "" - -#: ../utils/net_ads.c:1447 -msgid "DNS update support not enabled at compile time!\n" -msgstr "" - -#: ../utils/net_ads.c:1466 -msgid "" -"Usage:\n" -"net ads dns gethostbyname <server> <name>\n" -" Look up hostname from the AD\n" -" server\tName server to use\n" -" name\tName to look up\n" -msgstr "" - -#: ../utils/net_ads.c:1476 -#, c-format -msgid "do_gethostbyname returned %d\n" -msgstr "" - -#: ../utils/net_ads.c:1488 -msgid "Add host dns entry to AD" -msgstr "" - -#: ../utils/net_ads.c:1489 -msgid "" -"net ads dns register\n" -" Add host dns entry to AD" -msgstr "" - -#: ../utils/net_ads.c:1496 -msgid "Look up host" -msgstr "" - -#: ../utils/net_ads.c:1497 -msgid "" -"net ads dns gethostbyname\n" -" Look up host" -msgstr "" - -#: ../utils/net_ads.c:1512 -msgid "" -"\n" -"net ads printer search <printer>\n" -"\tsearch for a printer in the directory\n" -"\n" -"net ads printer info <printer> <server>\n" -"\tlookup info in directory for printer on server\n" -"\t(note: printer defaults to \"*\", server defaults to local)\n" -"\n" -"net ads printer publish <printername>\n" -"\tpublish printer in directory\n" -"\t(note: printer name is required)\n" -"\n" -"net ads printer remove <printername>\n" -"\tremove printer from directory\n" -"\t(note: printer name is required)\n" -msgstr "" - -#: ../utils/net_ads.c:1536 -msgid "" -"Usage:\n" -"net ads printer search\n" -" List printers in the AD\n" -msgstr "" - -#: ../utils/net_ads.c:1549 -#, c-format -msgid "ads_find_printer: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1556 -msgid "No results found\n" -msgstr "" - -#: ../utils/net_ads.c:1576 -msgid "" -"Usage:\n" -"net ads printer info [printername [servername]]\n" -" Display printer info from AD\n" -" printername\tPrinter name or wildcard\n" -" servername\tName of the print server\n" -msgstr "" - -#: ../utils/net_ads.c:1603 -#, c-format -msgid "Server '%s' not found: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1611 ../utils/net_ads.c:1794 -#, c-format -msgid "Printer '%s' not found\n" -msgstr "" - -#: ../utils/net_ads.c:1640 -msgid "" -"Usage:\n" -"net ads printer publish <printername> [servername]\n" -" Publish printer in AD\n" -" printername\tName of the printer\n" -" servername\tName of the print server\n" -msgstr "" - -#: ../utils/net_ads.c:1675 -#, c-format -msgid "Unable to open a connnection to %s to obtain data for %s\n" -msgstr "" - -#: ../utils/net_ads.c:1688 -#, c-format -msgid "Could not find machine account for server %s\n" -msgstr "" - -#: ../utils/net_ads.c:1704 ../utils/net_ads.c:1713 -msgid "Internal error, out of memory!" -msgstr "" - -#: ../utils/net_ads.c:1724 -#, c-format -msgid "Unable to open a connnection to the spoolss pipe on %s\n" -msgstr "" - -#: ../utils/net_ads.c:1766 -msgid "" -"Usage:\n" -"net ads printer remove <printername> [servername]\n" -" Remove a printer from the AD\n" -" printername\tName of the printer\n" -" servername\tName of the print server\n" -msgstr "" - -#: ../utils/net_ads.c:1787 -#, c-format -msgid "ads_find_printer_on_server: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1806 -#, c-format -msgid "ads_del_dn: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1822 -msgid "Search for a printer" -msgstr "" - -#: ../utils/net_ads.c:1823 -msgid "" -"net ads printer search\n" -" Search for a printer" -msgstr "" - -#: ../utils/net_ads.c:1830 -msgid "Display printer information" -msgstr "" - -#: ../utils/net_ads.c:1831 -msgid "" -"net ads printer info\n" -" Display printer information" -msgstr "" - -#: ../utils/net_ads.c:1838 -msgid "Publish a printer" -msgstr "" - -#: ../utils/net_ads.c:1839 -msgid "" -"net ads printer publish\n" -" Publish a printer" -msgstr "" - -#: ../utils/net_ads.c:1846 -#, fuzzy -msgid "Delete a printer" -msgstr "印刷共有の削除" - -#: ../utils/net_ads.c:1847 -msgid "" -"net ads printer remove\n" -" Delete a printer" -msgstr "" - -#: ../utils/net_ads.c:1869 -msgid "" -"Usage:\n" -"net ads password <username>\n" -" Change password for user\n" -" username\tName of user to change password for\n" -msgstr "" - -#: ../utils/net_ads.c:1877 -msgid "You must supply an administrator username/password\n" -msgstr "" - -#: ../utils/net_ads.c:1883 -msgid "ERROR: You must say which username to change password for\n" -msgstr "" - -#: ../utils/net_ads.c:1915 -msgid "Didn't find the kerberos server!\n" -msgstr "" - -#: ../utils/net_ads.c:1923 -#, c-format -msgid "Enter new password for %s:" -msgstr "" - -#: ../utils/net_ads.c:1933 ../utils/net_ads.c:1982 -#, fuzzy, c-format -msgid "Password change failed: %s\n" -msgstr "パスワード管理" - -#: ../utils/net_ads.c:1938 -#, fuzzy, c-format -msgid "Password change for %s completed.\n" -msgstr "デモ・モードでのパスワード変更はできません" - -#: ../utils/net_ads.c:1952 -msgid "" -"Usage:\n" -"net ads changetrustpw\n" -" Change the machine account's trust password\n" -msgstr "" - -#: ../utils/net_ads.c:1977 -#, c-format -msgid "Changing password for principal: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1988 -#, c-format -msgid "Password change for principal %s succeeded.\n" -msgstr "" - -#: ../utils/net_ads.c:1991 -msgid "Attempting to update system keytab with new password.\n" -msgstr "" - -#: ../utils/net_ads.c:1993 -msgid "Failed to update system keytab.\n" -msgstr "" - -#: ../utils/net_ads.c:2009 -msgid "" -"\n" -"net ads search <expression> <attributes...>\n" -"\n" -"Perform a raw LDAP search on a ADS server and dump the results.\n" -"The expression is a standard LDAP search expression, and the\n" -"attributes are a list of LDAP fields to show in the results.\n" -"\n" -"Example: net ads search '(objectCategory=group)' sAMAccountName\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2046 ../utils/net_ads.c:2107 ../utils/net_ads.c:2171 ../utils/net_ads_gpo.c:250 -#, c-format -msgid "search failed: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2051 ../utils/net_ads.c:2176 ../utils/net_ads_gpo.c:256 -#, c-format -msgid "" -"Got %d replies\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2069 -msgid "" -"\n" -"net ads dn <dn> <attributes...>\n" -"\n" -"perform a raw LDAP search on a ADS server and dump the results\n" -"The DN standard LDAP DN, and the attributes are a list of LDAP fields \n" -"to show in the results\n" -"\n" -"Example: net ads dn 'CN=administrator,CN=Users,DC=my,DC=domain' sAMAccountName\n" -"\n" -"Note: the DN must be provided properly escaped. See RFC 4514 for details\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2129 -msgid "" -"\n" -"net ads sid <sid> <attributes...>\n" -"\n" -"perform a raw LDAP search on a ADS server and dump the results\n" -"The SID is in string format, and the attributes are a list of LDAP fields \n" -"to show in the results\n" -"\n" -"Example: net ads sid 'S-1-5-32' distinguishedName\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2164 -msgid "could not convert sid\n" -msgstr "" - -#: ../utils/net_ads.c:2193 -msgid "" -"Usage:\n" -"net ads keytab flush\n" -" Delete the whole keytab\n" -msgstr "" - -#: ../utils/net_ads.c:2214 -msgid "" -"Usage:\n" -"net ads keytab add <principal> [principal ...]\n" -" Add principals to local keytab\n" -" principal\tKerberos principal to add to keytab\n" -msgstr "" - -#: ../utils/net_ads.c:2222 -msgid "Processing principals to add...\n" -msgstr "" - -#: ../utils/net_ads.c:2239 -msgid "" -"Usage:\n" -"net ads keytab create\n" -" Create new default keytab\n" -msgstr "" - -#: ../utils/net_ads.c:2258 -msgid "" -"Usage:\n" -"net ads keytab list [keytab]\n" -" List a local keytab\n" -" keytab\tKeytab to list\n" -msgstr "" - -#: ../utils/net_ads.c:2280 -msgid "Add a service principal" -msgstr "" - -#: ../utils/net_ads.c:2281 -msgid "" -"net ads keytab add\n" -" Add a service principal" -msgstr "" - -#: ../utils/net_ads.c:2288 -#, fuzzy -msgid "Create a fresh keytab" -msgstr "ファイル共有の作成" - -#: ../utils/net_ads.c:2289 -msgid "" -"net ads keytab create\n" -" Create a fresh keytab" -msgstr "" - -#: ../utils/net_ads.c:2296 -msgid "Remove all keytab entries" -msgstr "" - -#: ../utils/net_ads.c:2297 -msgid "" -"net ads keytab flush\n" -" Remove all keytab entries" -msgstr "" - -#: ../utils/net_ads.c:2304 -msgid "List a keytab" -msgstr "" - -#: ../utils/net_ads.c:2305 -msgid "" -"net ads keytab list\n" -" List a keytab" -msgstr "" - -#: ../utils/net_ads.c:2312 -msgid "" -"\n" -"Warning: \"kerberos method\" must be set to a keytab method to use keytab functions.\n" -msgstr "" - -#: ../utils/net_ads.c:2324 -msgid "" -"Usage:\n" -"net ads kerberos renew\n" -" Renew TGT from existing credential cache\n" -msgstr "" - -#: ../utils/net_ads.c:2332 -#, c-format -msgid "failed to renew kerberos ticket: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2347 -msgid "" -"Usage:\n" -"net ads kerberos pac\n" -" Dump the Kerberos PAC\n" -msgstr "" - -#: ../utils/net_ads.c:2372 -#, c-format -msgid "failed to query kerberos PAC: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2381 -#, c-format -msgid "The Pac: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2397 -msgid "" -"Usage:\n" -"net ads kerberos kinit\n" -" Get Ticket Granting Ticket (TGT) for the user\n" -msgstr "" - -#: ../utils/net_ads.c:2421 -#, c-format -msgid "failed to kinit password: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2435 -msgid "Retrieve Ticket Granting Ticket (TGT)" -msgstr "" - -#: ../utils/net_ads.c:2436 -msgid "" -"net ads kerberos kinit\n" -" Receive Ticket Granting Ticket (TGT)" -msgstr "" - -#: ../utils/net_ads.c:2443 -msgid "Renew Ticket Granting Ticket from credential cache" -msgstr "" - -#: ../utils/net_ads.c:2444 -msgid "" -"net ads kerberos renew\n" -" Renew Ticket Granting Ticket (TGT) from credential cache" -msgstr "" - -#: ../utils/net_ads.c:2452 -msgid "Dump Kerberos PAC" -msgstr "" - -#: ../utils/net_ads.c:2453 -msgid "" -"net ads kerberos pac\n" -" Dump Kerberos PAC" -msgstr "" - -#: ../utils/net_ads.c:2469 -msgid "Display details on remote ADS server" -msgstr "" - -#: ../utils/net_ads.c:2470 -msgid "" -"net ads info\n" -" Display details on remote ADS server" -msgstr "" - -#: ../utils/net_ads.c:2477 -msgid "Join the local machine to ADS realm" -msgstr "" - -#: ../utils/net_ads.c:2478 -msgid "" -"net ads join\n" -" Join the local machine to ADS realm" -msgstr "" - -#: ../utils/net_ads.c:2485 -msgid "Validate machine account" -msgstr "" - -#: ../utils/net_ads.c:2486 -msgid "" -"net ads testjoin\n" -" Validate machine account" -msgstr "" - -#: ../utils/net_ads.c:2493 -msgid "Remove the local machine from ADS" -msgstr "" - -#: ../utils/net_ads.c:2494 -msgid "" -"net ads leave\n" -" Remove the local machine from ADS" -msgstr "" - -#: ../utils/net_ads.c:2501 -msgid "Display machine account details" -msgstr "" - -#: ../utils/net_ads.c:2502 -msgid "" -"net ads status\n" -" Display machine account details" -msgstr "" - -#: ../utils/net_ads.c:2509 -msgid "List/modify users" -msgstr "" - -#: ../utils/net_ads.c:2510 -msgid "" -"net ads user\n" -" List/modify users" -msgstr "" - -#: ../utils/net_ads.c:2517 -msgid "List/modify groups" -msgstr "" - -#: ../utils/net_ads.c:2518 -msgid "" -"net ads group\n" -" List/modify groups" -msgstr "" - -#: ../utils/net_ads.c:2525 -msgid "Issue dynamic DNS update" -msgstr "" - -#: ../utils/net_ads.c:2526 -msgid "" -"net ads dns\n" -" Issue dynamic DNS update" -msgstr "" - -#: ../utils/net_ads.c:2533 -#, fuzzy -msgid "Change user passwords" -msgstr "パスワード変更" - -#: ../utils/net_ads.c:2534 -msgid "" -"net ads password\n" -" Change user passwords" -msgstr "" - -#: ../utils/net_ads.c:2541 -#, fuzzy -msgid "Change trust account password" -msgstr "パスワード変更" - -#: ../utils/net_ads.c:2542 -msgid "" -"net ads changetrustpw\n" -" Change trust account password" -msgstr "" - -#: ../utils/net_ads.c:2549 -msgid "List/modify printer entries" -msgstr "" - -#: ../utils/net_ads.c:2550 -msgid "" -"net ads printer\n" -" List/modify printer entries" -msgstr "" - -#: ../utils/net_ads.c:2557 -msgid "Issue LDAP search using filter" -msgstr "" - -#: ../utils/net_ads.c:2558 -msgid "" -"net ads search\n" -" Issue LDAP search using filter" -msgstr "" - -#: ../utils/net_ads.c:2565 -msgid "Issue LDAP search by DN" -msgstr "" - -#: ../utils/net_ads.c:2566 -msgid "" -"net ads dn\n" -" Issue LDAP search by DN" -msgstr "" - -#: ../utils/net_ads.c:2573 -msgid "Issue LDAP search by SID" -msgstr "" - -#: ../utils/net_ads.c:2574 -msgid "" -"net ads sid\n" -" Issue LDAP search by SID" -msgstr "" - -#: ../utils/net_ads.c:2581 -msgid "Display workgroup name" -msgstr "" - -#: ../utils/net_ads.c:2582 -msgid "" -"net ads workgroup\n" -" Display the workgroup name" -msgstr "" - -#: ../utils/net_ads.c:2589 -msgid "Perfom CLDAP query on DC" -msgstr "" - -#: ../utils/net_ads.c:2590 -msgid "" -"net ads lookup\n" -" Find the ADS DC using CLDAP lookups" -msgstr "" - -#: ../utils/net_ads.c:2597 -msgid "Manage local keytab file" -msgstr "" - -#: ../utils/net_ads.c:2598 -msgid "" -"net ads keytab\n" -" Manage local keytab file" -msgstr "" - -#: ../utils/net_ads.c:2605 -msgid "Manage group policy objects" -msgstr "" - -#: ../utils/net_ads.c:2606 -msgid "" -"net ads gpo\n" -" Manage group policy objects" -msgstr "" - -#: ../utils/net_ads.c:2613 -msgid "Manage kerberos keytab" -msgstr "" - -#: ../utils/net_ads.c:2614 -msgid "" -"net ads kerberos\n" -" Manage kerberos keytab" -msgstr "" - -#: ../utils/net_ads.c:2627 -msgid "ADS support not compiled in\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:40 -msgid "" -"Usage:\n" -"net ads gpo refresh <username|machinename>\n" -" Lists all GPOs assigned to an account and downloads them\n" -" username\tUser to refresh GPOs for\n" -" machinename\tMachine to refresh GPOs for\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:56 -#, c-format -msgid "failed to connect AD server: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:62 -#, c-format -msgid "failed to find samaccount for %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:70 -#, c-format -msgid "" -"\n" -"%s: '%s' has dn: '%s'\n" -"\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:71 ../utils/net_ads_gpo.c:328 -#, fuzzy -msgid "machine" -msgstr "リモートマシン" - -#: ../utils/net_ads_gpo.c:71 ../utils/net_ads_gpo.c:328 -#, fuzzy -msgid "user" -msgstr "ユーザ" - -#: ../utils/net_ads_gpo.c:74 -msgid "* fetching token " -msgstr "" - -#: ../utils/net_ads_gpo.c:82 ../utils/net_ads_gpo.c:90 ../utils/net_ads_gpo.c:102 ../utils/net_ads_gpo.c:113 ../utils/net_ads_gpo.c:158 -#, c-format -msgid "failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:85 ../utils/net_ads_gpo.c:94 ../utils/net_ads_gpo.c:105 ../utils/net_ads_gpo.c:118 ../utils/net_ads_gpo.c:163 -msgid "finished\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:87 -msgid "* fetching GPO List " -msgstr "" - -#: ../utils/net_ads_gpo.c:96 -msgid "* Refreshing Group Policy Data " -msgstr "" - -#: ../utils/net_ads_gpo.c:107 -msgid "* storing GPO list to registry " -msgstr "" - -#: ../utils/net_ads_gpo.c:122 -msgid "* dumping GPO list\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:151 -msgid "* re-reading GPO list from registry " -msgstr "" - -#: ../utils/net_ads_gpo.c:167 -msgid "* dumping GPO list from registry\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:226 -msgid "" -"Usage:\n" -"net ads gpo listall\n" -" List all GPOs on the DC\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:270 -#, fuzzy, c-format -msgid "ads_parse_gpo failed: %s\n" -msgstr "パスワード管理" - -#: ../utils/net_ads_gpo.c:300 -msgid "" -"Usage:\n" -"net ads gpo list <username|machinename>\n" -" Lists all GPOs for machine/user\n" -" username\tUser to list GPOs for\n" -" machinename\tMachine to list GPOs for\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:327 -#, c-format -msgid "%s: '%s' has dn: '%s'\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:451 -msgid "" -"Usage:\n" -"net ads gpo linkget <container>\n" -" Lists gPLink of a containter\n" -" container\tContainer to get link for\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:470 -#, c-format -msgid "get link for %s failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:492 -msgid "" -"Usage:\n" -"net ads gpo linkadd <linkdn> <gpodn> [options]\n" -" Link a container to a GPO\n" -" linkdn\tContainer to link to a GPO\n" -" gpodn\tGPO to link container to\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:497 -msgid "" -"note: DNs must be provided properly escaped.\n" -"See RFC 4514 for details\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:518 -#, c-format -msgid "link add failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:579 -msgid "" -"Usage:\n" -"net ads gpo getgpo <gpo>\n" -" List speciefied GPO\n" -" gpo\t\tGPO to list\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:603 -#, c-format -msgid "get gpo for [%s] failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:634 -msgid "List specified GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:635 -msgid "" -"net ads gpo getgpo\n" -" List specified GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:642 -msgid "Link a container to a GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:643 -msgid "" -"net ads gpo linkadd\n" -" Link a container to a GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:660 -msgid "Lists gPLink of containter" -msgstr "" - -#: ../utils/net_ads_gpo.c:661 -msgid "" -"net ads gpo linkget\n" -" Lists gPLink of containter" -msgstr "" - -#: ../utils/net_ads_gpo.c:668 -msgid "Lists all GPOs for machine/user" -msgstr "" - -#: ../utils/net_ads_gpo.c:669 -msgid "" -"net ads gpo list\n" -" Lists all GPOs for machine/user" -msgstr "" - -#: ../utils/net_ads_gpo.c:676 -msgid "Lists all GPOs on a DC" -msgstr "" - -#: ../utils/net_ads_gpo.c:677 -msgid "" -"net ads gpo listall\n" -" Lists all GPOs on a DC" -msgstr "" - -#: ../utils/net_ads_gpo.c:684 -msgid "Lists all GPOs assigned to an account and downloads them" -msgstr "" - -#: ../utils/net_ads_gpo.c:686 -msgid "" -"net ads gpo refresh\n" -" Lists all GPOs assigned to an account and downloads them" -msgstr "" - -#: ../utils/net_afs.c:25 -msgid "" -" net afs key filename\n" -"\tImports a OpenAFS KeyFile into our secrets.tdb\n" -"\n" -msgstr "" - -#: ../utils/net_afs.c:27 -msgid "" -" net afs impersonate <user> <cell>\n" -"\tCreates a token for user@cell\n" -"\n" -msgstr "" - -#: ../utils/net_afs.c:38 -msgid "usage: 'net afs key <keyfile> cell'\n" -msgstr "" - -#: ../utils/net_afs.c:43 -msgid "Could not open secrets.tdb\n" -msgstr "" - -#: ../utils/net_afs.c:48 -#, c-format -msgid "Could not open %s\n" -msgstr "" - -#: ../utils/net_afs.c:53 -msgid "Could not read keyfile\n" -msgstr "" - -#: ../utils/net_afs.c:58 -msgid "Could not write keyfile to secrets.tdb\n" -msgstr "" - -#: ../utils/net_afs.c:71 -#, c-format -msgid "Usage: net afs impersonate <user> <cell>\n" -msgstr "" - -#: ../utils/net_afs.c:78 -#, c-format -msgid "Could not create token\n" -msgstr "" - -#: ../utils/net_afs.c:83 -#, c-format -msgid "Could not set token into kernel\n" -msgstr "" - -#: ../utils/net_afs.c:87 -#, c-format -msgid "Success: %s@%s\n" -msgstr "" - -#: ../utils/net_afs.c:98 -msgid "Import an OpenAFS keyfile" -msgstr "" - -#: ../utils/net_afs.c:99 -msgid "" -"net afs key <filename>\n" -" Import kefile from <filename>." -msgstr "" - -#: ../utils/net_afs.c:106 -msgid "Get a user token" -msgstr "" - -#: ../utils/net_afs.c:107 -msgid "" -"net afs impersonate <user> <cell>\n" -" Create token for user@cell" -msgstr "" - -#: ../utils/net_cache.c:74 -#, c-format -msgid "Key: %s\t Timeout: %s\t Value: %s %s\n" -msgstr "" - -#: ../utils/net_cache.c:75 -msgid "(expired)" -msgstr "" - -#: ../utils/net_cache.c:84 -#, c-format -msgid "Couldn't delete entry! key = %s\n" -msgstr "" - -#: ../utils/net_cache.c:158 -msgid "" -"\n" -"Usage:\n" -"net cache add <key string> <data string> <timeout>\n" -msgstr "" - -#: ../utils/net_cache.c:170 -msgid "Invalid timeout argument.\n" -msgstr "" - -#: ../utils/net_cache.c:175 -msgid "New cache entry stored successfully.\n" -msgstr "" - -#: ../utils/net_cache.c:179 -msgid "Entry couldn't be added. Perhaps there's already such a key.\n" -msgstr "" - -#: ../utils/net_cache.c:195 -msgid "" -"\n" -"Usage: net cache del <key string>\n" -msgstr "" - -#: ../utils/net_cache.c:200 -msgid "Entry deleted.\n" -msgstr "" - -#: ../utils/net_cache.c:204 -msgid "Couldn't delete specified entry\n" -msgstr "" - -#: ../utils/net_cache.c:223 -msgid "" -"\n" -"Usage: net cache get <key>\n" -msgstr "" - -#: ../utils/net_cache.c:233 -msgid "Failed to find entry\n" -msgstr "" - -#: ../utils/net_cache.c:250 -msgid "Usage: net cache search <pattern>\n" -msgstr "" - -#: ../utils/net_cache.c:272 -msgid "" -"Usage:\n" -"net cache list\n" -" List all cache entries.\n" -msgstr "" - -#: ../utils/net_cache.c:293 ../utils/net_cache.c:306 -msgid "" -"Usage:\n" -"net cache flush\n" -" Delete all cache entries.\n" -msgstr "" - -#: ../utils/net_cache.c:331 -msgid "Add new cache entry" -msgstr "" - -#: ../utils/net_cache.c:332 -msgid "" -"net cache add <key string> <data string> <timeout>\n" -" Add new cache entry.\n" -" key string\tKey string to add cache data under.\n" -" data string\tData to store under given key.\n" -" timeout\tTimeout for cache data." -msgstr "" - -#: ../utils/net_cache.c:342 -msgid "Delete existing cache entry by key" -msgstr "" - -#: ../utils/net_cache.c:343 -msgid "" -"net cache del <key string>\n" -" Delete existing cache entry by key.\n" -" key string\tKey string to delete." -msgstr "" - -#: ../utils/net_cache.c:351 -msgid "Get cache entry by key" -msgstr "" - -#: ../utils/net_cache.c:352 -msgid "" -"net cache get <key string>\n" -" Get cache entry by key.\n" -" key string\tKey string to look up cache entry for." -msgstr "" - -#: ../utils/net_cache.c:361 -msgid "Search entry by pattern" -msgstr "" - -#: ../utils/net_cache.c:362 -msgid "" -"net cache search <pattern>\n" -" Search entry by pattern.\n" -" pattern\tPattern to search for in cache." -msgstr "" - -#: ../utils/net_cache.c:370 -msgid "List all cache entries" -msgstr "" - -#: ../utils/net_cache.c:371 -msgid "" -"net cache list\n" -" List all cache entries" -msgstr "" - -#: ../utils/net_cache.c:378 -#, fuzzy -msgid "Delete all cache entries" -msgstr "印刷共有の削除" - -#: ../utils/net_cache.c:379 -msgid "" -"net cache flush\n" -" Delete all cache entries" -msgstr "" - -#: ../utils/net_cache.c:386 -msgid "Move transient cache content to stable storage" -msgstr "" - -#: ../utils/net_cache.c:387 -msgid "" -"net cache stabilize\n" -" Move transient cache content to stable storage" -msgstr "" - -#: ../utils/net_conf.c:42 -msgid "USAGE: net conf list\n" -msgstr "" - -#: ../utils/net_conf.c:49 -msgid "" -"USAGE: net conf import [--test|-T] <filename> [<servicename>]\n" -"\t[--test|-T] testmode - do not act, just print what would be done\n" -"\t<servicename> only import service <servicename>, ignore the rest\n" -msgstr "" - -#: ../utils/net_conf.c:61 -msgid "USAGE: net conf listshares\n" -msgstr "" - -#: ../utils/net_conf.c:68 -msgid "USAGE: net conf drop\n" -msgstr "" - -#: ../utils/net_conf.c:75 -msgid "USAGE: net conf showshare <sharename>\n" -msgstr "" - -#: ../utils/net_conf.c:82 -msgid "" -"USAGE: net conf addshare <sharename> <path> [writeable={y|N} [guest_ok={y|N} [<comment>]]\n" -"\t<sharename> the new share name.\n" -"\t<path> the path on the filesystem to export.\n" -"\twriteable={y|N} set \"writeable to \"yes\" or \"no\" (default) on this share.\n" -"\tguest_ok={y|N} set \"guest ok\" to \"yes\" or \"no\" (default) on this share.\n" -"\t<comment> optional comment for the new share.\n" -msgstr "" - -#: ../utils/net_conf.c:97 -msgid "USAGE: net conf delshare <sharename>\n" -msgstr "" - -#: ../utils/net_conf.c:104 -msgid "USAGE: net conf setparm <section> <param> <value>\n" -msgstr "" - -#: ../utils/net_conf.c:111 -msgid "USAGE: net conf getparm <section> <param>\n" -msgstr "" - -#: ../utils/net_conf.c:118 -msgid "USAGE: net conf delparm <section> <param>\n" -msgstr "" - -#: ../utils/net_conf.c:125 -msgid "USAGE: net conf getincludes <section>\n" -msgstr "" - -#: ../utils/net_conf.c:132 -msgid "USAGE: net conf setincludes <section> [<filename>]*\n" -msgstr "" - -#: ../utils/net_conf.c:139 -msgid "USAGE: net conf delincludes <section>\n" -msgstr "" - -#: ../utils/net_conf.c:251 -#, c-format -msgid "Error getting config: %s\n" -msgstr "" - -#: ../utils/net_conf.c:305 ../utils/net_conf.c:318 ../utils/net_conf.c:614 ../utils/net_conf.c:742 ../utils/net_conf.c:780 ../utils/net_conf.c:786 ../utils/net_conf.c:860 ../utils/net_conf.c:866 ../utils/net_conf.c:916 ../utils/net_conf.c:970 -#: ../utils/net_conf.c:1010 ../utils/net_conf.c:1050 -msgid "error: out of memory!\n" -msgstr "" - -#: ../utils/net_conf.c:324 -#, c-format -msgid "error loading file '%s': %s\n" -msgstr "" - -#: ../utils/net_conf.c:330 -msgid "" -"\n" -"TEST MODE - would import the following configuration:\n" -"\n" -msgstr "" - -#: ../utils/net_conf.c:346 ../utils/net_conf.c:382 ../utils/net_conf.c:407 ../utils/net_conf.c:793 -#, c-format -msgid "error starting transaction: %s\n" -msgstr "" - -#: ../utils/net_conf.c:400 ../utils/net_conf.c:416 ../utils/net_conf.c:817 -#, c-format -msgid "error committing transaction: %s\n" -msgstr "" - -#: ../utils/net_conf.c:427 ../utils/net_conf.c:828 -#, c-format -msgid "error cancelling transaction: %s\n" -msgstr "" - -#: ../utils/net_conf.c:484 -#, c-format -msgid "Error deleting configuration: %s\n" -msgstr "" - -#: ../utils/net_conf.c:521 -#, c-format -msgid "error getting share parameters: %s\n" -msgstr "" - -#: ../utils/net_conf.c:630 -#, c-format -msgid "ERROR: share name %s contains invalid characters (any of %s)\n" -msgstr "" - -#: ../utils/net_conf.c:638 -msgid "ERROR: 'global' is not a valid share name.\n" -msgstr "" - -#: ../utils/net_conf.c:643 -#, c-format -msgid "ERROR: share %s already exists.\n" -msgstr "" - -#: ../utils/net_conf.c:652 -#, c-format -msgid "Error: path '%s' is not an absolute path.\n" -msgstr "" - -#: ../utils/net_conf.c:659 -#, c-format -msgid "" -"ERROR: cannot stat path '%s' to ensure this is a directory.\n" -"Error was '%s'.\n" -msgstr "" - -#: ../utils/net_conf.c:668 -#, c-format -msgid "ERROR: path '%s' is not a directory.\n" -msgstr "" - -#: ../utils/net_conf.c:679 -#, c-format -msgid "Error creating share %s: %s\n" -msgstr "" - -#: ../utils/net_conf.c:690 ../utils/net_conf.c:699 ../utils/net_conf.c:707 ../utils/net_conf.c:715 -#, c-format -msgid "Error setting parameter %s: %s\n" -msgstr "" - -#: ../utils/net_conf.c:748 -#, c-format -msgid "Error deleting share %s: %s\n" -msgstr "" - -#: ../utils/net_conf.c:801 -#, c-format -msgid "Error creating share '%s': %s\n" -msgstr "" - -#: ../utils/net_conf.c:810 -#, c-format -msgid "Error setting value '%s': %s\n" -msgstr "" - -#: ../utils/net_conf.c:874 ../utils/net_conf.c:930 -#, c-format -msgid "Error: given service '%s' does not exist.\n" -msgstr "" - -#: ../utils/net_conf.c:879 ../utils/net_conf.c:935 -#, c-format -msgid "Error: given parameter '%s' is not set.\n" -msgstr "" - -#: ../utils/net_conf.c:883 -#, c-format -msgid "Error getting value '%s': %s.\n" -msgstr "" - -#: ../utils/net_conf.c:939 -#, c-format -msgid "Error deleting value '%s': %s.\n" -msgstr "" - -#: ../utils/net_conf.c:977 -#, c-format -msgid "error getting includes: %s\n" -msgstr "" - -#: ../utils/net_conf.c:1023 -#, c-format -msgid "error setting includes: %s\n" -msgstr "" - -#: ../utils/net_conf.c:1056 -#, c-format -msgid "error deleting includes: %s\n" -msgstr "" - -#: ../utils/net_conf.c:1136 ../utils/net_help.c:36 -msgid "Usage:\n" -msgstr "" - -#: ../utils/net_conf.c:1160 -msgid "Dump the complete configuration in smb.conf like format." -msgstr "" - -#: ../utils/net_conf.c:1162 -msgid "" -"net conf list\n" -" Dump the complete configuration in smb.conf like format." -msgstr "" - -#: ../utils/net_conf.c:1171 -msgid "Import configuration from file in smb.conf format." -msgstr "" - -#: ../utils/net_conf.c:1173 -msgid "" -"net conf import\n" -" Import configuration from file in smb.conf format." -msgstr "" - -#: ../utils/net_conf.c:1181 -msgid "List the share names." -msgstr "" - -#: ../utils/net_conf.c:1182 -msgid "" -"net conf listshares\n" -" List the share names." -msgstr "" - -#: ../utils/net_conf.c:1189 -msgid "Delete the complete configuration." -msgstr "" - -#: ../utils/net_conf.c:1190 -msgid "" -"net conf drop\n" -" Delete the complete configuration." -msgstr "" - -#: ../utils/net_conf.c:1197 -msgid "Show the definition of a share." -msgstr "" - -#: ../utils/net_conf.c:1198 -msgid "" -"net conf showshare\n" -" Show the definition of a share." -msgstr "" - -#: ../utils/net_conf.c:1205 -#, fuzzy -msgid "Create a new share." -msgstr "ファイル共有の作成" - -#: ../utils/net_conf.c:1206 -msgid "" -"net conf addshare\n" -" Create a new share." -msgstr "" - -#: ../utils/net_conf.c:1213 -#, fuzzy -msgid "Delete a share." -msgstr "ファイル共有の削除" - -#: ../utils/net_conf.c:1214 -msgid "" -"net conf delshare\n" -" Delete a share." -msgstr "" - -#: ../utils/net_conf.c:1221 -#, fuzzy -msgid "Store a parameter." -msgstr "ファイル共有 パラメータ" - -#: ../utils/net_conf.c:1222 -msgid "" -"net conf setparm\n" -" Store a parameter." -msgstr "" - -#: ../utils/net_conf.c:1229 -msgid "Retrieve the value of a parameter." -msgstr "" - -#: ../utils/net_conf.c:1230 -msgid "" -"net conf getparm\n" -" Retrieve the value of a parameter." -msgstr "" - -#: ../utils/net_conf.c:1237 -#, fuzzy -msgid "Delete a parameter." -msgstr "印刷共有の削除" - -#: ../utils/net_conf.c:1238 -msgid "" -"net conf delparm\n" -" Delete a parameter." -msgstr "" - -#: ../utils/net_conf.c:1245 -msgid "Show the includes of a share definition." -msgstr "" - -#: ../utils/net_conf.c:1246 -msgid "" -"net conf getincludes\n" -" Show the includes of a share definition." -msgstr "" - -#: ../utils/net_conf.c:1253 -msgid "Set includes for a share." -msgstr "" - -#: ../utils/net_conf.c:1254 -msgid "" -"net conf setincludes\n" -" Set includes for a share." -msgstr "" - -#: ../utils/net_conf.c:1261 -msgid "Delete includes from a share definition." -msgstr "" - -#: ../utils/net_conf.c:1262 -msgid "" -"net conf setincludes\n" -" Delete includes from a share definition." -msgstr "" - -#: ../utils/net_dom.c:25 -msgid "" -"usage: net dom join <domain=DOMAIN> <ou=OU> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Join a remote machine\n" -msgstr "" - -#: ../utils/net_dom.c:28 -msgid "" -"usage: net dom unjoin <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Unjoin a remote machine\n" -msgstr "" - -#: ../utils/net_dom.c:31 -msgid "" -"usage: net dom renamecomputer <newname=NEWNAME> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Rename joined computer\n" -msgstr "" - -#: ../utils/net_dom.c:91 -#, c-format -msgid "Failed to unjoin domain: %s\n" -msgstr "" - -#: ../utils/net_dom.c:97 ../utils/net_dom.c:204 -msgid "Shutting down due to a domain membership change" -msgstr "" - -#: ../utils/net_dom.c:290 -#, c-format -msgid "Failed to rename machine: " -msgstr "" - -#: ../utils/net_dom.c:292 -#, c-format -msgid "Computer is not joined to a Domain\n" -msgstr "" - -#: ../utils/net_dom.c:301 -msgid "Shutting down due to a computer rename" -msgstr "" - -#: ../utils/net_dom.c:338 -#, fuzzy -msgid "Join a remote machine" -msgstr "リモートマシン" - -#: ../utils/net_dom.c:339 -msgid "" -"net dom join <domain=DOMAIN> <ou=OU> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Join a remote machine" -msgstr "" - -#: ../utils/net_dom.c:347 -#, fuzzy -msgid "Unjoin a remote machine" -msgstr "リモートマシン" - -#: ../utils/net_dom.c:348 -msgid "" -"net dom unjoin <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Unjoin a remote machine" -msgstr "" - -#: ../utils/net_dom.c:356 -msgid "Rename a computer that is joined to a domain" -msgstr "" - -#: ../utils/net_dom.c:357 -msgid "" -"net dom renamecomputer <newname=NEWNAME> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Rename joined computer" -msgstr "" - -#: ../utils/net_eventlog.c:46 -msgid "usage: net eventlog dump <file.evt>\n" -msgstr "" - -#: ../utils/net_eventlog.c:52 ../utils/net_eventlog.c:108 -#, c-format -msgid "failed to load evt file: %s\n" -msgstr "" - -#: ../utils/net_eventlog.c:59 ../utils/net_eventlog.c:129 -#, fuzzy, c-format -msgid "evt pull failed: %s\n" -msgstr "パスワード管理" - -#: ../utils/net_eventlog.c:102 -msgid "usage: net eventlog import <file> <eventlog>\n" -msgstr "" - -#: ../utils/net_eventlog.c:116 -#, fuzzy, c-format -msgid "evt header pull failed: %s\n" -msgstr "パスワード管理" - -#: ../utils/net_eventlog.c:122 -msgid "input file is wrapped, cannot proceed\n" -msgstr "" - -#: ../utils/net_eventlog.c:138 ../utils/net_eventlog.c:203 -#, c-format -msgid "can't open the eventlog TDB (%s)\n" -msgstr "" - -#: ../utils/net_eventlog.c:158 -#, c-format -msgid "can't write to the eventlog: %s\n" -msgstr "" - -#: ../utils/net_eventlog.c:164 -#, c-format -msgid "wrote %d entries to tdb\n" -msgstr "" - -#: ../utils/net_eventlog.c:197 -msgid "usage: net eventlog export <file> <eventlog>\n" -msgstr "" - -#: ../utils/net_eventlog.c:214 -#, c-format -msgid "failed to save evt file: %s\n" -msgstr "" - -#: ../utils/net_eventlog.c:243 -msgid "Dump eventlog" -msgstr "" - -#: ../utils/net_eventlog.c:244 -msgid "" -"net eventlog dump\n" -" Dump win32 *.evt eventlog file" -msgstr "" - -#: ../utils/net_eventlog.c:251 -#, fuzzy -msgid "Import eventlog" -msgstr "*注" - -#: ../utils/net_eventlog.c:252 -msgid "" -"net eventlog import\n" -" Import win32 *.evt eventlog file" -msgstr "" - -#: ../utils/net_eventlog.c:259 -msgid "Export eventlog" -msgstr "" - -#: ../utils/net_eventlog.c:260 -msgid "" -"net eventlog export\n" -" Export win32 *.evt eventlog file" -msgstr "" - -#: ../utils/net_file.c:27 -msgid "" -"net [<method>] file [misc. options] [targets]\n" -"\tlists all open files on file server\n" -msgstr "" - -#: ../utils/net_file.c:29 -msgid "" -"net [<method>] file USER <username> [misc. options] [targets]\n" -"\tlists all files opened by username on file server\n" -msgstr "" - -#: ../utils/net_file.c:32 -msgid "" -"net [<method>] file CLOSE <id> [misc. options] [targets]\n" -"\tcloses specified file on target server\n" -msgstr "" - -#: ../utils/net_file.c:34 -msgid "" -"net [rap] file INFO <id> [misc. options] [targets]\n" -"\tdisplays information about the specified open file\n" -msgstr "" - -#: ../utils/net_group.c:27 -msgid "" -"net [<method>] group [misc. options] [targets]\n" -"\tList user groups\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:29 -msgid "" -"net rpc group LIST [global|local|builtin]* [misc. options]\n" -"\tList specific user groups\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:31 -msgid "" -"net [<method>] group DELETE <name> [misc. options] [targets]\n" -"\tDelete specified group\n" -msgstr "" - -#: ../utils/net_group.c:34 -msgid "" -"\n" -"net [<method>] group ADD <name> [-C comment] [-c container] [misc. options] [targets]\n" -"\tCreate specified group\n" -msgstr "" - -#: ../utils/net_group.c:37 -msgid "" -"\n" -"net rpc group MEMBERS <name>\n" -"\tList Group Members\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:38 -msgid "" -"\n" -"net rpc group ADDMEM <group> <member>\n" -"\tAdd Group Members\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:40 -msgid "" -"\n" -"net rpc group DELMEM <group> <member>\n" -"\tDelete Group Members\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:44 -msgid "\t-C or --comment=<comment>\tdescriptive comment (for add only)\n" -msgstr "" - -#: ../utils/net_group.c:46 -msgid "\t-c or --container=<container>\tLDAP container, defaults to cn=Users (for add in ADS only)\n" -msgstr "" - -#: ../utils/net_group.c:48 -msgid "\t-L or --localgroup\t\tWhen adding groups, create a local group (alias)\n" -msgstr "" - -#: ../utils/net_groupmap.c:38 -#, c-format -msgid "NT Group %s doesn't exist in mapping DB\n" -msgstr "" - -#: ../utils/net_groupmap.c:46 -#, c-format -msgid "converting sid %s from a string failed!\n" -msgstr "" - -#: ../utils/net_groupmap.c:65 -#, c-format -msgid "\tSID : %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:66 -#, c-format -msgid "\tUnix gid : %u\n" -msgstr "" - -#: ../utils/net_groupmap.c:67 -#, c-format -msgid "\tUnix group: %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:68 -#, c-format -msgid "\tGroup type: %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:70 -#, c-format -msgid "\tComment : %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:84 -msgid "" -"net groupmap list [verbose] [ntgroup=NT group] [sid=SID]\n" -" verbose\tPrint verbose list\n" -" ntgroup\tNT group to list\n" -" sid\tSID of group to list" -msgstr "" - -#: ../utils/net_groupmap.c:91 ../utils/net_groupmap.c:271 ../utils/net_groupmap.c:356 ../utils/net_groupmap.c:412 ../utils/net_groupmap.c:495 ../utils/net_groupmap.c:522 -#, fuzzy, c-format -msgid "" -"Usage:\n" -"%s\n" -msgstr "ユーザ名" - -#: ../utils/net_groupmap.c:106 ../utils/net_groupmap.c:213 ../utils/net_groupmap.c:220 ../utils/net_groupmap.c:365 ../utils/net_groupmap.c:372 ../utils/net_groupmap.c:504 -msgid "must supply a name\n" -msgstr "" - -#: ../utils/net_groupmap.c:113 ../utils/net_groupmap.c:227 ../utils/net_groupmap.c:511 -msgid "must supply a SID\n" -msgstr "" - -#: ../utils/net_groupmap.c:118 ../utils/net_groupmap.c:265 ../utils/net_groupmap.c:406 ../utils/net_groupmap.c:516 -#, fuzzy, c-format -msgid "Bad option: %s\n" -msgstr "基本 オプション" - -#: ../utils/net_groupmap.c:139 -msgid "Failure to local group SID in the database\n" -msgstr "" - -#: ../utils/net_groupmap.c:181 -msgid "net groupmap add {rid=<int>|sid=<string>} unixgroup=<string> [type=<domain|local|builtin>] [ntgroup=<string>] [comment=<string>]" -msgstr "" - -#: ../utils/net_groupmap.c:195 -#, fuzzy, c-format -msgid "" -"Usage\n" -"%s\n" -msgstr "ユーザ名" - -#: ../utils/net_groupmap.c:205 -#, c-format -msgid "RID must be greater than %d\n" -msgstr "" - -#: ../utils/net_groupmap.c:235 ../utils/net_groupmap.c:380 -msgid "must supply a comment string\n" -msgstr "" - -#: ../utils/net_groupmap.c:259 -#, c-format -msgid "unknown group type %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:276 -#, c-format -msgid "Can't lookup UNIX group %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:282 -#, c-format -msgid "Unix group %s already mapped to SID %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:289 -msgid "No rid or sid specified, choosing a RID\n" -msgstr "" - -#: ../utils/net_groupmap.c:292 -msgid "Could not get new RID\n" -msgstr "" - -#: ../utils/net_groupmap.c:297 -#, c-format -msgid "Got RID %d\n" -msgstr "" - -#: ../utils/net_groupmap.c:328 -#, c-format -msgid "adding entry for group %s failed!\n" -msgstr "" - -#: ../utils/net_groupmap.c:332 -#, c-format -msgid "Successfully added group %s to the mapping db as a %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:349 -msgid "net groupmap modify {ntgroup=<string>|sid=<SID>} [comment=<string>] [unixgroup=<string>] [type=<domain|local>]" -msgstr "" - -#: ../utils/net_groupmap.c:388 -msgid "must supply a group name\n" -msgstr "" - -#: ../utils/net_groupmap.c:434 -msgid "Failed to find local group SID in the database\n" -msgstr "" - -#: ../utils/net_groupmap.c:443 -msgid "Can't map to an unknown group type.\n" -msgstr "" - -#: ../utils/net_groupmap.c:449 -msgid "You can only change between domain and local groups.\n" -msgstr "" - -#: ../utils/net_groupmap.c:466 -#, c-format -msgid "Unable to lookup UNIX group %s. Make sure the group exists.\n" -msgstr "" - -#: ../utils/net_groupmap.c:476 -msgid "Could not update group database\n" -msgstr "" - -#: ../utils/net_groupmap.c:480 -#, c-format -msgid "Updated mapping entry for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:491 -msgid "net groupmap delete {ntgroup=<string>|sid=<SID>}" -msgstr "" - -#: ../utils/net_groupmap.c:532 -#, c-format -msgid "Unable to resolve group %s to a SID\n" -msgstr "" - -#: ../utils/net_groupmap.c:539 -#, c-format -msgid "Failed to remove group %s from the mapping db!\n" -msgstr "" - -#: ../utils/net_groupmap.c:544 -#, c-format -msgid "Sucessfully removed %s from the mapping db\n" -msgstr "" - -#: ../utils/net_groupmap.c:557 -msgid "Usage: net groupmap set \"NT Group\" [\"unix group\"] [-C \"comment\"] [-L] [-D]\n" -msgstr "" - -#: ../utils/net_groupmap.c:563 -msgid "Can only specify -L or -D, not both\n" -msgstr "" - -#: ../utils/net_groupmap.c:573 -#, c-format -msgid "Could not find unix group %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:594 -#, c-format -msgid "Could not find group mapping for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:605 -msgid "Could not allocate new RID\n" -msgstr "" - -#: ../utils/net_groupmap.c:622 -#, c-format -msgid "Could not add mapping entry for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:633 -#, c-format -msgid "Can't change type of the BUILTIN group %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:660 -#, c-format -msgid "Could not update group mapping for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:674 -msgid "" -"Usage:\n" -"net groupmap cleanup\n" -" Delete all group mappings\n" -msgstr "" - -#: ../utils/net_groupmap.c:682 -msgid "Could not list group mappings\n" -msgstr "" - -#: ../utils/net_groupmap.c:689 -#, c-format -msgid "Group %s is not mapped\n" -msgstr "" - -#: ../utils/net_groupmap.c:692 -#, c-format -msgid "Deleting mapping for NT Group %s, sid %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:712 -msgid "Usage: net groupmap addmem alias-sid member-sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:717 -#, c-format -msgid "Could not add sid %s to alias %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:733 -msgid "Usage: net groupmap delmem alias-sid member-sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:738 -#, c-format -msgid "Could not delete sid %s from alias %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:755 -msgid "Usage: net groupmap listmem alias-sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:764 -#, c-format -msgid "Could not list members for sid %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:791 -#, c-format -msgid "Could not list memberships for sid %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:814 -msgid "Usage: net groupmap memberof sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:820 ../utils/net_idmap.c:345 -msgid "talloc_init failed\n" -msgstr "" - -#: ../utils/net_groupmap.c:827 -msgid "Could not get domain sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:850 -msgid "Create a new group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:851 -msgid "" -"net groupmap add\n" -" Create a new group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:858 -msgid "Update a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:859 -msgid "" -"net groupmap modify\n" -" Modify an existing group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:866 -msgid "Remove a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:867 -msgid "" -"net groupmap delete\n" -" Remove a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:874 -msgid "Set group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:875 -msgid "" -"net groupmap set\n" -" Set a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:882 -msgid "Remove foreign group mapping entries" -msgstr "" - -#: ../utils/net_groupmap.c:883 -msgid "" -"net groupmap cleanup\n" -" Remove foreign group mapping entries" -msgstr "" - -#: ../utils/net_groupmap.c:890 -msgid "Add a foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:891 -msgid "" -"net groupmap addmem\n" -" Add a foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:898 -msgid "Delete foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:899 -msgid "" -"net groupmap delmem\n" -" Delete foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:906 -msgid "List foreign group members" -msgstr "" - -#: ../utils/net_groupmap.c:907 -msgid "" -"net groupmap listmem\n" -" List foreign alias members" -msgstr "" - -#: ../utils/net_groupmap.c:914 -msgid "List foreign group memberships" -msgstr "" - -#: ../utils/net_groupmap.c:915 -msgid "" -"net groupmap memberships\n" -" List foreign group memberships" -msgstr "" - -#: ../utils/net_groupmap.c:922 -msgid "List current group map" -msgstr "" - -#: ../utils/net_groupmap.c:923 -msgid "" -"net groupmap list\n" -" List current group map" -msgstr "" - -#: ../utils/net_help.c:39 -#, c-format -msgid "net %s usage:\n" -msgstr "" - -#: ../utils/net_help_common.c:25 ../utils/net_join.c:28 -msgid "Valid methods: (auto-detected if not specified)\n" -msgstr "" - -#: ../utils/net_help_common.c:26 ../utils/net_join.c:29 -msgid "\tads\t\t\t\tActive Directory (LDAP/Kerberos)\n" -msgstr "" - -#: ../utils/net_help_common.c:27 ../utils/net_join.c:30 -msgid "\trpc\t\t\t\tDCE-RPC\n" -msgstr "" - -#: ../utils/net_help_common.c:28 -msgid "\trap\t\t\t\tRAP (older systems)\n" -msgstr "" - -#: ../utils/net_help_common.c:35 -msgid "Valid targets: choose one (none defaults to localhost)\n" -msgstr "" - -#: ../utils/net_help_common.c:36 -msgid "\t-S or --server=<server>\t\tserver name\n" -msgstr "" - -#: ../utils/net_help_common.c:37 -msgid "\t-I or --ipaddress=<ipaddr>\taddress of target server\n" -msgstr "" - -#: ../utils/net_help_common.c:38 -msgid "\t-w or --workgroup=<wg>\t\ttarget workgroup or domain\n" -msgstr "" - -#: ../utils/net_help_common.c:41 -#, fuzzy -msgid "Valid miscellaneous options are:\n" -msgstr "その他のオプション" - -#. misc options -#: ../utils/net_help_common.c:42 -msgid "\t-p or --port=<port>\t\tconnection port on target\n" -msgstr "" - -#: ../utils/net_help_common.c:43 -msgid "\t-W or --myworkgroup=<wg>\tclient workgroup\n" -msgstr "" - -#: ../utils/net_help_common.c:44 -msgid "\t-d or --debuglevel=<level>\tdebug level (0-10)\n" -msgstr "" - -#: ../utils/net_help_common.c:45 -msgid "\t-n or --myname=<name>\t\tclient name\n" -msgstr "" - -#: ../utils/net_help_common.c:46 -msgid "\t-U or --user=<name>\t\tuser name\n" -msgstr "" - -#: ../utils/net_help_common.c:47 -msgid "\t-s or --configfile=<path>\tpathname of smb.conf file\n" -msgstr "" - -#: ../utils/net_help_common.c:48 -msgid "\t-l or --long\t\t\tDisplay full information\n" -msgstr "" - -#: ../utils/net_help_common.c:49 -msgid "\t-V or --version\t\t\tPrint samba version information\n" -msgstr "" - -#: ../utils/net_help_common.c:50 -msgid "\t-P or --machine-pass\t\tAuthenticate as machine account\n" -msgstr "" - -#: ../utils/net_help_common.c:52 -msgid "\t-e or --encrypt\t\t\tEncrypt SMB transport (UNIX extended servers only)\n" -msgstr "" - -#: ../utils/net_help_common.c:54 -msgid "\t-k or --kerberos\t\tUse kerberos (active directory) authentication\n" -msgstr "" - -#: ../utils/net_idmap.c:25 -msgid "Out of memory!\n" -msgstr "" - -#: ../utils/net_idmap.c:39 -#, c-format -msgid "USER HWM %d\n" -msgstr "" - -#: ../utils/net_idmap.c:44 -#, c-format -msgid "GROUP HWM %d\n" -msgstr "" - -#: ../utils/net_idmap.c:63 -msgid "" -"Usage:\n" -"net idmap dump <inputfile>\n" -" Dump current ID mapping.\n" -" inputfile\tTDB file to read mappings from.\n" -msgstr "" - -#: ../utils/net_idmap.c:73 -#, c-format -msgid "Could not open idmap: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:94 -msgid "" -"Usage:\n" -"net idmap restore [inputfile]\n" -" Restore ID mappings from file\n" -" inputfile\tFile to load ID mappings from. If not given, load data from stdin.\n" -msgstr "" - -#: ../utils/net_idmap.c:104 -msgid "To use net idmap Winbindd must be running.\n" -msgstr "" - -#: ../utils/net_idmap.c:142 -#, c-format -msgid "Could not set USER HWM: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:151 -#, c-format -msgid "Could not set GROUP HWM: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:156 -#, c-format -msgid "ignoring invalid line [%s]\n" -msgstr "" - -#: ../utils/net_idmap.c:163 -#, c-format -msgid "ignoring invalid sid [%s]: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:175 -#, c-format -msgid "Could not set mapping of %s %lu to sid %s: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:196 ../utils/net_idmap.c:202 -msgid "Not Implemented yet\n" -msgstr "" - -#: ../utils/net_idmap.c:240 -msgid "" -"Usage:\n" -"net idmap secret {<DOMAIN>|alloc} <secret>\n" -" Set the secret for the specified domain (or alloc module)\n" -" DOMAIN\tDomain to set secret for.\n" -" alloc\tSet secret for the alloc module\n" -" secret\tNew secret to set.\n" -msgstr "" - -#: ../utils/net_idmap.c:271 -msgid "The only currently supported backend is LDAP\n" -msgstr "" - -#: ../utils/net_idmap.c:281 -#, c-format -msgid "Missing ldap_user_dn option for domain %s\n" -msgstr "" - -#: ../utils/net_idmap.c:292 -msgid "Missing ldap_user_dn option for alloc backend\n" -msgstr "" - -#: ../utils/net_idmap.c:302 -msgid "Failed to store secret\n" -msgstr "" - -#: ../utils/net_idmap.c:307 -msgid "Secret stored\n" -msgstr "" - -#: ../utils/net_idmap.c:313 -msgid "" -"net idmap dump <inputfile>\n" -" Dump current id mapping\n" -msgstr "" - -#: ../utils/net_idmap.c:316 -msgid "" -"net idmap restore\n" -" Restore entries from stdin\n" -msgstr "" - -#. Deliberately *not* document net idmap delete -#: ../utils/net_idmap.c:321 -msgid "" -"net idmap secret <DOMAIN>|alloc <secret>\n" -" Set the secret for the specified DOMAIN (or the alloc module)\n" -msgstr "" - -#: ../utils/net_idmap.c:339 -msgid "usage: net idmap aclmapset <tdb> <src-sid> <dst-sid>\n" -msgstr "" - -#: ../utils/net_idmap.c:351 -#, fuzzy, c-format -msgid "db_open failed: %s\n" -msgstr "パスワード管理" - -#: ../utils/net_idmap.c:356 ../utils/net_idmap.c:361 -#, c-format -msgid "%s is not a valid sid\n" -msgstr "" - -#: ../utils/net_idmap.c:367 -msgid "talloc_strdup failed\n" -msgstr "" - -#: ../utils/net_idmap.c:373 -msgid "could not fetch db record\n" -msgstr "" - -#: ../utils/net_idmap.c:381 -#, c-format -msgid "could not store record: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:402 -msgid "Dump the current ID mappings" -msgstr "" - -#: ../utils/net_idmap.c:403 -msgid "" -"net idmap dump\n" -" Dump the current ID mappings" -msgstr "" - -#: ../utils/net_idmap.c:410 -msgid "Restore entries from stdin" -msgstr "" - -#: ../utils/net_idmap.c:411 -msgid "" -"net idmap restore\n" -" Restore entries from stdin" -msgstr "" - -#: ../utils/net_idmap.c:418 ../utils/net_idmap.c:426 -msgid "Not implemented yet" -msgstr "" - -#: ../utils/net_idmap.c:419 -msgid "" -"net idmap setmap\n" -" Not implemented yet" -msgstr "" - -#: ../utils/net_idmap.c:427 -msgid "" -"net idmap delete\n" -" Not implemented yet" -msgstr "" - -#: ../utils/net_idmap.c:434 -msgid "Set secret for specified domain" -msgstr "" - -#: ../utils/net_idmap.c:435 -msgid "" -"net idmap secret {<DOMAIN>|alloc} <secret>\n" -" Set secret for specified domain or alloc module" -msgstr "" - -#: ../utils/net_idmap.c:442 -msgid "Set acl map" -msgstr "" - -#: ../utils/net_idmap.c:443 -msgid "" -"net idmap aclmapset\n" -" Set acl map" -msgstr "" - -#: ../utils/net_join.c:26 -msgid "" -"\n" -"net [<method>] join [misc. options]\n" -"\tjoins this server to a domain\n" -msgstr "" - -#: ../utils/net_join.c:47 -msgid "ADS join did not work, falling back to RPC...\n" -msgstr "" - -#: ../utils/net_lookup.c:25 -msgid "" -" net lookup [host] HOSTNAME[#<type>]\n" -"\tgives IP for a hostname\n" -"\n" -" net lookup ldap [domain]\n" -"\tgives IP of domain's ldap server\n" -"\n" -" net lookup kdc [realm]\n" -"\tgives IP of realm's kerberos KDC\n" -"\n" -" net lookup pdc [domain|realm]\n" -"\tgives IP of realm's kerberos KDC\n" -"\n" -" net lookup dc [domain]\n" -"\tgives IP of domains Domain Controllers\n" -"\n" -" net lookup master [domain|wg]\n" -"\tgive IP of master browser\n" -"\n" -" net lookup name [name]\n" -"\tLookup name's sid and type\n" -"\n" -" net lookup sid [sid]\n" -"\tGive sid's name and type\n" -"\n" -" net lookup dsgetdcname [name] [flags] [sitename]\n" -"\n" -msgstr "" - -#: ../utils/net_lookup.c:112 -msgid "net_lookup_ldap: talloc_init() failed!\n" -msgstr "" - -#: ../utils/net_lookup.c:325 -msgid "usage: net lookup name <name>\n" -msgstr "" - -#: ../utils/net_lookup.c:331 ../utils/net_lookup.c:358 -#, c-format -msgid "Could not lookup name %s\n" -msgstr "" - -#: ../utils/net_lookup.c:347 -msgid "usage: net lookup sid <sid>\n" -msgstr "" - -#: ../utils/net_lookup.c:352 -#, c-format -msgid "Could not convert %s to SID\n" -msgstr "" - -#: ../utils/net_lookup.c:378 -msgid "usage: net lookup dsgetdcname <name> <flags> <sitename>\n" -msgstr "" - -#: ../utils/net_lookup.c:404 -#, c-format -msgid "failed with: %s\n" -msgstr "" - -#: ../utils/net_lookup.c:437 -msgid "" -"\n" -"Usage: \n" -msgstr "" - -#: ../utils/net_lua.c:60 -msgid "connect: Expected IP-Address" -msgstr "" - -#: ../utils/net_lua.c:65 -msgid "connect: Expected port" -msgstr "" - -#: ../utils/net_lua.c:84 -#, fuzzy, c-format -msgid "connect failed: %s" -msgstr "パスワード管理" - -#: ../utils/net_lua.c:132 -#, c-format -msgid "socket domain %s unknown" -msgstr "" - -#: ../utils/net_lua.c:144 -#, c-format -msgid "socket type %s unknown" -msgstr "" - -#: ../utils/net_lua.c:155 -#, fuzzy, c-format -msgid "socket() failed: %s" -msgstr "パスワード管理" - -#: ../utils/net_lua.c:278 -msgid "evt_reference_thread failed\n" -msgstr "" - -#: ../utils/net_lua.c:287 -msgid "event_add_timed failed" -msgstr "" - -#: ../utils/net_lua.c:300 -msgid "event_once called from non-base thread" -msgstr "" - -#: ../utils/net_lua.c:323 -msgid "event_context_init failed" -msgstr "" - -#: ../utils/net_lua.c:353 -msgid "lua_newstate failed\n" -msgstr "" - -#: ../utils/net_lua.c:371 -msgid "luaL_dofile returned an error\n" -msgstr "" - -#: ../utils/net_lua.c:376 -msgid "luaL_dostring returned an error\n" -msgstr "" diff --git a/source3/po/pl.msg b/source3/po/pl.msg index f818c6698d..aca5de6eb3 100644 --- a/source3/po/pl.msg +++ b/source3/po/pl.msg @@ -17,8 +17,7 @@ msgid "" msgstr "" "Project-Id-Version: i18n_swat \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-07-30 12:18+0200\n" +"POT-Creation-Date: 2003-10-06 05:30+0900\n" "PO-Revision-Date: 2001-08-15 22:45+02:00\n" "Last-Translator: Rafal Szczesniak <mimir@spin.ict.pwr.wroc.pl>\n" "Language-Team: pl\n" @@ -26,4013 +25,568 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -#: ../web/swat.c:153 +#: ../web/swat.c:117 #, c-format msgid "ERROR: Can't open %s" msgstr "" -#: ../web/swat.c:241 +#: ../web/swat.c:200 msgid "Help" msgstr "Pomoc" -#: ../web/swat.c:247 ../web/swat.c:272 ../web/swat.c:293 ../web/swat.c:302 ../web/swat.c:311 ../web/swat.c:317 ../web/swat.c:329 ../web/swat.c:343 +#: ../web/swat.c:206 ../web/swat.c:220 ../web/swat.c:235 ../web/swat.c:243 ../web/swat.c:252 ../web/swat.c:261 ../web/swat.c:267 ../web/swat.c:273 ../web/swat.c:286 msgid "Set Default" msgstr "Ustaw domyślnie" -#: ../web/swat.c:465 +#: ../web/swat.c:408 #, c-format msgid "failed to open %s for writing" msgstr "" -#: ../web/swat.c:488 +#: ../web/swat.c:431 #, c-format msgid "Can't reload %s" msgstr "" -#: ../web/swat.c:561 +#: ../web/swat.c:501 #, c-format msgid "Logged in as <b>%s</b>" msgstr "Zalogowany jako <b>%s</b><p>\n" -#: ../web/swat.c:565 +#: ../web/swat.c:505 msgid "Home" msgstr "Strona domowa" -#: ../web/swat.c:567 +#: ../web/swat.c:507 msgid "Globals" msgstr "Ustawienia globalne" -#: ../web/swat.c:568 +#: ../web/swat.c:508 msgid "Shares" msgstr "Współudziały" -#: ../web/swat.c:569 +#: ../web/swat.c:509 msgid "Printers" msgstr "Drukarki" -#: ../web/swat.c:570 +#: ../web/swat.c:510 msgid "Wizard" msgstr "" -#: ../web/swat.c:574 +#: ../web/swat.c:513 msgid "Status" msgstr "Status" -#: ../web/swat.c:575 +#: ../web/swat.c:514 msgid "View Config" msgstr "Przejrzyj Konfigurację" -#: ../web/swat.c:577 +#: ../web/swat.c:516 msgid "Password Management" msgstr "Zarządzanie Hasłami" -#: ../web/swat.c:587 +#: ../web/swat.c:526 msgid "Current View Is" msgstr "Bieżąca Konfiguracja" -#: ../web/swat.c:588 ../web/swat.c:591 +#: ../web/swat.c:527 ../web/swat.c:530 msgid "Basic" msgstr "Widok Podstawowy" -#: ../web/swat.c:589 ../web/swat.c:592 +#: ../web/swat.c:528 ../web/swat.c:531 msgid "Advanced" msgstr "Widok Zaawansowany" -#: ../web/swat.c:590 +#: ../web/swat.c:529 msgid "Change View To" msgstr "Zmień Hasło" -#: ../web/swat.c:619 +#: ../web/swat.c:554 msgid "Current Config" msgstr "Bieżąca Konfiguracja" -#: ../web/swat.c:623 +#: ../web/swat.c:558 msgid "Normal View" msgstr "Normalny Widok" -#: ../web/swat.c:625 +#: ../web/swat.c:560 msgid "Full View" msgstr "Pełny Widok" #. Here we first set and commit all the parameters that were selected #. in the previous screen. -#: ../web/swat.c:644 +#: ../web/swat.c:579 msgid "Wizard Parameter Edit Page" msgstr "" -#: ../web/swat.c:673 +#: ../web/swat.c:608 msgid "Note: smb.conf file has been read and rewritten" msgstr "" #. Here we go ... -#: ../web/swat.c:779 +#: ../web/swat.c:716 msgid "Samba Configuration Wizard" msgstr "" -#: ../web/swat.c:783 +#: ../web/swat.c:720 msgid "The \"Rewrite smb.conf file\" button will clear the smb.conf file of all default values and of comments." msgstr "" -#: ../web/swat.c:784 +#: ../web/swat.c:721 msgid "The same will happen if you press the commit button." msgstr "" -#: ../web/swat.c:787 +#: ../web/swat.c:724 msgid "Rewrite smb.conf file" msgstr "" -#: ../web/swat.c:788 +#: ../web/swat.c:725 msgid "Commit" msgstr "Potwierdź Zmiany" -#: ../web/swat.c:789 +#: ../web/swat.c:726 msgid "Edit Parameter Values" msgstr "Parametry Drukarki" -#: ../web/swat.c:795 +#: ../web/swat.c:732 msgid "Server Type" msgstr "" -#: ../web/swat.c:796 +#: ../web/swat.c:733 msgid "Stand Alone" msgstr "Uruchom nmbd" -#: ../web/swat.c:797 +#: ../web/swat.c:734 msgid "Domain Member" msgstr "" -#: ../web/swat.c:798 +#: ../web/swat.c:735 msgid "Domain Controller" msgstr "" -#: ../web/swat.c:801 +#: ../web/swat.c:738 msgid "Unusual Type in smb.conf - Please Select New Mode" msgstr "" -#: ../web/swat.c:803 +#: ../web/swat.c:740 msgid "Configure WINS As" msgstr "" -#: ../web/swat.c:804 +#: ../web/swat.c:741 msgid "Not Used" msgstr "" -#: ../web/swat.c:805 +#: ../web/swat.c:742 msgid "Server for client use" msgstr "" -#: ../web/swat.c:806 +#: ../web/swat.c:743 msgid "Client of another WINS server" msgstr "" -#: ../web/swat.c:808 +#: ../web/swat.c:745 msgid "Remote WINS Server" msgstr "" -#: ../web/swat.c:819 +#: ../web/swat.c:756 msgid "Error: WINS Server Mode and WINS Support both set in smb.conf" msgstr "" -#: ../web/swat.c:820 +#: ../web/swat.c:757 msgid "Please Select desired WINS mode above." msgstr "" -#: ../web/swat.c:822 +#: ../web/swat.c:759 msgid "Expose Home Directories" msgstr "" -#: ../web/swat.c:837 +#: ../web/swat.c:774 msgid "The above configuration options will set multiple parameters and will generally assist with rapid Samba deployment." msgstr "" -#: ../web/swat.c:850 +#: ../web/swat.c:787 msgid "Global Parameters" msgstr "Zmienne Globalne" -#: ../web/swat.c:878 ../web/swat.c:986 ../web/swat.c:1344 +#: ../web/swat.c:815 ../web/swat.c:916 ../web/swat.c:1265 msgid "Commit Changes" msgstr "Potwierdź Zmiany" -#: ../web/swat.c:882 ../web/swat.c:989 ../web/swat.c:1346 +#: ../web/swat.c:819 ../web/swat.c:919 ../web/swat.c:1267 msgid "Reset Values" msgstr "Zresetuj Wartości" -#: ../web/swat.c:908 +#: ../web/swat.c:844 msgid "Share Parameters" msgstr "Parametry Współudziału" -#: ../web/swat.c:955 +#: ../web/swat.c:887 msgid "Choose Share" msgstr "Wybierz Współudział" -#: ../web/swat.c:971 +#: ../web/swat.c:901 msgid "Delete Share" msgstr "Usuń Współudział" -#: ../web/swat.c:978 +#: ../web/swat.c:908 msgid "Create Share" msgstr "Utwórz Współudział" -#: ../web/swat.c:1014 +#: ../web/swat.c:944 msgid "password change in demo mode rejected" msgstr "zmiana hasła w trybie demo odrzucona\n" -#: ../web/swat.c:1028 +#: ../web/swat.c:957 msgid "Can't setup password database vectors." msgstr "" -#: ../web/swat.c:1056 +#: ../web/swat.c:983 msgid " Must specify \"User Name\" " msgstr " Musisz podać \"Nazwę Użytkownika\" \n" -#: ../web/swat.c:1072 +#: ../web/swat.c:999 msgid " Must specify \"Old Password\" " msgstr " Musisz podać \"Stare Hasło\" \n" -#: ../web/swat.c:1078 +#: ../web/swat.c:1005 msgid " Must specify \"Remote Machine\" " msgstr " Musisz podać \"Zdalną Maszynę\" \n" -#: ../web/swat.c:1085 +#: ../web/swat.c:1012 msgid " Must specify \"New, and Re-typed Passwords\" " msgstr " Musisz podać \"Nowe Hasło, i ponownie wpisane Nowe Hasło\" \n" -#: ../web/swat.c:1091 +#: ../web/swat.c:1018 msgid " Re-typed password didn't match new password " msgstr " Ponownie wpisane hasło nie pasuje do nowego hasła\n" -#: ../web/swat.c:1124 +#: ../web/swat.c:1048 #, c-format msgid " The passwd for '%s' has been changed." msgstr " Hasło dla '%s' zostało zmienione. \n" -#: ../web/swat.c:1127 +#: ../web/swat.c:1051 #, c-format msgid " The passwd for '%s' has NOT been changed." msgstr " Hasło dla '%s' NIE zostało zmienione. \n" -#: ../web/swat.c:1152 +#: ../web/swat.c:1076 msgid "Server Password Management" msgstr "Zarządzanie Hasłami na Serwerze" #. #. * Create all the dialog boxes for data collection #. -#: ../web/swat.c:1161 ../web/swat.c:1208 +#: ../web/swat.c:1085 ../web/swat.c:1132 msgid "User Name" msgstr " Nazwa Użytkownika" -#: ../web/swat.c:1164 ../web/swat.c:1210 +#: ../web/swat.c:1088 ../web/swat.c:1134 msgid "Old Password" msgstr " Stare Hasło" -#: ../web/swat.c:1167 ../web/swat.c:1212 +#: ../web/swat.c:1091 ../web/swat.c:1136 msgid "New Password" msgstr " Nowe Hasło" -#: ../web/swat.c:1169 ../web/swat.c:1214 +#: ../web/swat.c:1093 ../web/swat.c:1138 msgid "Re-type New Password" msgstr " Ponownie wpisz Nowe Hasło" -#: ../web/swat.c:1177 ../web/swat.c:1225 +#: ../web/swat.c:1101 ../web/swat.c:1149 msgid "Change Password" msgstr "Zmień Hasło" -#: ../web/swat.c:1180 +#: ../web/swat.c:1104 msgid "Add New User" msgstr "Dodaj Nowego Użytkownika" -#: ../web/swat.c:1182 +#: ../web/swat.c:1106 msgid "Delete User" msgstr "Usuń Użytkownika" -#: ../web/swat.c:1184 +#: ../web/swat.c:1108 msgid "Disable User" msgstr "Zablokuj Użytkownika" -#: ../web/swat.c:1186 +#: ../web/swat.c:1110 msgid "Enable User" msgstr "Odblokuj Użytkownika" -#: ../web/swat.c:1199 +#: ../web/swat.c:1123 msgid "Client/Server Password Management" msgstr "Zarządzanie Hasłami Klient/Serwer" -#: ../web/swat.c:1216 +#: ../web/swat.c:1140 msgid "Remote Machine" msgstr " Zdalna Maszyna" -#: ../web/swat.c:1255 +#: ../web/swat.c:1179 msgid "Printer Parameters" msgstr "Parametry Drukarki" -#: ../web/swat.c:1257 +#: ../web/swat.c:1181 msgid "Important Note:" msgstr "Ważna Informacja:" -#: ../web/swat.c:1258 +#: ../web/swat.c:1182 msgid "Printer names marked with [*] in the Choose Printer drop-down box " msgstr "Nazwy Drukarek zaznaczone [*] w rozwijanym polu Wybierz Drukarkę " -#: ../web/swat.c:1259 +#: ../web/swat.c:1183 msgid "are autoloaded printers from " msgstr "są drukarkami automatycznie ładowanymi z " -#: ../web/swat.c:1260 +#: ../web/swat.c:1184 msgid "Printcap Name" msgstr "Nazwa Printcap" -#: ../web/swat.c:1261 +#: ../web/swat.c:1185 msgid "Attempting to delete these printers from SWAT will have no effect." msgstr "Próby usunięcia tych drukarek ze SWAT nie przyniosą efektu.\n" -#: ../web/swat.c:1310 +#: ../web/swat.c:1231 msgid "Choose Printer" msgstr "Wybierz Drukarkę" -#: ../web/swat.c:1329 +#: ../web/swat.c:1250 msgid "Delete Printer" msgstr "Usuń Drukarkę" -#: ../web/swat.c:1336 +#: ../web/swat.c:1257 msgid "Create Printer" msgstr "Utwórz Drukarkę" -#: ../web/statuspage.c:151 -msgid "RDWR " +#: ../web/statuspage.c:123 +msgid "RDONLY " msgstr "" -#: ../web/statuspage.c:153 +#: ../web/statuspage.c:124 msgid "WRONLY " msgstr "" -#: ../web/statuspage.c:155 -msgid "RDONLY " +#: ../web/statuspage.c:125 +msgid "RDWR " msgstr "" -#: ../web/statuspage.c:329 +#: ../web/statuspage.c:309 msgid "Server Status" msgstr "Status Serwera" -#: ../web/statuspage.c:334 +#: ../web/statuspage.c:314 msgid "Auto Refresh" msgstr "Automatyczne Odświeżanie" -#: ../web/statuspage.c:335 ../web/statuspage.c:340 +#: ../web/statuspage.c:315 ../web/statuspage.c:320 msgid "Refresh Interval: " msgstr "Interwał Odświeżania: " -#: ../web/statuspage.c:339 +#: ../web/statuspage.c:319 msgid "Stop Refreshing" msgstr "Zatrzymaj Odświeżanie" -#: ../web/statuspage.c:348 +#: ../web/statuspage.c:334 msgid "version:" msgstr "wersja:" -#: ../web/statuspage.c:351 +#: ../web/statuspage.c:337 msgid "smbd:" msgstr "" -#: ../web/statuspage.c:351 ../web/statuspage.c:364 ../web/statuspage.c:378 +#: ../web/statuspage.c:337 ../web/statuspage.c:350 ../web/statuspage.c:364 msgid "running" msgstr "działa" -#: ../web/statuspage.c:351 ../web/statuspage.c:364 ../web/statuspage.c:378 +#: ../web/statuspage.c:337 ../web/statuspage.c:350 ../web/statuspage.c:364 msgid "not running" msgstr "nie działa" -#: ../web/statuspage.c:355 +#: ../web/statuspage.c:341 msgid "Stop smbd" msgstr "Zatrzymaj smbd" -#: ../web/statuspage.c:357 +#: ../web/statuspage.c:343 msgid "Start smbd" msgstr "Uruchom smbd" -#: ../web/statuspage.c:359 +#: ../web/statuspage.c:345 msgid "Restart smbd" msgstr "Zrestartuj smbd" -#: ../web/statuspage.c:364 +#: ../web/statuspage.c:350 msgid "nmbd:" msgstr "" -#: ../web/statuspage.c:368 +#: ../web/statuspage.c:354 msgid "Stop nmbd" msgstr "Zatrzymaj nmbd" -#: ../web/statuspage.c:370 +#: ../web/statuspage.c:356 msgid "Start nmbd" msgstr "Uruchom nmbd" -#: ../web/statuspage.c:372 +#: ../web/statuspage.c:358 msgid "Restart nmbd" msgstr "Zrestartuj nmbd" -#: ../web/statuspage.c:378 +#: ../web/statuspage.c:364 msgid "winbindd:" msgstr "" -#: ../web/statuspage.c:382 +#: ../web/statuspage.c:368 msgid "Stop winbindd" msgstr "Zatrzymaj nmbd" -#: ../web/statuspage.c:384 +#: ../web/statuspage.c:370 msgid "Start winbindd" msgstr "Uruchom nmbd" -#: ../web/statuspage.c:386 +#: ../web/statuspage.c:372 msgid "Restart winbindd" msgstr "Zrestartuj nmbd" #. stop, restart all -#: ../web/statuspage.c:395 +#: ../web/statuspage.c:381 msgid "Stop All" msgstr "" -#: ../web/statuspage.c:396 +#: ../web/statuspage.c:382 msgid "Restart All" msgstr "Zrestartuj nmbd" #. start all -#: ../web/statuspage.c:400 +#: ../web/statuspage.c:386 msgid "Start All" msgstr "Uruchom nmbd" -#: ../web/statuspage.c:407 +#: ../web/statuspage.c:393 msgid "Active Connections" msgstr "Aktywne Połączenia" -#: ../web/statuspage.c:409 ../web/statuspage.c:422 ../web/statuspage.c:431 +#: ../web/statuspage.c:395 ../web/statuspage.c:408 ../web/statuspage.c:416 msgid "PID" msgstr "" -#: ../web/statuspage.c:409 ../web/statuspage.c:422 +#: ../web/statuspage.c:395 ../web/statuspage.c:408 msgid "Client" msgstr "Klient" -#: ../web/statuspage.c:409 +#: ../web/statuspage.c:395 msgid "IP address" msgstr "adres IP" -#: ../web/statuspage.c:409 ../web/statuspage.c:422 ../web/statuspage.c:431 +#: ../web/statuspage.c:395 ../web/statuspage.c:408 ../web/statuspage.c:416 msgid "Date" msgstr "Data" -#: ../web/statuspage.c:411 +#: ../web/statuspage.c:397 msgid "Kill" msgstr "Zatrzymaj" -#: ../web/statuspage.c:419 +#: ../web/statuspage.c:405 msgid "Active Shares" msgstr "Aktywne Współudziały" -#: ../web/statuspage.c:422 +#: ../web/statuspage.c:408 msgid "Share" msgstr "Współudział" -#: ../web/statuspage.c:422 +#: ../web/statuspage.c:408 msgid "User" msgstr "Użytkownik" -#: ../web/statuspage.c:422 +#: ../web/statuspage.c:408 msgid "Group" msgstr "Grupa" -#: ../web/statuspage.c:428 +#: ../web/statuspage.c:414 msgid "Open Files" msgstr "Otwarte Pliki" -#: ../web/statuspage.c:431 -msgid "UID" -msgstr "" - -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:416 msgid "Sharing" msgstr "Współdzielenie" -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:416 msgid "R/W" msgstr "" -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:416 msgid "Oplock" msgstr "" -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:416 msgid "File" msgstr "Plik" -#: ../web/statuspage.c:438 +#: ../web/statuspage.c:425 msgid "Show Client in col 1" msgstr "" -#: ../web/statuspage.c:439 +#: ../web/statuspage.c:426 msgid "Show PID in col 1" msgstr "" -#: ../param/loadparm.c:907 +#: ../param/loadparm.c:755 msgid "Base Options" msgstr "Bazowe Opcje" -#: ../param/loadparm.c:1047 +#: ../param/loadparm.c:775 msgid "Security Options" msgstr "Opcje Zabezpieczeń" -#: ../param/loadparm.c:1800 +#: ../param/loadparm.c:859 msgid "Logging Options" msgstr "Opcje Blokowania" -#: ../param/loadparm.c:1929 +#: ../param/loadparm.c:874 msgid "Protocol Options" msgstr "Opcje Protokołu" -#: ../param/loadparm.c:2301 +#: ../param/loadparm.c:911 msgid "Tuning Options" msgstr "Opcje Dostrajające" -#: ../param/loadparm.c:2538 +#: ../param/loadparm.c:940 msgid "Printing Options" msgstr "Opcje Drukowania" -#: ../param/loadparm.c:2858 +#: ../param/loadparm.c:970 msgid "Filename Handling" msgstr "Obsługa Nazw Plików" -#: ../param/loadparm.c:3088 +#: ../param/loadparm.c:996 msgid "Domain Options" msgstr "Opcje Domeny" -#: ../param/loadparm.c:3100 +#: ../param/loadparm.c:1000 msgid "Logon Options" msgstr "Opcje Logowania" -#: ../param/loadparm.c:3273 +#: ../param/loadparm.c:1019 msgid "Browse Options" msgstr "Opcje Przeglądania" -#: ../param/loadparm.c:3384 +#: ../param/loadparm.c:1033 msgid "WINS Options" msgstr "Opcje WINS" -#: ../param/loadparm.c:3432 +#: ../param/loadparm.c:1043 msgid "Locking Options" msgstr "Opcje Blokowania" -#: ../param/loadparm.c:3552 +#: ../param/loadparm.c:1061 msgid "Ldap Options" msgstr "Opcje Ldap" -#: ../param/loadparm.c:3708 -#, fuzzy -msgid "EventLog Options" -msgstr "Opcje Logowania" - -#: ../param/loadparm.c:3720 +#: ../param/loadparm.c:1078 msgid "Miscellaneous Options" msgstr "Pozostałe Opcje" -#: ../param/loadparm.c:4301 +#: ../param/loadparm.c:1138 msgid "VFS module options" msgstr "Opcje WINS" -#: ../param/loadparm.c:4323 -#, fuzzy -msgid "MSDFS options" -msgstr "Opcje WINS" - -#: ../param/loadparm.c:4353 +#: ../param/loadparm.c:1148 msgid "Winbind options" msgstr "Opcje Drukowania" - -#: ../utils/net.c:103 -msgid "Enter machine password: " -msgstr "" - -#: ../utils/net.c:107 -msgid "Unable to write the machine account password in the secrets database" -msgstr "" - -#: ../utils/net.c:111 -msgid "Modified trust account password in secrets database\n" -msgstr "" - -#: ../utils/net.c:115 -msgid "" -"Machine account password change requires the -f flag.\n" -"Do NOT use this function unless you know what it does!\n" -"This function will change the ADS Domain member machine account password in the secrets.tdb file!\n" -msgstr "" - -#: ../utils/net.c:150 ../utils/net.c:228 -#, c-format -msgid "Unable to open secrets.tdb. Can't fetch domain SID for name: %s\n" -msgstr "" - -#: ../utils/net.c:163 ../utils/net.c:251 -#, c-format -msgid "SID for domain %s is: %s\n" -msgstr "" - -#: ../utils/net.c:175 -msgid "usage: net setlocalsid S-1-5-21-x-y-z\n" -msgstr "" - -#: ../utils/net.c:195 -msgid "usage: net setdomainsid S-1-5-21-x-y-z\n" -msgstr "" - -#: ../utils/net.c:213 -msgid "usage: net getdomainsid\n" -msgstr "" - -#: ../utils/net.c:238 -msgid "Could not fetch local SID\n" -msgstr "" - -#: ../utils/net.c:242 -#, c-format -msgid "SID for local machine %s is: %s\n" -msgstr "" - -#: ../utils/net.c:246 -msgid "Could not fetch domain SID\n" -msgstr "" - -#: ../utils/net.c:263 -#, c-format -msgid "get_maxrid: Could not search %s\n" -msgstr "" - -#: ../utils/net.c:297 -msgid "usage: net maxrid\n" -msgstr "" - -#: ../utils/net.c:302 -msgid "can't get current maximum rid\n" -msgstr "" - -#: ../utils/net.c:306 -#, c-format -msgid "Currently used maximum rid: %d\n" -msgstr "" - -#: ../utils/net.c:317 -msgid "Run functions using RPC transport" -msgstr "" - -#: ../utils/net.c:318 -msgid " Use 'net help rpc' to get more extensive information about 'net rpc' commands." -msgstr "" - -#: ../utils/net.c:325 -msgid "Run functions using RAP transport" -msgstr "" - -#: ../utils/net.c:326 -msgid " Use 'net help rap' to get more extensive information about 'net rap' commands." -msgstr "" - -#: ../utils/net.c:333 -msgid "Run functions using ADS transport" -msgstr "" - -#: ../utils/net.c:334 -msgid " Use 'net help ads' to get more extensive information about 'net ads' commands." -msgstr "" - -#: ../utils/net.c:343 -msgid "Functions on remote opened files" -msgstr "" - -#: ../utils/net.c:344 -msgid " Use 'net help file' to get more information about 'net file' commands." -msgstr "" - -#: ../utils/net.c:351 -msgid "Functions on shares" -msgstr "" - -#: ../utils/net.c:352 -msgid " Use 'net help share' to get more information about 'net share' commands." -msgstr "" - -#: ../utils/net.c:359 -msgid "Manage sessions" -msgstr "" - -#: ../utils/net.c:360 -msgid " Use 'net help session' to get more information about 'net session' commands." -msgstr "" - -#: ../utils/net.c:367 -msgid "List servers in workgroup" -msgstr "" - -#: ../utils/net.c:368 -msgid " Use 'net help server' to get more information about 'net server' commands." -msgstr "" - -#: ../utils/net.c:375 -msgid "List domains/workgroups on network" -msgstr "" - -#: ../utils/net.c:376 -msgid " Use 'net help domain' to get more information about 'net domain' commands." -msgstr "" - -#: ../utils/net.c:383 -msgid "Modify printer queue" -msgstr "" - -#: ../utils/net.c:384 -msgid " Use 'net help printq' to get more information about 'net printq' commands." -msgstr "" - -#: ../utils/net.c:391 -#, fuzzy -msgid "Manage users" -msgstr "Odblokuj Użytkownika" - -#: ../utils/net.c:392 -msgid " Use 'net help user' to get more information about 'net user' commands." -msgstr "" - -#: ../utils/net.c:399 -msgid "Manage groups" -msgstr "" - -#: ../utils/net.c:400 -msgid " Use 'net help group' to get more information about 'net group' commands." -msgstr "" - -#: ../utils/net.c:407 -msgid "Manage group mappings" -msgstr "" - -#: ../utils/net.c:408 -msgid " Use 'net help groupmap' to get more information about 'net groupmap' commands." -msgstr "" - -#: ../utils/net.c:415 -msgid "Functions on the SAM database" -msgstr "" - -#: ../utils/net.c:416 -msgid " Use 'net help sam' to get more information about 'net sam' commands." -msgstr "" - -#: ../utils/net.c:423 -msgid "Validate username and password" -msgstr "" - -#: ../utils/net.c:424 -msgid " Use 'net help validate' to get more information about 'net validate' commands." -msgstr "" - -#: ../utils/net.c:431 -msgid "Modify group memberships" -msgstr "" - -#: ../utils/net.c:432 -msgid " Use 'net help groupmember' to get more information about 'net groupmember' commands." -msgstr "" - -#: ../utils/net.c:438 -msgid "Execute remote command on a remote OS/2 server" -msgstr "" - -#: ../utils/net.c:439 -msgid " Use 'net help admin' to get more information about 'net admin' commands." -msgstr "" - -#: ../utils/net.c:445 -msgid "List/modify running services" -msgstr "" - -#: ../utils/net.c:446 -msgid " Use 'net help service' to get more information about 'net service' commands." -msgstr "" - -#: ../utils/net.c:453 -msgid "Change user password on target server" -msgstr "" - -#: ../utils/net.c:454 -msgid " Use 'net help password' to get more information about 'net password' commands." -msgstr "" - -#: ../utils/net.c:460 -#, fuzzy -msgid "Change the trust password" -msgstr "Zmień Hasło" - -#: ../utils/net.c:461 -msgid " Use 'net help changetrustpw' to get more information about 'net changetrustpw'." -msgstr "" - -#: ../utils/net.c:467 -#, fuzzy -msgid "Change the secret password" -msgstr "Zmień Hasło" - -#: ../utils/net.c:468 -msgid "" -" net [options] changesecretpw\n" -" Change the ADS domain member machine account password in secrets.tdb.\n" -" Do NOT use this function unless you know what it does.\n" -" Requires the -f flag to work." -msgstr "" - -#: ../utils/net.c:477 -msgid "Show/set time" -msgstr "" - -#: ../utils/net.c:478 -msgid " Use 'net help time' to get more information about 'net time' commands." -msgstr "" - -#: ../utils/net.c:484 -msgid "Look up host names/IP addresses" -msgstr "" - -#: ../utils/net.c:485 -msgid " Use 'net help lookup' to get more information about 'net lookup' commands." -msgstr "" - -#: ../utils/net.c:491 -msgid "Join a domain/AD" -msgstr "" - -#: ../utils/net.c:492 -msgid " Use 'net help join' to get more information about 'net join'." -msgstr "" - -#: ../utils/net.c:498 -msgid "Join/unjoin (remote) machines to/from a domain/AD" -msgstr "" - -#: ../utils/net.c:499 -msgid " Use 'net help dom' to get more information about 'net dom' commands." -msgstr "" - -#: ../utils/net.c:505 -msgid "Operate on the cache tdb file" -msgstr "" - -#: ../utils/net.c:506 -msgid " Use 'net help cache' to get more information about 'net cache' commands." -msgstr "" - -#: ../utils/net.c:512 -msgid "Get the SID for the local domain" -msgstr "" - -#: ../utils/net.c:513 -msgid " net getlocalsid" -msgstr "" - -#: ../utils/net.c:518 -msgid "Set the SID for the local domain" -msgstr "" - -#: ../utils/net.c:519 -msgid " net setlocalsid S-1-5-21-x-y-z" -msgstr "" - -#: ../utils/net.c:524 -msgid "Set domain SID on member servers" -msgstr "" - -#: ../utils/net.c:525 -msgid " net setdomainsid S-1-5-21-x-y-z" -msgstr "" - -#: ../utils/net.c:530 -msgid "Get domain SID on member servers" -msgstr "" - -#: ../utils/net.c:531 -msgid " net getdomainsid" -msgstr "" - -#: ../utils/net.c:536 -msgid "Display the maximul RID currently used" -msgstr "" - -#: ../utils/net.c:537 -msgid " net maxrid" -msgstr "" - -#: ../utils/net.c:542 -#, fuzzy -msgid "IDmap functions" -msgstr "Opcje Domeny" - -#: ../utils/net.c:543 -msgid " Use 'net help idmap to get more information about 'net idmap' commands." -msgstr "" - -#: ../utils/net.c:549 -#, fuzzy -msgid "Display server status" -msgstr "Status Serwera" - -#: ../utils/net.c:550 -msgid " Use 'net help status' to get more information about 'net status' commands." -msgstr "" - -#: ../utils/net.c:556 -msgid "Manage user-modifiable shares" -msgstr "" - -#: ../utils/net.c:557 -msgid " Use 'net help usershare to get more information about 'net usershare' commands." -msgstr "" - -#: ../utils/net.c:563 -msgid "Display list of all users with SID" -msgstr "" - -#: ../utils/net.c:564 -msgid " Use 'net help usersidlist' to get more information about 'net usersidlist'." -msgstr "" - -#: ../utils/net.c:570 -msgid "Manage Samba registry based configuration" -msgstr "" - -#: ../utils/net.c:571 -msgid " Use 'net help conf' to get more information about 'net conf' commands." -msgstr "" - -#: ../utils/net.c:577 -msgid "Manage the Samba registry" -msgstr "" - -#: ../utils/net.c:578 -msgid " Use 'net help registry' to get more information about 'net registry' commands." -msgstr "" - -#: ../utils/net.c:584 -msgid "Open a lua interpreter" -msgstr "" - -#: ../utils/net.c:585 -msgid " Use 'net help lua' to get more information about 'net lua' commands." -msgstr "" - -#: ../utils/net.c:591 -msgid "Process Win32 *.evt eventlog files" -msgstr "" - -#: ../utils/net.c:592 -msgid " Use 'net help eventlog' to get more information about 'net eventlog' commands." -msgstr "" - -#: ../utils/net.c:600 -msgid "Manage AFS tokens" -msgstr "" - -#: ../utils/net.c:601 -msgid " Use 'net help afs' to get more information about 'net afs' commands." -msgstr "" - -#: ../utils/net.c:609 -msgid "Print usage information" -msgstr "" - -#: ../utils/net.c:610 -msgid " Use 'net help help' to list usage information for 'net' commands." -msgstr "" - -#: ../utils/net.c:639 -msgid "Encrypt SMB transport (UNIX extended servers only)" -msgstr "" - -#: ../utils/net.c:703 -msgid "" -"\n" -"Invalid ip address specified\n" -msgstr "" - -#: ../utils/net.c:718 -#, c-format -msgid "" -"\n" -"Invalid option %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:52 ../utils/net_ads.c:392 -msgid "CLDAP query failed!\n" -msgstr "" - -#: ../utils/net_ads.c:56 -#, c-format -msgid "" -"Information for Domain Controller: %s\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:59 -msgid "Response Type: " -msgstr "" - -#: ../utils/net_ads.c:72 -#, c-format -msgid "GUID: %s\n" -msgstr "" - -#: ../utils/net_ads.c:74 -#, c-format -msgid "" -"Flags:\n" -"\tIs a PDC: %s\n" -"\tIs a GC of the forest: %s\n" -"\tIs an LDAP server: %s\n" -"\tSupports DS: %s\n" -"\tIs running a KDC: %s\n" -"\tIs running time services: %s\n" -"\tIs the closest DC: %s\n" -"\tIs writable: %s\n" -"\tHas a hardware clock: %s\n" -"\tIs a non-domain NC serviced by LDAP server: %s\n" -"\tIs NT6 DC that has some secrets: %s\n" -"\tIs NT6 DC that has all secrets: %s\n" -msgstr "" - -#: ../utils/net_ads.c:87 ../utils/net_ads.c:88 ../utils/net_ads.c:89 ../utils/net_ads.c:90 ../utils/net_ads.c:91 ../utils/net_ads.c:92 ../utils/net_ads.c:93 ../utils/net_ads.c:94 ../utils/net_ads.c:95 ../utils/net_ads.c:96 ../utils/net_ads.c:97 -#: ../utils/net_ads.c:98 -msgid "yes" -msgstr "" - -#: ../utils/net_ads.c:87 ../utils/net_ads.c:88 ../utils/net_ads.c:89 ../utils/net_ads.c:90 ../utils/net_ads.c:91 ../utils/net_ads.c:92 ../utils/net_ads.c:93 ../utils/net_ads.c:94 ../utils/net_ads.c:95 ../utils/net_ads.c:96 ../utils/net_ads.c:97 -#: ../utils/net_ads.c:98 -msgid "no" -msgstr "" - -#: ../utils/net_ads.c:101 -#, c-format -msgid "Forest:\t\t\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:102 -#, c-format -msgid "Domain:\t\t\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:103 -#, c-format -msgid "Domain Controller:\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:105 -#, c-format -msgid "Pre-Win2k Domain:\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:106 -#, c-format -msgid "Pre-Win2k Hostname:\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:108 -#, fuzzy, c-format -msgid "User name:\t%s\n" -msgstr " Nazwa Użytkownika" - -#: ../utils/net_ads.c:110 -#, fuzzy, c-format -msgid "Server Site Name :\t\t%s\n" -msgstr "Status Serwera" - -#: ../utils/net_ads.c:111 -#, c-format -msgid "Client Site Name :\t\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:113 -#, fuzzy, c-format -msgid "NT Version: %d\n" -msgstr "wersja:" - -#: ../utils/net_ads.c:114 -#, c-format -msgid "LMNT Token: %.2x\n" -msgstr "" - -#: ../utils/net_ads.c:115 -#, c-format -msgid "LM20 Token: %.2x\n" -msgstr "" - -#: ../utils/net_ads.c:130 -msgid "" -"Usage:\n" -"net ads lookup\n" -" Find the ADS DC using CLDAP lookup.\n" -msgstr "" - -#: ../utils/net_ads.c:137 ../utils/net_ads.c:381 -msgid "Didn't find the cldap server!\n" -msgstr "" - -#: ../utils/net_ads.c:160 -msgid "" -"Usage:\n" -"net ads info\n" -" Display information about an Active Directory server.\n" -msgstr "" - -#: ../utils/net_ads.c:168 ../utils/net_ads.c:173 -msgid "Didn't find the ldap server!\n" -msgstr "" - -#: ../utils/net_ads.c:182 -msgid "Failed to get server's current time!\n" -msgstr "" - -#: ../utils/net_ads.c:187 -#, c-format -msgid "LDAP server: %s\n" -msgstr "" - -#: ../utils/net_ads.c:188 -#, c-format -msgid "LDAP server name: %s\n" -msgstr "" - -#: ../utils/net_ads.c:189 -#, c-format -msgid "Realm: %s\n" -msgstr "" - -#: ../utils/net_ads.c:190 -#, c-format -msgid "Bind Path: %s\n" -msgstr "" - -#: ../utils/net_ads.c:191 -#, c-format -msgid "LDAP port: %d\n" -msgstr "" - -#: ../utils/net_ads.c:192 -#, fuzzy, c-format -msgid "Server time: %s\n" -msgstr "Status Serwera" - -#: ../utils/net_ads.c:195 -#, c-format -msgid "KDC server: %s\n" -msgstr "" - -#: ../utils/net_ads.c:196 -#, c-format -msgid "Server time offset: %d\n" -msgstr "" - -#: ../utils/net_ads.c:374 -msgid "" -"Usage:\n" -"net ads workgroup\n" -" Print the workgroup name\n" -msgstr "" - -#: ../utils/net_ads.c:397 -#, c-format -msgid "Workgroup: %s\n" -msgstr "" - -#: ../utils/net_ads.c:458 -#, c-format -msgid "ads_user_add: %s\n" -msgstr "" - -#: ../utils/net_ads.c:463 -#, c-format -msgid "ads_user_add: User %s already exists\n" -msgstr "" - -#: ../utils/net_ads.c:477 -#, c-format -msgid "Could not add user %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:484 ../utils/net_ads.c:497 -#, fuzzy, c-format -msgid "User %s added\n" -msgstr " Nazwa Użytkownika" - -#. password didn't set, delete account -#: ../utils/net_ads.c:503 -#, c-format -msgid "Could not add user %s. Error setting password %s\n" -msgstr "" - -#: ../utils/net_ads.c:551 -#, c-format -msgid "ads_user_info: failed to escape user %s\n" -msgstr "" - -#: ../utils/net_ads.c:569 -#, c-format -msgid "ads_search: %s\n" -msgstr "" - -#: ../utils/net_ads.c:575 -msgid "ads_pull_uint32 failed\n" -msgstr "" - -#: ../utils/net_ads.c:582 -#, c-format -msgid "ads_domain_sid: %s\n" -msgstr "" - -#: ../utils/net_ads.c:642 -#, c-format -msgid "User %s does not exist.\n" -msgstr "" - -#: ../utils/net_ads.c:652 -#, c-format -msgid "User %s deleted\n" -msgstr "" - -#: ../utils/net_ads.c:656 -#, c-format -msgid "Error deleting user %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:669 -#, fuzzy -msgid "Add an AD user" -msgstr "Dodaj Nowego Użytkownika" - -#: ../utils/net_ads.c:670 -msgid "" -"net ads user add\n" -" Add an AD user" -msgstr "" - -#: ../utils/net_ads.c:677 -msgid "Display information about an AD user" -msgstr "" - -#: ../utils/net_ads.c:678 -msgid "" -"net ads user info\n" -" Display information about an AD user" -msgstr "" - -#: ../utils/net_ads.c:685 -#, fuzzy -msgid "Delete an AD user" -msgstr "Usuń Użytkownika" - -#: ../utils/net_ads.c:686 -msgid "" -"net ads user delete\n" -" Delete an AD user" -msgstr "" - -#: ../utils/net_ads.c:699 -msgid "" -"Usage:\n" -"net ads user\n" -" List AD users\n" -msgstr "" - -#: ../utils/net_ads.c:711 -msgid "" -"\n" -"User name Comment\n" -"-----------------------------\n" -msgstr "" - -#: ../utils/net_ads.c:751 -#, c-format -msgid "ads_group_add: %s\n" -msgstr "" - -#: ../utils/net_ads.c:756 -#, c-format -msgid "ads_group_add: Group %s already exists\n" -msgstr "" - -#: ../utils/net_ads.c:769 -#, c-format -msgid "Group %s added\n" -msgstr "" - -#: ../utils/net_ads.c:772 -#, c-format -msgid "Could not add group %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:801 -#, c-format -msgid "Group %s does not exist.\n" -msgstr "" - -#: ../utils/net_ads.c:811 -#, c-format -msgid "Group %s deleted\n" -msgstr "" - -#: ../utils/net_ads.c:815 -#, c-format -msgid "Error deleting group %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:828 -msgid "Add an AD group" -msgstr "" - -#: ../utils/net_ads.c:829 -msgid "" -"net ads group add\n" -" Add an AD group" -msgstr "" - -#: ../utils/net_ads.c:836 -#, fuzzy -msgid "Delete an AD group" -msgstr "Usuń Współudział" - -#: ../utils/net_ads.c:837 -msgid "" -"net ads group delete\n" -" Delete an AD group" -msgstr "" - -#: ../utils/net_ads.c:850 -msgid "" -"Usage:\n" -"net ads group\n" -" List AD groups\n" -msgstr "" - -#: ../utils/net_ads.c:862 -msgid "" -"\n" -"Group name Comment\n" -"-----------------------------\n" -msgstr "" - -#: ../utils/net_ads.c:884 -msgid "" -"Usage:\n" -"net ads status\n" -" Display machine account details\n" -msgstr "" - -#: ../utils/net_ads.c:896 -#, c-format -msgid "ads_find_machine_acct: %s\n" -msgstr "" - -#: ../utils/net_ads.c:902 -#, c-format -msgid "No machine account for '%s' found\n" -msgstr "" - -#: ../utils/net_ads.c:926 -msgid "" -"Usage:\n" -"net ads leave\n" -" Leave an AD domain\n" -msgstr "" - -#: ../utils/net_ads.c:933 -msgid "No realm set, are we joined ?\n" -msgstr "" - -#: ../utils/net_ads.c:938 ../utils/net_ads.c:1260 -msgid "Could not initialise talloc context.\n" -msgstr "" - -#: ../utils/net_ads.c:948 -msgid "Could not initialise unjoin context.\n" -msgstr "" - -#: ../utils/net_ads.c:968 -#, c-format -msgid "Failed to leave domain: %s\n" -msgstr "" - -#: ../utils/net_ads.c:975 -#, c-format -msgid "Deleted account for '%s' in realm '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:982 -#, c-format -msgid "Disabled account for '%s' in realm '%s'\n" -msgstr "" - -#. Based on what we requseted, we shouldn't get here, but if -#. we did, it means the secrets were removed, and therefore -#. we have left the domain -#: ../utils/net_ads.c:991 -#, c-format -msgid "Machine '%s' Left domain '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:1035 -msgid "" -"Usage:\n" -"net ads testjoin\n" -" Test if the existing join is ok\n" -msgstr "" - -#: ../utils/net_ads.c:1044 -#, c-format -msgid "Join to domain is not valid: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1049 -#, c-format -msgid "Join is OK\n" -msgstr "" - -#: ../utils/net_ads.c:1060 -msgid "Host is not configured as a member server.\n" -msgstr "" - -#: ../utils/net_ads.c:1065 -#, c-format -msgid "Our netbios name can be at most 15 chars long, \"%s\" is %u chars long\n" -msgstr "" - -#: ../utils/net_ads.c:1072 -#, c-format -msgid "realm must be set in in %s for ADS join to succeed.\n" -msgstr "" - -#: ../utils/net_ads.c:1105 -#, c-format -msgid "No DNS domain configured for %s. Unable to perform DNS Update.\n" -msgstr "" - -#: ../utils/net_ads.c:1212 -msgid "" -"net ads join [options]\n" -"Valid options:\n" -msgstr "" - -#: ../utils/net_ads.c:1214 -msgid "" -" createupn[=UPN] Set the userPrincipalName attribute during the join.\n" -" The deault UPN is in the form host/netbiosname@REALM.\n" -msgstr "" - -#: ../utils/net_ads.c:1216 -msgid "" -" createcomputer=OU Precreate the computer account in a specific OU.\n" -" The OU string read from top to bottom without RDNs and delimited by a '/'.\n" -" E.g. \"createcomputer=Computers/Servers/Unix\"\n" -" NB: A backslash '\\' is used as escape at multiple levels and may\n" -" need to be doubled or even quadrupled. It is not used as a separator.\n" -msgstr "" - -#: ../utils/net_ads.c:1221 -msgid " osName=string Set the operatingSystem attribute during the join.\n" -msgstr "" - -#: ../utils/net_ads.c:1222 -msgid "" -" osVer=string Set the operatingSystemVersion attribute during the join.\n" -" NB: osName and osVer must be specified together for either to take effect.\n" -" Also, the operatingSystemService attribute is also set when along with\n" -" the two other attributes.\n" -msgstr "" - -#: ../utils/net_ads.c:1254 -msgid "Invalid configuration. Exiting....\n" -msgstr "" - -#: ../utils/net_ads.c:1283 -msgid "Please supply a valid OU path.\n" -msgstr "" - -#: ../utils/net_ads.c:1290 -msgid "Please supply a operating system name.\n" -msgstr "" - -#: ../utils/net_ads.c:1297 -msgid "Please supply a valid operating system version.\n" -msgstr "" - -#: ../utils/net_ads.c:1308 -msgid "Please supply a valid domain name\n" -msgstr "" - -#: ../utils/net_ads.c:1339 -#, c-format -msgid "" -"The workgroup in %s does not match the short\n" -"domain name obtained from the server.\n" -"Using the name [%s] from the server.\n" -"You should set \"workgroup = %s\" in %s.\n" -msgstr "" - -#: ../utils/net_ads.c:1347 -#, c-format -msgid "Using short domain name -- %s\n" -msgstr "" - -#: ../utils/net_ads.c:1350 -#, c-format -msgid "Joined '%s' to realm '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:1353 -#, c-format -msgid "Joined '%s' to domain '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:1377 ../utils/net_ads.c:1433 -msgid "DNS update failed!\n" -msgstr "" - -#. issue an overall failure message at the end. -#: ../utils/net_ads.c:1391 ../utils/net_dom.c:198 -#, c-format -msgid "Failed to join domain: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1414 -msgid "" -"Usage:\n" -"net ads dns register\n" -" Register hostname with DNS\n" -msgstr "" - -#: ../utils/net_ads.c:1421 -msgid "Could not initialise talloc context\n" -msgstr "" - -#: ../utils/net_ads.c:1439 -msgid "Successfully registered hostname with DNS\n" -msgstr "" - -#: ../utils/net_ads.c:1447 -msgid "DNS update support not enabled at compile time!\n" -msgstr "" - -#: ../utils/net_ads.c:1466 -msgid "" -"Usage:\n" -"net ads dns gethostbyname <server> <name>\n" -" Look up hostname from the AD\n" -" server\tName server to use\n" -" name\tName to look up\n" -msgstr "" - -#: ../utils/net_ads.c:1476 -#, c-format -msgid "do_gethostbyname returned %d\n" -msgstr "" - -#: ../utils/net_ads.c:1488 -msgid "Add host dns entry to AD" -msgstr "" - -#: ../utils/net_ads.c:1489 -msgid "" -"net ads dns register\n" -" Add host dns entry to AD" -msgstr "" - -#: ../utils/net_ads.c:1496 -msgid "Look up host" -msgstr "" - -#: ../utils/net_ads.c:1497 -msgid "" -"net ads dns gethostbyname\n" -" Look up host" -msgstr "" - -#: ../utils/net_ads.c:1512 -msgid "" -"\n" -"net ads printer search <printer>\n" -"\tsearch for a printer in the directory\n" -"\n" -"net ads printer info <printer> <server>\n" -"\tlookup info in directory for printer on server\n" -"\t(note: printer defaults to \"*\", server defaults to local)\n" -"\n" -"net ads printer publish <printername>\n" -"\tpublish printer in directory\n" -"\t(note: printer name is required)\n" -"\n" -"net ads printer remove <printername>\n" -"\tremove printer from directory\n" -"\t(note: printer name is required)\n" -msgstr "" - -#: ../utils/net_ads.c:1536 -msgid "" -"Usage:\n" -"net ads printer search\n" -" List printers in the AD\n" -msgstr "" - -#: ../utils/net_ads.c:1549 -#, c-format -msgid "ads_find_printer: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1556 -msgid "No results found\n" -msgstr "" - -#: ../utils/net_ads.c:1576 -msgid "" -"Usage:\n" -"net ads printer info [printername [servername]]\n" -" Display printer info from AD\n" -" printername\tPrinter name or wildcard\n" -" servername\tName of the print server\n" -msgstr "" - -#: ../utils/net_ads.c:1603 -#, c-format -msgid "Server '%s' not found: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1611 ../utils/net_ads.c:1794 -#, c-format -msgid "Printer '%s' not found\n" -msgstr "" - -#: ../utils/net_ads.c:1640 -msgid "" -"Usage:\n" -"net ads printer publish <printername> [servername]\n" -" Publish printer in AD\n" -" printername\tName of the printer\n" -" servername\tName of the print server\n" -msgstr "" - -#: ../utils/net_ads.c:1675 -#, c-format -msgid "Unable to open a connnection to %s to obtain data for %s\n" -msgstr "" - -#: ../utils/net_ads.c:1688 -#, c-format -msgid "Could not find machine account for server %s\n" -msgstr "" - -#: ../utils/net_ads.c:1704 ../utils/net_ads.c:1713 -msgid "Internal error, out of memory!" -msgstr "" - -#: ../utils/net_ads.c:1724 -#, c-format -msgid "Unable to open a connnection to the spoolss pipe on %s\n" -msgstr "" - -#: ../utils/net_ads.c:1766 -msgid "" -"Usage:\n" -"net ads printer remove <printername> [servername]\n" -" Remove a printer from the AD\n" -" printername\tName of the printer\n" -" servername\tName of the print server\n" -msgstr "" - -#: ../utils/net_ads.c:1787 -#, c-format -msgid "ads_find_printer_on_server: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1806 -#, c-format -msgid "ads_del_dn: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1822 -msgid "Search for a printer" -msgstr "" - -#: ../utils/net_ads.c:1823 -msgid "" -"net ads printer search\n" -" Search for a printer" -msgstr "" - -#: ../utils/net_ads.c:1830 -msgid "Display printer information" -msgstr "" - -#: ../utils/net_ads.c:1831 -msgid "" -"net ads printer info\n" -" Display printer information" -msgstr "" - -#: ../utils/net_ads.c:1838 -msgid "Publish a printer" -msgstr "" - -#: ../utils/net_ads.c:1839 -msgid "" -"net ads printer publish\n" -" Publish a printer" -msgstr "" - -#: ../utils/net_ads.c:1846 -#, fuzzy -msgid "Delete a printer" -msgstr "Usuń Drukarkę" - -#: ../utils/net_ads.c:1847 -msgid "" -"net ads printer remove\n" -" Delete a printer" -msgstr "" - -#: ../utils/net_ads.c:1869 -msgid "" -"Usage:\n" -"net ads password <username>\n" -" Change password for user\n" -" username\tName of user to change password for\n" -msgstr "" - -#: ../utils/net_ads.c:1877 -msgid "You must supply an administrator username/password\n" -msgstr "" - -#: ../utils/net_ads.c:1883 -msgid "ERROR: You must say which username to change password for\n" -msgstr "" - -#: ../utils/net_ads.c:1915 -msgid "Didn't find the kerberos server!\n" -msgstr "" - -#: ../utils/net_ads.c:1923 -#, c-format -msgid "Enter new password for %s:" -msgstr "" - -#: ../utils/net_ads.c:1933 ../utils/net_ads.c:1982 -#, fuzzy, c-format -msgid "Password change failed: %s\n" -msgstr "Zarządzanie Hasłami" - -#: ../utils/net_ads.c:1938 -#, fuzzy, c-format -msgid "Password change for %s completed.\n" -msgstr "zmiana hasła w trybie demo odrzucona\n" - -#: ../utils/net_ads.c:1952 -msgid "" -"Usage:\n" -"net ads changetrustpw\n" -" Change the machine account's trust password\n" -msgstr "" - -#: ../utils/net_ads.c:1977 -#, c-format -msgid "Changing password for principal: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1988 -#, c-format -msgid "Password change for principal %s succeeded.\n" -msgstr "" - -#: ../utils/net_ads.c:1991 -msgid "Attempting to update system keytab with new password.\n" -msgstr "" - -#: ../utils/net_ads.c:1993 -msgid "Failed to update system keytab.\n" -msgstr "" - -#: ../utils/net_ads.c:2009 -msgid "" -"\n" -"net ads search <expression> <attributes...>\n" -"\n" -"Perform a raw LDAP search on a ADS server and dump the results.\n" -"The expression is a standard LDAP search expression, and the\n" -"attributes are a list of LDAP fields to show in the results.\n" -"\n" -"Example: net ads search '(objectCategory=group)' sAMAccountName\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2046 ../utils/net_ads.c:2107 ../utils/net_ads.c:2171 ../utils/net_ads_gpo.c:250 -#, c-format -msgid "search failed: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2051 ../utils/net_ads.c:2176 ../utils/net_ads_gpo.c:256 -#, c-format -msgid "" -"Got %d replies\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2069 -msgid "" -"\n" -"net ads dn <dn> <attributes...>\n" -"\n" -"perform a raw LDAP search on a ADS server and dump the results\n" -"The DN standard LDAP DN, and the attributes are a list of LDAP fields \n" -"to show in the results\n" -"\n" -"Example: net ads dn 'CN=administrator,CN=Users,DC=my,DC=domain' sAMAccountName\n" -"\n" -"Note: the DN must be provided properly escaped. See RFC 4514 for details\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2129 -msgid "" -"\n" -"net ads sid <sid> <attributes...>\n" -"\n" -"perform a raw LDAP search on a ADS server and dump the results\n" -"The SID is in string format, and the attributes are a list of LDAP fields \n" -"to show in the results\n" -"\n" -"Example: net ads sid 'S-1-5-32' distinguishedName\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2164 -msgid "could not convert sid\n" -msgstr "" - -#: ../utils/net_ads.c:2193 -msgid "" -"Usage:\n" -"net ads keytab flush\n" -" Delete the whole keytab\n" -msgstr "" - -#: ../utils/net_ads.c:2214 -msgid "" -"Usage:\n" -"net ads keytab add <principal> [principal ...]\n" -" Add principals to local keytab\n" -" principal\tKerberos principal to add to keytab\n" -msgstr "" - -#: ../utils/net_ads.c:2222 -msgid "Processing principals to add...\n" -msgstr "" - -#: ../utils/net_ads.c:2239 -msgid "" -"Usage:\n" -"net ads keytab create\n" -" Create new default keytab\n" -msgstr "" - -#: ../utils/net_ads.c:2258 -msgid "" -"Usage:\n" -"net ads keytab list [keytab]\n" -" List a local keytab\n" -" keytab\tKeytab to list\n" -msgstr "" - -#: ../utils/net_ads.c:2280 -msgid "Add a service principal" -msgstr "" - -#: ../utils/net_ads.c:2281 -msgid "" -"net ads keytab add\n" -" Add a service principal" -msgstr "" - -#: ../utils/net_ads.c:2288 -#, fuzzy -msgid "Create a fresh keytab" -msgstr "Utwórz Współudział" - -#: ../utils/net_ads.c:2289 -msgid "" -"net ads keytab create\n" -" Create a fresh keytab" -msgstr "" - -#: ../utils/net_ads.c:2296 -msgid "Remove all keytab entries" -msgstr "" - -#: ../utils/net_ads.c:2297 -msgid "" -"net ads keytab flush\n" -" Remove all keytab entries" -msgstr "" - -#: ../utils/net_ads.c:2304 -msgid "List a keytab" -msgstr "" - -#: ../utils/net_ads.c:2305 -msgid "" -"net ads keytab list\n" -" List a keytab" -msgstr "" - -#: ../utils/net_ads.c:2312 -msgid "" -"\n" -"Warning: \"kerberos method\" must be set to a keytab method to use keytab functions.\n" -msgstr "" - -#: ../utils/net_ads.c:2324 -msgid "" -"Usage:\n" -"net ads kerberos renew\n" -" Renew TGT from existing credential cache\n" -msgstr "" - -#: ../utils/net_ads.c:2332 -#, c-format -msgid "failed to renew kerberos ticket: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2347 -msgid "" -"Usage:\n" -"net ads kerberos pac\n" -" Dump the Kerberos PAC\n" -msgstr "" - -#: ../utils/net_ads.c:2372 -#, c-format -msgid "failed to query kerberos PAC: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2381 -#, c-format -msgid "The Pac: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2397 -msgid "" -"Usage:\n" -"net ads kerberos kinit\n" -" Get Ticket Granting Ticket (TGT) for the user\n" -msgstr "" - -#: ../utils/net_ads.c:2421 -#, c-format -msgid "failed to kinit password: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2435 -msgid "Retrieve Ticket Granting Ticket (TGT)" -msgstr "" - -#: ../utils/net_ads.c:2436 -msgid "" -"net ads kerberos kinit\n" -" Receive Ticket Granting Ticket (TGT)" -msgstr "" - -#: ../utils/net_ads.c:2443 -msgid "Renew Ticket Granting Ticket from credential cache" -msgstr "" - -#: ../utils/net_ads.c:2444 -msgid "" -"net ads kerberos renew\n" -" Renew Ticket Granting Ticket (TGT) from credential cache" -msgstr "" - -#: ../utils/net_ads.c:2452 -msgid "Dump Kerberos PAC" -msgstr "" - -#: ../utils/net_ads.c:2453 -msgid "" -"net ads kerberos pac\n" -" Dump Kerberos PAC" -msgstr "" - -#: ../utils/net_ads.c:2469 -msgid "Display details on remote ADS server" -msgstr "" - -#: ../utils/net_ads.c:2470 -msgid "" -"net ads info\n" -" Display details on remote ADS server" -msgstr "" - -#: ../utils/net_ads.c:2477 -msgid "Join the local machine to ADS realm" -msgstr "" - -#: ../utils/net_ads.c:2478 -msgid "" -"net ads join\n" -" Join the local machine to ADS realm" -msgstr "" - -#: ../utils/net_ads.c:2485 -msgid "Validate machine account" -msgstr "" - -#: ../utils/net_ads.c:2486 -msgid "" -"net ads testjoin\n" -" Validate machine account" -msgstr "" - -#: ../utils/net_ads.c:2493 -msgid "Remove the local machine from ADS" -msgstr "" - -#: ../utils/net_ads.c:2494 -msgid "" -"net ads leave\n" -" Remove the local machine from ADS" -msgstr "" - -#: ../utils/net_ads.c:2501 -msgid "Display machine account details" -msgstr "" - -#: ../utils/net_ads.c:2502 -msgid "" -"net ads status\n" -" Display machine account details" -msgstr "" - -#: ../utils/net_ads.c:2509 -msgid "List/modify users" -msgstr "" - -#: ../utils/net_ads.c:2510 -msgid "" -"net ads user\n" -" List/modify users" -msgstr "" - -#: ../utils/net_ads.c:2517 -msgid "List/modify groups" -msgstr "" - -#: ../utils/net_ads.c:2518 -msgid "" -"net ads group\n" -" List/modify groups" -msgstr "" - -#: ../utils/net_ads.c:2525 -msgid "Issue dynamic DNS update" -msgstr "" - -#: ../utils/net_ads.c:2526 -msgid "" -"net ads dns\n" -" Issue dynamic DNS update" -msgstr "" - -#: ../utils/net_ads.c:2533 -#, fuzzy -msgid "Change user passwords" -msgstr "Zmień Hasło" - -#: ../utils/net_ads.c:2534 -msgid "" -"net ads password\n" -" Change user passwords" -msgstr "" - -#: ../utils/net_ads.c:2541 -#, fuzzy -msgid "Change trust account password" -msgstr "Zmień Hasło" - -#: ../utils/net_ads.c:2542 -msgid "" -"net ads changetrustpw\n" -" Change trust account password" -msgstr "" - -#: ../utils/net_ads.c:2549 -msgid "List/modify printer entries" -msgstr "" - -#: ../utils/net_ads.c:2550 -msgid "" -"net ads printer\n" -" List/modify printer entries" -msgstr "" - -#: ../utils/net_ads.c:2557 -msgid "Issue LDAP search using filter" -msgstr "" - -#: ../utils/net_ads.c:2558 -msgid "" -"net ads search\n" -" Issue LDAP search using filter" -msgstr "" - -#: ../utils/net_ads.c:2565 -msgid "Issue LDAP search by DN" -msgstr "" - -#: ../utils/net_ads.c:2566 -msgid "" -"net ads dn\n" -" Issue LDAP search by DN" -msgstr "" - -#: ../utils/net_ads.c:2573 -msgid "Issue LDAP search by SID" -msgstr "" - -#: ../utils/net_ads.c:2574 -msgid "" -"net ads sid\n" -" Issue LDAP search by SID" -msgstr "" - -#: ../utils/net_ads.c:2581 -msgid "Display workgroup name" -msgstr "" - -#: ../utils/net_ads.c:2582 -msgid "" -"net ads workgroup\n" -" Display the workgroup name" -msgstr "" - -#: ../utils/net_ads.c:2589 -msgid "Perfom CLDAP query on DC" -msgstr "" - -#: ../utils/net_ads.c:2590 -msgid "" -"net ads lookup\n" -" Find the ADS DC using CLDAP lookups" -msgstr "" - -#: ../utils/net_ads.c:2597 -msgid "Manage local keytab file" -msgstr "" - -#: ../utils/net_ads.c:2598 -msgid "" -"net ads keytab\n" -" Manage local keytab file" -msgstr "" - -#: ../utils/net_ads.c:2605 -msgid "Manage group policy objects" -msgstr "" - -#: ../utils/net_ads.c:2606 -msgid "" -"net ads gpo\n" -" Manage group policy objects" -msgstr "" - -#: ../utils/net_ads.c:2613 -msgid "Manage kerberos keytab" -msgstr "" - -#: ../utils/net_ads.c:2614 -msgid "" -"net ads kerberos\n" -" Manage kerberos keytab" -msgstr "" - -#: ../utils/net_ads.c:2627 -msgid "ADS support not compiled in\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:40 -msgid "" -"Usage:\n" -"net ads gpo refresh <username|machinename>\n" -" Lists all GPOs assigned to an account and downloads them\n" -" username\tUser to refresh GPOs for\n" -" machinename\tMachine to refresh GPOs for\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:56 -#, c-format -msgid "failed to connect AD server: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:62 -#, c-format -msgid "failed to find samaccount for %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:70 -#, c-format -msgid "" -"\n" -"%s: '%s' has dn: '%s'\n" -"\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:71 ../utils/net_ads_gpo.c:328 -#, fuzzy -msgid "machine" -msgstr " Zdalna Maszyna" - -#: ../utils/net_ads_gpo.c:71 ../utils/net_ads_gpo.c:328 -#, fuzzy -msgid "user" -msgstr "Użytkownik" - -#: ../utils/net_ads_gpo.c:74 -msgid "* fetching token " -msgstr "" - -#: ../utils/net_ads_gpo.c:82 ../utils/net_ads_gpo.c:90 ../utils/net_ads_gpo.c:102 ../utils/net_ads_gpo.c:113 ../utils/net_ads_gpo.c:158 -#, c-format -msgid "failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:85 ../utils/net_ads_gpo.c:94 ../utils/net_ads_gpo.c:105 ../utils/net_ads_gpo.c:118 ../utils/net_ads_gpo.c:163 -msgid "finished\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:87 -msgid "* fetching GPO List " -msgstr "" - -#: ../utils/net_ads_gpo.c:96 -msgid "* Refreshing Group Policy Data " -msgstr "" - -#: ../utils/net_ads_gpo.c:107 -msgid "* storing GPO list to registry " -msgstr "" - -#: ../utils/net_ads_gpo.c:122 -msgid "* dumping GPO list\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:151 -msgid "* re-reading GPO list from registry " -msgstr "" - -#: ../utils/net_ads_gpo.c:167 -msgid "* dumping GPO list from registry\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:226 -msgid "" -"Usage:\n" -"net ads gpo listall\n" -" List all GPOs on the DC\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:270 -#, fuzzy, c-format -msgid "ads_parse_gpo failed: %s\n" -msgstr "Zarządzanie Hasłami" - -#: ../utils/net_ads_gpo.c:300 -msgid "" -"Usage:\n" -"net ads gpo list <username|machinename>\n" -" Lists all GPOs for machine/user\n" -" username\tUser to list GPOs for\n" -" machinename\tMachine to list GPOs for\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:327 -#, c-format -msgid "%s: '%s' has dn: '%s'\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:451 -msgid "" -"Usage:\n" -"net ads gpo linkget <container>\n" -" Lists gPLink of a containter\n" -" container\tContainer to get link for\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:470 -#, c-format -msgid "get link for %s failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:492 -msgid "" -"Usage:\n" -"net ads gpo linkadd <linkdn> <gpodn> [options]\n" -" Link a container to a GPO\n" -" linkdn\tContainer to link to a GPO\n" -" gpodn\tGPO to link container to\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:497 -msgid "" -"note: DNs must be provided properly escaped.\n" -"See RFC 4514 for details\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:518 -#, c-format -msgid "link add failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:579 -msgid "" -"Usage:\n" -"net ads gpo getgpo <gpo>\n" -" List speciefied GPO\n" -" gpo\t\tGPO to list\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:603 -#, c-format -msgid "get gpo for [%s] failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:634 -msgid "List specified GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:635 -msgid "" -"net ads gpo getgpo\n" -" List specified GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:642 -msgid "Link a container to a GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:643 -msgid "" -"net ads gpo linkadd\n" -" Link a container to a GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:660 -msgid "Lists gPLink of containter" -msgstr "" - -#: ../utils/net_ads_gpo.c:661 -msgid "" -"net ads gpo linkget\n" -" Lists gPLink of containter" -msgstr "" - -#: ../utils/net_ads_gpo.c:668 -msgid "Lists all GPOs for machine/user" -msgstr "" - -#: ../utils/net_ads_gpo.c:669 -msgid "" -"net ads gpo list\n" -" Lists all GPOs for machine/user" -msgstr "" - -#: ../utils/net_ads_gpo.c:676 -msgid "Lists all GPOs on a DC" -msgstr "" - -#: ../utils/net_ads_gpo.c:677 -msgid "" -"net ads gpo listall\n" -" Lists all GPOs on a DC" -msgstr "" - -#: ../utils/net_ads_gpo.c:684 -msgid "Lists all GPOs assigned to an account and downloads them" -msgstr "" - -#: ../utils/net_ads_gpo.c:686 -msgid "" -"net ads gpo refresh\n" -" Lists all GPOs assigned to an account and downloads them" -msgstr "" - -#: ../utils/net_afs.c:25 -msgid "" -" net afs key filename\n" -"\tImports a OpenAFS KeyFile into our secrets.tdb\n" -"\n" -msgstr "" - -#: ../utils/net_afs.c:27 -msgid "" -" net afs impersonate <user> <cell>\n" -"\tCreates a token for user@cell\n" -"\n" -msgstr "" - -#: ../utils/net_afs.c:38 -msgid "usage: 'net afs key <keyfile> cell'\n" -msgstr "" - -#: ../utils/net_afs.c:43 -msgid "Could not open secrets.tdb\n" -msgstr "" - -#: ../utils/net_afs.c:48 -#, c-format -msgid "Could not open %s\n" -msgstr "" - -#: ../utils/net_afs.c:53 -msgid "Could not read keyfile\n" -msgstr "" - -#: ../utils/net_afs.c:58 -msgid "Could not write keyfile to secrets.tdb\n" -msgstr "" - -#: ../utils/net_afs.c:71 -#, c-format -msgid "Usage: net afs impersonate <user> <cell>\n" -msgstr "" - -#: ../utils/net_afs.c:78 -#, c-format -msgid "Could not create token\n" -msgstr "" - -#: ../utils/net_afs.c:83 -#, c-format -msgid "Could not set token into kernel\n" -msgstr "" - -#: ../utils/net_afs.c:87 -#, c-format -msgid "Success: %s@%s\n" -msgstr "" - -#: ../utils/net_afs.c:98 -msgid "Import an OpenAFS keyfile" -msgstr "" - -#: ../utils/net_afs.c:99 -msgid "" -"net afs key <filename>\n" -" Import kefile from <filename>." -msgstr "" - -#: ../utils/net_afs.c:106 -msgid "Get a user token" -msgstr "" - -#: ../utils/net_afs.c:107 -msgid "" -"net afs impersonate <user> <cell>\n" -" Create token for user@cell" -msgstr "" - -#: ../utils/net_cache.c:74 -#, c-format -msgid "Key: %s\t Timeout: %s\t Value: %s %s\n" -msgstr "" - -#: ../utils/net_cache.c:75 -msgid "(expired)" -msgstr "" - -#: ../utils/net_cache.c:84 -#, c-format -msgid "Couldn't delete entry! key = %s\n" -msgstr "" - -#: ../utils/net_cache.c:158 -msgid "" -"\n" -"Usage:\n" -"net cache add <key string> <data string> <timeout>\n" -msgstr "" - -#: ../utils/net_cache.c:170 -msgid "Invalid timeout argument.\n" -msgstr "" - -#: ../utils/net_cache.c:175 -msgid "New cache entry stored successfully.\n" -msgstr "" - -#: ../utils/net_cache.c:179 -msgid "Entry couldn't be added. Perhaps there's already such a key.\n" -msgstr "" - -#: ../utils/net_cache.c:195 -msgid "" -"\n" -"Usage: net cache del <key string>\n" -msgstr "" - -#: ../utils/net_cache.c:200 -msgid "Entry deleted.\n" -msgstr "" - -#: ../utils/net_cache.c:204 -msgid "Couldn't delete specified entry\n" -msgstr "" - -#: ../utils/net_cache.c:223 -msgid "" -"\n" -"Usage: net cache get <key>\n" -msgstr "" - -#: ../utils/net_cache.c:233 -msgid "Failed to find entry\n" -msgstr "" - -#: ../utils/net_cache.c:250 -msgid "Usage: net cache search <pattern>\n" -msgstr "" - -#: ../utils/net_cache.c:272 -msgid "" -"Usage:\n" -"net cache list\n" -" List all cache entries.\n" -msgstr "" - -#: ../utils/net_cache.c:293 ../utils/net_cache.c:306 -msgid "" -"Usage:\n" -"net cache flush\n" -" Delete all cache entries.\n" -msgstr "" - -#: ../utils/net_cache.c:331 -msgid "Add new cache entry" -msgstr "" - -#: ../utils/net_cache.c:332 -msgid "" -"net cache add <key string> <data string> <timeout>\n" -" Add new cache entry.\n" -" key string\tKey string to add cache data under.\n" -" data string\tData to store under given key.\n" -" timeout\tTimeout for cache data." -msgstr "" - -#: ../utils/net_cache.c:342 -msgid "Delete existing cache entry by key" -msgstr "" - -#: ../utils/net_cache.c:343 -msgid "" -"net cache del <key string>\n" -" Delete existing cache entry by key.\n" -" key string\tKey string to delete." -msgstr "" - -#: ../utils/net_cache.c:351 -msgid "Get cache entry by key" -msgstr "" - -#: ../utils/net_cache.c:352 -msgid "" -"net cache get <key string>\n" -" Get cache entry by key.\n" -" key string\tKey string to look up cache entry for." -msgstr "" - -#: ../utils/net_cache.c:361 -msgid "Search entry by pattern" -msgstr "" - -#: ../utils/net_cache.c:362 -msgid "" -"net cache search <pattern>\n" -" Search entry by pattern.\n" -" pattern\tPattern to search for in cache." -msgstr "" - -#: ../utils/net_cache.c:370 -msgid "List all cache entries" -msgstr "" - -#: ../utils/net_cache.c:371 -msgid "" -"net cache list\n" -" List all cache entries" -msgstr "" - -#: ../utils/net_cache.c:378 -#, fuzzy -msgid "Delete all cache entries" -msgstr "Usuń Drukarkę" - -#: ../utils/net_cache.c:379 -msgid "" -"net cache flush\n" -" Delete all cache entries" -msgstr "" - -#: ../utils/net_cache.c:386 -msgid "Move transient cache content to stable storage" -msgstr "" - -#: ../utils/net_cache.c:387 -msgid "" -"net cache stabilize\n" -" Move transient cache content to stable storage" -msgstr "" - -#: ../utils/net_conf.c:42 -msgid "USAGE: net conf list\n" -msgstr "" - -#: ../utils/net_conf.c:49 -msgid "" -"USAGE: net conf import [--test|-T] <filename> [<servicename>]\n" -"\t[--test|-T] testmode - do not act, just print what would be done\n" -"\t<servicename> only import service <servicename>, ignore the rest\n" -msgstr "" - -#: ../utils/net_conf.c:61 -msgid "USAGE: net conf listshares\n" -msgstr "" - -#: ../utils/net_conf.c:68 -msgid "USAGE: net conf drop\n" -msgstr "" - -#: ../utils/net_conf.c:75 -msgid "USAGE: net conf showshare <sharename>\n" -msgstr "" - -#: ../utils/net_conf.c:82 -msgid "" -"USAGE: net conf addshare <sharename> <path> [writeable={y|N} [guest_ok={y|N} [<comment>]]\n" -"\t<sharename> the new share name.\n" -"\t<path> the path on the filesystem to export.\n" -"\twriteable={y|N} set \"writeable to \"yes\" or \"no\" (default) on this share.\n" -"\tguest_ok={y|N} set \"guest ok\" to \"yes\" or \"no\" (default) on this share.\n" -"\t<comment> optional comment for the new share.\n" -msgstr "" - -#: ../utils/net_conf.c:97 -msgid "USAGE: net conf delshare <sharename>\n" -msgstr "" - -#: ../utils/net_conf.c:104 -msgid "USAGE: net conf setparm <section> <param> <value>\n" -msgstr "" - -#: ../utils/net_conf.c:111 -msgid "USAGE: net conf getparm <section> <param>\n" -msgstr "" - -#: ../utils/net_conf.c:118 -msgid "USAGE: net conf delparm <section> <param>\n" -msgstr "" - -#: ../utils/net_conf.c:125 -msgid "USAGE: net conf getincludes <section>\n" -msgstr "" - -#: ../utils/net_conf.c:132 -msgid "USAGE: net conf setincludes <section> [<filename>]*\n" -msgstr "" - -#: ../utils/net_conf.c:139 -msgid "USAGE: net conf delincludes <section>\n" -msgstr "" - -#: ../utils/net_conf.c:251 -#, c-format -msgid "Error getting config: %s\n" -msgstr "" - -#: ../utils/net_conf.c:305 ../utils/net_conf.c:318 ../utils/net_conf.c:614 ../utils/net_conf.c:742 ../utils/net_conf.c:780 ../utils/net_conf.c:786 ../utils/net_conf.c:860 ../utils/net_conf.c:866 ../utils/net_conf.c:916 ../utils/net_conf.c:970 -#: ../utils/net_conf.c:1010 ../utils/net_conf.c:1050 -msgid "error: out of memory!\n" -msgstr "" - -#: ../utils/net_conf.c:324 -#, c-format -msgid "error loading file '%s': %s\n" -msgstr "" - -#: ../utils/net_conf.c:330 -msgid "" -"\n" -"TEST MODE - would import the following configuration:\n" -"\n" -msgstr "" - -#: ../utils/net_conf.c:346 ../utils/net_conf.c:382 ../utils/net_conf.c:407 ../utils/net_conf.c:793 -#, c-format -msgid "error starting transaction: %s\n" -msgstr "" - -#: ../utils/net_conf.c:400 ../utils/net_conf.c:416 ../utils/net_conf.c:817 -#, c-format -msgid "error committing transaction: %s\n" -msgstr "" - -#: ../utils/net_conf.c:427 ../utils/net_conf.c:828 -#, c-format -msgid "error cancelling transaction: %s\n" -msgstr "" - -#: ../utils/net_conf.c:484 -#, c-format -msgid "Error deleting configuration: %s\n" -msgstr "" - -#: ../utils/net_conf.c:521 -#, c-format -msgid "error getting share parameters: %s\n" -msgstr "" - -#: ../utils/net_conf.c:630 -#, c-format -msgid "ERROR: share name %s contains invalid characters (any of %s)\n" -msgstr "" - -#: ../utils/net_conf.c:638 -msgid "ERROR: 'global' is not a valid share name.\n" -msgstr "" - -#: ../utils/net_conf.c:643 -#, c-format -msgid "ERROR: share %s already exists.\n" -msgstr "" - -#: ../utils/net_conf.c:652 -#, c-format -msgid "Error: path '%s' is not an absolute path.\n" -msgstr "" - -#: ../utils/net_conf.c:659 -#, c-format -msgid "" -"ERROR: cannot stat path '%s' to ensure this is a directory.\n" -"Error was '%s'.\n" -msgstr "" - -#: ../utils/net_conf.c:668 -#, c-format -msgid "ERROR: path '%s' is not a directory.\n" -msgstr "" - -#: ../utils/net_conf.c:679 -#, c-format -msgid "Error creating share %s: %s\n" -msgstr "" - -#: ../utils/net_conf.c:690 ../utils/net_conf.c:699 ../utils/net_conf.c:707 ../utils/net_conf.c:715 -#, c-format -msgid "Error setting parameter %s: %s\n" -msgstr "" - -#: ../utils/net_conf.c:748 -#, c-format -msgid "Error deleting share %s: %s\n" -msgstr "" - -#: ../utils/net_conf.c:801 -#, c-format -msgid "Error creating share '%s': %s\n" -msgstr "" - -#: ../utils/net_conf.c:810 -#, c-format -msgid "Error setting value '%s': %s\n" -msgstr "" - -#: ../utils/net_conf.c:874 ../utils/net_conf.c:930 -#, c-format -msgid "Error: given service '%s' does not exist.\n" -msgstr "" - -#: ../utils/net_conf.c:879 ../utils/net_conf.c:935 -#, c-format -msgid "Error: given parameter '%s' is not set.\n" -msgstr "" - -#: ../utils/net_conf.c:883 -#, c-format -msgid "Error getting value '%s': %s.\n" -msgstr "" - -#: ../utils/net_conf.c:939 -#, c-format -msgid "Error deleting value '%s': %s.\n" -msgstr "" - -#: ../utils/net_conf.c:977 -#, c-format -msgid "error getting includes: %s\n" -msgstr "" - -#: ../utils/net_conf.c:1023 -#, c-format -msgid "error setting includes: %s\n" -msgstr "" - -#: ../utils/net_conf.c:1056 -#, c-format -msgid "error deleting includes: %s\n" -msgstr "" - -#: ../utils/net_conf.c:1136 ../utils/net_help.c:36 -msgid "Usage:\n" -msgstr "" - -#: ../utils/net_conf.c:1160 -msgid "Dump the complete configuration in smb.conf like format." -msgstr "" - -#: ../utils/net_conf.c:1162 -msgid "" -"net conf list\n" -" Dump the complete configuration in smb.conf like format." -msgstr "" - -#: ../utils/net_conf.c:1171 -msgid "Import configuration from file in smb.conf format." -msgstr "" - -#: ../utils/net_conf.c:1173 -msgid "" -"net conf import\n" -" Import configuration from file in smb.conf format." -msgstr "" - -#: ../utils/net_conf.c:1181 -msgid "List the share names." -msgstr "" - -#: ../utils/net_conf.c:1182 -msgid "" -"net conf listshares\n" -" List the share names." -msgstr "" - -#: ../utils/net_conf.c:1189 -msgid "Delete the complete configuration." -msgstr "" - -#: ../utils/net_conf.c:1190 -msgid "" -"net conf drop\n" -" Delete the complete configuration." -msgstr "" - -#: ../utils/net_conf.c:1197 -msgid "Show the definition of a share." -msgstr "" - -#: ../utils/net_conf.c:1198 -msgid "" -"net conf showshare\n" -" Show the definition of a share." -msgstr "" - -#: ../utils/net_conf.c:1205 -#, fuzzy -msgid "Create a new share." -msgstr "Utwórz Współudział" - -#: ../utils/net_conf.c:1206 -msgid "" -"net conf addshare\n" -" Create a new share." -msgstr "" - -#: ../utils/net_conf.c:1213 -#, fuzzy -msgid "Delete a share." -msgstr "Usuń Współudział" - -#: ../utils/net_conf.c:1214 -msgid "" -"net conf delshare\n" -" Delete a share." -msgstr "" - -#: ../utils/net_conf.c:1221 -#, fuzzy -msgid "Store a parameter." -msgstr "Parametry Współudziału" - -#: ../utils/net_conf.c:1222 -msgid "" -"net conf setparm\n" -" Store a parameter." -msgstr "" - -#: ../utils/net_conf.c:1229 -msgid "Retrieve the value of a parameter." -msgstr "" - -#: ../utils/net_conf.c:1230 -msgid "" -"net conf getparm\n" -" Retrieve the value of a parameter." -msgstr "" - -#: ../utils/net_conf.c:1237 -#, fuzzy -msgid "Delete a parameter." -msgstr "Usuń Drukarkę" - -#: ../utils/net_conf.c:1238 -msgid "" -"net conf delparm\n" -" Delete a parameter." -msgstr "" - -#: ../utils/net_conf.c:1245 -msgid "Show the includes of a share definition." -msgstr "" - -#: ../utils/net_conf.c:1246 -msgid "" -"net conf getincludes\n" -" Show the includes of a share definition." -msgstr "" - -#: ../utils/net_conf.c:1253 -msgid "Set includes for a share." -msgstr "" - -#: ../utils/net_conf.c:1254 -msgid "" -"net conf setincludes\n" -" Set includes for a share." -msgstr "" - -#: ../utils/net_conf.c:1261 -msgid "Delete includes from a share definition." -msgstr "" - -#: ../utils/net_conf.c:1262 -msgid "" -"net conf setincludes\n" -" Delete includes from a share definition." -msgstr "" - -#: ../utils/net_dom.c:25 -msgid "" -"usage: net dom join <domain=DOMAIN> <ou=OU> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Join a remote machine\n" -msgstr "" - -#: ../utils/net_dom.c:28 -msgid "" -"usage: net dom unjoin <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Unjoin a remote machine\n" -msgstr "" - -#: ../utils/net_dom.c:31 -msgid "" -"usage: net dom renamecomputer <newname=NEWNAME> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Rename joined computer\n" -msgstr "" - -#: ../utils/net_dom.c:91 -#, c-format -msgid "Failed to unjoin domain: %s\n" -msgstr "" - -#: ../utils/net_dom.c:97 ../utils/net_dom.c:204 -msgid "Shutting down due to a domain membership change" -msgstr "" - -#: ../utils/net_dom.c:290 -#, c-format -msgid "Failed to rename machine: " -msgstr "" - -#: ../utils/net_dom.c:292 -#, c-format -msgid "Computer is not joined to a Domain\n" -msgstr "" - -#: ../utils/net_dom.c:301 -msgid "Shutting down due to a computer rename" -msgstr "" - -#: ../utils/net_dom.c:338 -#, fuzzy -msgid "Join a remote machine" -msgstr " Zdalna Maszyna" - -#: ../utils/net_dom.c:339 -msgid "" -"net dom join <domain=DOMAIN> <ou=OU> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Join a remote machine" -msgstr "" - -#: ../utils/net_dom.c:347 -#, fuzzy -msgid "Unjoin a remote machine" -msgstr " Zdalna Maszyna" - -#: ../utils/net_dom.c:348 -msgid "" -"net dom unjoin <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Unjoin a remote machine" -msgstr "" - -#: ../utils/net_dom.c:356 -msgid "Rename a computer that is joined to a domain" -msgstr "" - -#: ../utils/net_dom.c:357 -msgid "" -"net dom renamecomputer <newname=NEWNAME> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Rename joined computer" -msgstr "" - -#: ../utils/net_eventlog.c:46 -msgid "usage: net eventlog dump <file.evt>\n" -msgstr "" - -#: ../utils/net_eventlog.c:52 ../utils/net_eventlog.c:108 -#, c-format -msgid "failed to load evt file: %s\n" -msgstr "" - -#: ../utils/net_eventlog.c:59 ../utils/net_eventlog.c:129 -#, fuzzy, c-format -msgid "evt pull failed: %s\n" -msgstr "Zarządzanie Hasłami" - -#: ../utils/net_eventlog.c:102 -msgid "usage: net eventlog import <file> <eventlog>\n" -msgstr "" - -#: ../utils/net_eventlog.c:116 -#, fuzzy, c-format -msgid "evt header pull failed: %s\n" -msgstr "Zarządzanie Hasłami" - -#: ../utils/net_eventlog.c:122 -msgid "input file is wrapped, cannot proceed\n" -msgstr "" - -#: ../utils/net_eventlog.c:138 ../utils/net_eventlog.c:203 -#, c-format -msgid "can't open the eventlog TDB (%s)\n" -msgstr "" - -#: ../utils/net_eventlog.c:158 -#, c-format -msgid "can't write to the eventlog: %s\n" -msgstr "" - -#: ../utils/net_eventlog.c:164 -#, c-format -msgid "wrote %d entries to tdb\n" -msgstr "" - -#: ../utils/net_eventlog.c:197 -msgid "usage: net eventlog export <file> <eventlog>\n" -msgstr "" - -#: ../utils/net_eventlog.c:214 -#, c-format -msgid "failed to save evt file: %s\n" -msgstr "" - -#: ../utils/net_eventlog.c:243 -msgid "Dump eventlog" -msgstr "" - -#: ../utils/net_eventlog.c:244 -msgid "" -"net eventlog dump\n" -" Dump win32 *.evt eventlog file" -msgstr "" - -#: ../utils/net_eventlog.c:251 -#, fuzzy -msgid "Import eventlog" -msgstr "Ważna Informacja:" - -#: ../utils/net_eventlog.c:252 -msgid "" -"net eventlog import\n" -" Import win32 *.evt eventlog file" -msgstr "" - -#: ../utils/net_eventlog.c:259 -msgid "Export eventlog" -msgstr "" - -#: ../utils/net_eventlog.c:260 -msgid "" -"net eventlog export\n" -" Export win32 *.evt eventlog file" -msgstr "" - -#: ../utils/net_file.c:27 -msgid "" -"net [<method>] file [misc. options] [targets]\n" -"\tlists all open files on file server\n" -msgstr "" - -#: ../utils/net_file.c:29 -msgid "" -"net [<method>] file USER <username> [misc. options] [targets]\n" -"\tlists all files opened by username on file server\n" -msgstr "" - -#: ../utils/net_file.c:32 -msgid "" -"net [<method>] file CLOSE <id> [misc. options] [targets]\n" -"\tcloses specified file on target server\n" -msgstr "" - -#: ../utils/net_file.c:34 -msgid "" -"net [rap] file INFO <id> [misc. options] [targets]\n" -"\tdisplays information about the specified open file\n" -msgstr "" - -#: ../utils/net_group.c:27 -msgid "" -"net [<method>] group [misc. options] [targets]\n" -"\tList user groups\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:29 -msgid "" -"net rpc group LIST [global|local|builtin]* [misc. options]\n" -"\tList specific user groups\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:31 -msgid "" -"net [<method>] group DELETE <name> [misc. options] [targets]\n" -"\tDelete specified group\n" -msgstr "" - -#: ../utils/net_group.c:34 -msgid "" -"\n" -"net [<method>] group ADD <name> [-C comment] [-c container] [misc. options] [targets]\n" -"\tCreate specified group\n" -msgstr "" - -#: ../utils/net_group.c:37 -msgid "" -"\n" -"net rpc group MEMBERS <name>\n" -"\tList Group Members\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:38 -msgid "" -"\n" -"net rpc group ADDMEM <group> <member>\n" -"\tAdd Group Members\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:40 -msgid "" -"\n" -"net rpc group DELMEM <group> <member>\n" -"\tDelete Group Members\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:44 -msgid "\t-C or --comment=<comment>\tdescriptive comment (for add only)\n" -msgstr "" - -#: ../utils/net_group.c:46 -msgid "\t-c or --container=<container>\tLDAP container, defaults to cn=Users (for add in ADS only)\n" -msgstr "" - -#: ../utils/net_group.c:48 -msgid "\t-L or --localgroup\t\tWhen adding groups, create a local group (alias)\n" -msgstr "" - -#: ../utils/net_groupmap.c:38 -#, c-format -msgid "NT Group %s doesn't exist in mapping DB\n" -msgstr "" - -#: ../utils/net_groupmap.c:46 -#, c-format -msgid "converting sid %s from a string failed!\n" -msgstr "" - -#: ../utils/net_groupmap.c:65 -#, c-format -msgid "\tSID : %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:66 -#, c-format -msgid "\tUnix gid : %u\n" -msgstr "" - -#: ../utils/net_groupmap.c:67 -#, c-format -msgid "\tUnix group: %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:68 -#, c-format -msgid "\tGroup type: %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:70 -#, c-format -msgid "\tComment : %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:84 -msgid "" -"net groupmap list [verbose] [ntgroup=NT group] [sid=SID]\n" -" verbose\tPrint verbose list\n" -" ntgroup\tNT group to list\n" -" sid\tSID of group to list" -msgstr "" - -#: ../utils/net_groupmap.c:91 ../utils/net_groupmap.c:271 ../utils/net_groupmap.c:356 ../utils/net_groupmap.c:412 ../utils/net_groupmap.c:495 ../utils/net_groupmap.c:522 -#, fuzzy, c-format -msgid "" -"Usage:\n" -"%s\n" -msgstr " Nazwa Użytkownika" - -#: ../utils/net_groupmap.c:106 ../utils/net_groupmap.c:213 ../utils/net_groupmap.c:220 ../utils/net_groupmap.c:365 ../utils/net_groupmap.c:372 ../utils/net_groupmap.c:504 -msgid "must supply a name\n" -msgstr "" - -#: ../utils/net_groupmap.c:113 ../utils/net_groupmap.c:227 ../utils/net_groupmap.c:511 -msgid "must supply a SID\n" -msgstr "" - -#: ../utils/net_groupmap.c:118 ../utils/net_groupmap.c:265 ../utils/net_groupmap.c:406 ../utils/net_groupmap.c:516 -#, fuzzy, c-format -msgid "Bad option: %s\n" -msgstr "Bazowe Opcje" - -#: ../utils/net_groupmap.c:139 -msgid "Failure to local group SID in the database\n" -msgstr "" - -#: ../utils/net_groupmap.c:181 -msgid "net groupmap add {rid=<int>|sid=<string>} unixgroup=<string> [type=<domain|local|builtin>] [ntgroup=<string>] [comment=<string>]" -msgstr "" - -#: ../utils/net_groupmap.c:195 -#, fuzzy, c-format -msgid "" -"Usage\n" -"%s\n" -msgstr " Nazwa Użytkownika" - -#: ../utils/net_groupmap.c:205 -#, c-format -msgid "RID must be greater than %d\n" -msgstr "" - -#: ../utils/net_groupmap.c:235 ../utils/net_groupmap.c:380 -msgid "must supply a comment string\n" -msgstr "" - -#: ../utils/net_groupmap.c:259 -#, c-format -msgid "unknown group type %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:276 -#, c-format -msgid "Can't lookup UNIX group %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:282 -#, c-format -msgid "Unix group %s already mapped to SID %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:289 -msgid "No rid or sid specified, choosing a RID\n" -msgstr "" - -#: ../utils/net_groupmap.c:292 -msgid "Could not get new RID\n" -msgstr "" - -#: ../utils/net_groupmap.c:297 -#, c-format -msgid "Got RID %d\n" -msgstr "" - -#: ../utils/net_groupmap.c:328 -#, c-format -msgid "adding entry for group %s failed!\n" -msgstr "" - -#: ../utils/net_groupmap.c:332 -#, c-format -msgid "Successfully added group %s to the mapping db as a %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:349 -msgid "net groupmap modify {ntgroup=<string>|sid=<SID>} [comment=<string>] [unixgroup=<string>] [type=<domain|local>]" -msgstr "" - -#: ../utils/net_groupmap.c:388 -msgid "must supply a group name\n" -msgstr "" - -#: ../utils/net_groupmap.c:434 -msgid "Failed to find local group SID in the database\n" -msgstr "" - -#: ../utils/net_groupmap.c:443 -msgid "Can't map to an unknown group type.\n" -msgstr "" - -#: ../utils/net_groupmap.c:449 -msgid "You can only change between domain and local groups.\n" -msgstr "" - -#: ../utils/net_groupmap.c:466 -#, c-format -msgid "Unable to lookup UNIX group %s. Make sure the group exists.\n" -msgstr "" - -#: ../utils/net_groupmap.c:476 -msgid "Could not update group database\n" -msgstr "" - -#: ../utils/net_groupmap.c:480 -#, c-format -msgid "Updated mapping entry for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:491 -msgid "net groupmap delete {ntgroup=<string>|sid=<SID>}" -msgstr "" - -#: ../utils/net_groupmap.c:532 -#, c-format -msgid "Unable to resolve group %s to a SID\n" -msgstr "" - -#: ../utils/net_groupmap.c:539 -#, c-format -msgid "Failed to remove group %s from the mapping db!\n" -msgstr "" - -#: ../utils/net_groupmap.c:544 -#, c-format -msgid "Sucessfully removed %s from the mapping db\n" -msgstr "" - -#: ../utils/net_groupmap.c:557 -msgid "Usage: net groupmap set \"NT Group\" [\"unix group\"] [-C \"comment\"] [-L] [-D]\n" -msgstr "" - -#: ../utils/net_groupmap.c:563 -msgid "Can only specify -L or -D, not both\n" -msgstr "" - -#: ../utils/net_groupmap.c:573 -#, c-format -msgid "Could not find unix group %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:594 -#, c-format -msgid "Could not find group mapping for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:605 -msgid "Could not allocate new RID\n" -msgstr "" - -#: ../utils/net_groupmap.c:622 -#, c-format -msgid "Could not add mapping entry for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:633 -#, c-format -msgid "Can't change type of the BUILTIN group %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:660 -#, c-format -msgid "Could not update group mapping for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:674 -msgid "" -"Usage:\n" -"net groupmap cleanup\n" -" Delete all group mappings\n" -msgstr "" - -#: ../utils/net_groupmap.c:682 -msgid "Could not list group mappings\n" -msgstr "" - -#: ../utils/net_groupmap.c:689 -#, c-format -msgid "Group %s is not mapped\n" -msgstr "" - -#: ../utils/net_groupmap.c:692 -#, c-format -msgid "Deleting mapping for NT Group %s, sid %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:712 -msgid "Usage: net groupmap addmem alias-sid member-sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:717 -#, c-format -msgid "Could not add sid %s to alias %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:733 -msgid "Usage: net groupmap delmem alias-sid member-sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:738 -#, c-format -msgid "Could not delete sid %s from alias %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:755 -msgid "Usage: net groupmap listmem alias-sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:764 -#, c-format -msgid "Could not list members for sid %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:791 -#, c-format -msgid "Could not list memberships for sid %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:814 -msgid "Usage: net groupmap memberof sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:820 ../utils/net_idmap.c:345 -msgid "talloc_init failed\n" -msgstr "" - -#: ../utils/net_groupmap.c:827 -msgid "Could not get domain sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:850 -msgid "Create a new group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:851 -msgid "" -"net groupmap add\n" -" Create a new group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:858 -msgid "Update a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:859 -msgid "" -"net groupmap modify\n" -" Modify an existing group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:866 -msgid "Remove a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:867 -msgid "" -"net groupmap delete\n" -" Remove a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:874 -msgid "Set group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:875 -msgid "" -"net groupmap set\n" -" Set a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:882 -msgid "Remove foreign group mapping entries" -msgstr "" - -#: ../utils/net_groupmap.c:883 -msgid "" -"net groupmap cleanup\n" -" Remove foreign group mapping entries" -msgstr "" - -#: ../utils/net_groupmap.c:890 -msgid "Add a foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:891 -msgid "" -"net groupmap addmem\n" -" Add a foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:898 -msgid "Delete foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:899 -msgid "" -"net groupmap delmem\n" -" Delete foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:906 -msgid "List foreign group members" -msgstr "" - -#: ../utils/net_groupmap.c:907 -msgid "" -"net groupmap listmem\n" -" List foreign alias members" -msgstr "" - -#: ../utils/net_groupmap.c:914 -msgid "List foreign group memberships" -msgstr "" - -#: ../utils/net_groupmap.c:915 -msgid "" -"net groupmap memberships\n" -" List foreign group memberships" -msgstr "" - -#: ../utils/net_groupmap.c:922 -msgid "List current group map" -msgstr "" - -#: ../utils/net_groupmap.c:923 -msgid "" -"net groupmap list\n" -" List current group map" -msgstr "" - -#: ../utils/net_help.c:39 -#, c-format -msgid "net %s usage:\n" -msgstr "" - -#: ../utils/net_help_common.c:25 ../utils/net_join.c:28 -msgid "Valid methods: (auto-detected if not specified)\n" -msgstr "" - -#: ../utils/net_help_common.c:26 ../utils/net_join.c:29 -msgid "\tads\t\t\t\tActive Directory (LDAP/Kerberos)\n" -msgstr "" - -#: ../utils/net_help_common.c:27 ../utils/net_join.c:30 -msgid "\trpc\t\t\t\tDCE-RPC\n" -msgstr "" - -#: ../utils/net_help_common.c:28 -msgid "\trap\t\t\t\tRAP (older systems)\n" -msgstr "" - -#: ../utils/net_help_common.c:35 -msgid "Valid targets: choose one (none defaults to localhost)\n" -msgstr "" - -#: ../utils/net_help_common.c:36 -msgid "\t-S or --server=<server>\t\tserver name\n" -msgstr "" - -#: ../utils/net_help_common.c:37 -msgid "\t-I or --ipaddress=<ipaddr>\taddress of target server\n" -msgstr "" - -#: ../utils/net_help_common.c:38 -msgid "\t-w or --workgroup=<wg>\t\ttarget workgroup or domain\n" -msgstr "" - -#: ../utils/net_help_common.c:41 -#, fuzzy -msgid "Valid miscellaneous options are:\n" -msgstr "Pozostałe Opcje" - -#. misc options -#: ../utils/net_help_common.c:42 -msgid "\t-p or --port=<port>\t\tconnection port on target\n" -msgstr "" - -#: ../utils/net_help_common.c:43 -msgid "\t-W or --myworkgroup=<wg>\tclient workgroup\n" -msgstr "" - -#: ../utils/net_help_common.c:44 -msgid "\t-d or --debuglevel=<level>\tdebug level (0-10)\n" -msgstr "" - -#: ../utils/net_help_common.c:45 -msgid "\t-n or --myname=<name>\t\tclient name\n" -msgstr "" - -#: ../utils/net_help_common.c:46 -msgid "\t-U or --user=<name>\t\tuser name\n" -msgstr "" - -#: ../utils/net_help_common.c:47 -msgid "\t-s or --configfile=<path>\tpathname of smb.conf file\n" -msgstr "" - -#: ../utils/net_help_common.c:48 -msgid "\t-l or --long\t\t\tDisplay full information\n" -msgstr "" - -#: ../utils/net_help_common.c:49 -msgid "\t-V or --version\t\t\tPrint samba version information\n" -msgstr "" - -#: ../utils/net_help_common.c:50 -msgid "\t-P or --machine-pass\t\tAuthenticate as machine account\n" -msgstr "" - -#: ../utils/net_help_common.c:52 -msgid "\t-e or --encrypt\t\t\tEncrypt SMB transport (UNIX extended servers only)\n" -msgstr "" - -#: ../utils/net_help_common.c:54 -msgid "\t-k or --kerberos\t\tUse kerberos (active directory) authentication\n" -msgstr "" - -#: ../utils/net_idmap.c:25 -msgid "Out of memory!\n" -msgstr "" - -#: ../utils/net_idmap.c:39 -#, c-format -msgid "USER HWM %d\n" -msgstr "" - -#: ../utils/net_idmap.c:44 -#, c-format -msgid "GROUP HWM %d\n" -msgstr "" - -#: ../utils/net_idmap.c:63 -msgid "" -"Usage:\n" -"net idmap dump <inputfile>\n" -" Dump current ID mapping.\n" -" inputfile\tTDB file to read mappings from.\n" -msgstr "" - -#: ../utils/net_idmap.c:73 -#, c-format -msgid "Could not open idmap: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:94 -msgid "" -"Usage:\n" -"net idmap restore [inputfile]\n" -" Restore ID mappings from file\n" -" inputfile\tFile to load ID mappings from. If not given, load data from stdin.\n" -msgstr "" - -#: ../utils/net_idmap.c:104 -msgid "To use net idmap Winbindd must be running.\n" -msgstr "" - -#: ../utils/net_idmap.c:142 -#, c-format -msgid "Could not set USER HWM: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:151 -#, c-format -msgid "Could not set GROUP HWM: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:156 -#, c-format -msgid "ignoring invalid line [%s]\n" -msgstr "" - -#: ../utils/net_idmap.c:163 -#, c-format -msgid "ignoring invalid sid [%s]: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:175 -#, c-format -msgid "Could not set mapping of %s %lu to sid %s: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:196 ../utils/net_idmap.c:202 -msgid "Not Implemented yet\n" -msgstr "" - -#: ../utils/net_idmap.c:240 -msgid "" -"Usage:\n" -"net idmap secret {<DOMAIN>|alloc} <secret>\n" -" Set the secret for the specified domain (or alloc module)\n" -" DOMAIN\tDomain to set secret for.\n" -" alloc\tSet secret for the alloc module\n" -" secret\tNew secret to set.\n" -msgstr "" - -#: ../utils/net_idmap.c:271 -msgid "The only currently supported backend is LDAP\n" -msgstr "" - -#: ../utils/net_idmap.c:281 -#, c-format -msgid "Missing ldap_user_dn option for domain %s\n" -msgstr "" - -#: ../utils/net_idmap.c:292 -msgid "Missing ldap_user_dn option for alloc backend\n" -msgstr "" - -#: ../utils/net_idmap.c:302 -msgid "Failed to store secret\n" -msgstr "" - -#: ../utils/net_idmap.c:307 -msgid "Secret stored\n" -msgstr "" - -#: ../utils/net_idmap.c:313 -msgid "" -"net idmap dump <inputfile>\n" -" Dump current id mapping\n" -msgstr "" - -#: ../utils/net_idmap.c:316 -msgid "" -"net idmap restore\n" -" Restore entries from stdin\n" -msgstr "" - -#. Deliberately *not* document net idmap delete -#: ../utils/net_idmap.c:321 -msgid "" -"net idmap secret <DOMAIN>|alloc <secret>\n" -" Set the secret for the specified DOMAIN (or the alloc module)\n" -msgstr "" - -#: ../utils/net_idmap.c:339 -msgid "usage: net idmap aclmapset <tdb> <src-sid> <dst-sid>\n" -msgstr "" - -#: ../utils/net_idmap.c:351 -#, fuzzy, c-format -msgid "db_open failed: %s\n" -msgstr "Zarządzanie Hasłami" - -#: ../utils/net_idmap.c:356 ../utils/net_idmap.c:361 -#, c-format -msgid "%s is not a valid sid\n" -msgstr "" - -#: ../utils/net_idmap.c:367 -msgid "talloc_strdup failed\n" -msgstr "" - -#: ../utils/net_idmap.c:373 -msgid "could not fetch db record\n" -msgstr "" - -#: ../utils/net_idmap.c:381 -#, c-format -msgid "could not store record: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:402 -msgid "Dump the current ID mappings" -msgstr "" - -#: ../utils/net_idmap.c:403 -msgid "" -"net idmap dump\n" -" Dump the current ID mappings" -msgstr "" - -#: ../utils/net_idmap.c:410 -msgid "Restore entries from stdin" -msgstr "" - -#: ../utils/net_idmap.c:411 -msgid "" -"net idmap restore\n" -" Restore entries from stdin" -msgstr "" - -#: ../utils/net_idmap.c:418 ../utils/net_idmap.c:426 -msgid "Not implemented yet" -msgstr "" - -#: ../utils/net_idmap.c:419 -msgid "" -"net idmap setmap\n" -" Not implemented yet" -msgstr "" - -#: ../utils/net_idmap.c:427 -msgid "" -"net idmap delete\n" -" Not implemented yet" -msgstr "" - -#: ../utils/net_idmap.c:434 -msgid "Set secret for specified domain" -msgstr "" - -#: ../utils/net_idmap.c:435 -msgid "" -"net idmap secret {<DOMAIN>|alloc} <secret>\n" -" Set secret for specified domain or alloc module" -msgstr "" - -#: ../utils/net_idmap.c:442 -msgid "Set acl map" -msgstr "" - -#: ../utils/net_idmap.c:443 -msgid "" -"net idmap aclmapset\n" -" Set acl map" -msgstr "" - -#: ../utils/net_join.c:26 -msgid "" -"\n" -"net [<method>] join [misc. options]\n" -"\tjoins this server to a domain\n" -msgstr "" - -#: ../utils/net_join.c:47 -msgid "ADS join did not work, falling back to RPC...\n" -msgstr "" - -#: ../utils/net_lookup.c:25 -msgid "" -" net lookup [host] HOSTNAME[#<type>]\n" -"\tgives IP for a hostname\n" -"\n" -" net lookup ldap [domain]\n" -"\tgives IP of domain's ldap server\n" -"\n" -" net lookup kdc [realm]\n" -"\tgives IP of realm's kerberos KDC\n" -"\n" -" net lookup pdc [domain|realm]\n" -"\tgives IP of realm's kerberos KDC\n" -"\n" -" net lookup dc [domain]\n" -"\tgives IP of domains Domain Controllers\n" -"\n" -" net lookup master [domain|wg]\n" -"\tgive IP of master browser\n" -"\n" -" net lookup name [name]\n" -"\tLookup name's sid and type\n" -"\n" -" net lookup sid [sid]\n" -"\tGive sid's name and type\n" -"\n" -" net lookup dsgetdcname [name] [flags] [sitename]\n" -"\n" -msgstr "" - -#: ../utils/net_lookup.c:112 -msgid "net_lookup_ldap: talloc_init() failed!\n" -msgstr "" - -#: ../utils/net_lookup.c:325 -msgid "usage: net lookup name <name>\n" -msgstr "" - -#: ../utils/net_lookup.c:331 ../utils/net_lookup.c:358 -#, c-format -msgid "Could not lookup name %s\n" -msgstr "" - -#: ../utils/net_lookup.c:347 -msgid "usage: net lookup sid <sid>\n" -msgstr "" - -#: ../utils/net_lookup.c:352 -#, c-format -msgid "Could not convert %s to SID\n" -msgstr "" - -#: ../utils/net_lookup.c:378 -msgid "usage: net lookup dsgetdcname <name> <flags> <sitename>\n" -msgstr "" - -#: ../utils/net_lookup.c:404 -#, c-format -msgid "failed with: %s\n" -msgstr "" - -#: ../utils/net_lookup.c:437 -msgid "" -"\n" -"Usage: \n" -msgstr "" - -#: ../utils/net_lua.c:60 -msgid "connect: Expected IP-Address" -msgstr "" - -#: ../utils/net_lua.c:65 -msgid "connect: Expected port" -msgstr "" - -#: ../utils/net_lua.c:84 -#, fuzzy, c-format -msgid "connect failed: %s" -msgstr "Zarządzanie Hasłami" - -#: ../utils/net_lua.c:132 -#, c-format -msgid "socket domain %s unknown" -msgstr "" - -#: ../utils/net_lua.c:144 -#, c-format -msgid "socket type %s unknown" -msgstr "" - -#: ../utils/net_lua.c:155 -#, fuzzy, c-format -msgid "socket() failed: %s" -msgstr "Zarządzanie Hasłami" - -#: ../utils/net_lua.c:278 -msgid "evt_reference_thread failed\n" -msgstr "" - -#: ../utils/net_lua.c:287 -msgid "event_add_timed failed" -msgstr "" - -#: ../utils/net_lua.c:300 -msgid "event_once called from non-base thread" -msgstr "" - -#: ../utils/net_lua.c:323 -msgid "event_context_init failed" -msgstr "" - -#: ../utils/net_lua.c:353 -msgid "lua_newstate failed\n" -msgstr "" - -#: ../utils/net_lua.c:371 -msgid "luaL_dofile returned an error\n" -msgstr "" - -#: ../utils/net_lua.c:376 -msgid "luaL_dostring returned an error\n" -msgstr "" diff --git a/source3/po/ru.msg b/source3/po/ru.msg index 4de02a6636..d859406ccb 100644 --- a/source3/po/ru.msg +++ b/source3/po/ru.msg @@ -18,7 +18,7 @@ msgid "" msgstr "" "Project-Id-Version: swat\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-07-30 12:18+0200\n" +"POT-Creation-Date: 2007-06-04 18:15+0200\n" "PO-Revision-Date: 2007-06-27 22:00+0400\n" "Last-Translator: Yuri Kozlov <kozlov.y@gmail.com>\n" "Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n" @@ -28,4014 +28,579 @@ msgstr "" "X-Generator: KBabel 1.11.4\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -#: ../web/swat.c:153 +#: ../web/swat.c:139 #, c-format msgid "ERROR: Can't open %s" msgstr "ОШИБКА: Не удалось открыть %s" -#: ../web/swat.c:241 +#: ../web/swat.c:223 msgid "Help" msgstr "Справка" -#: ../web/swat.c:247 ../web/swat.c:272 ../web/swat.c:293 ../web/swat.c:302 ../web/swat.c:311 ../web/swat.c:317 ../web/swat.c:329 ../web/swat.c:343 +#: ../web/swat.c:229 ../web/swat.c:254 ../web/swat.c:275 ../web/swat.c:285 ../web/swat.c:294 ../web/swat.c:303 ../web/swat.c:309 ../web/swat.c:315 ../web/swat.c:328 msgid "Set Default" msgstr "Установить по умолчанию" -#: ../web/swat.c:465 +#: ../web/swat.c:450 #, c-format msgid "failed to open %s for writing" msgstr "не удалось открыть %s для записи" -#: ../web/swat.c:488 +#: ../web/swat.c:473 #, c-format msgid "Can't reload %s" msgstr "Невозможно перезагрузить %s" -#: ../web/swat.c:561 +#: ../web/swat.c:543 #, c-format msgid "Logged in as <b>%s</b>" msgstr "Осуществлён вход под именем <b>%s</b>" -#: ../web/swat.c:565 +#: ../web/swat.c:547 msgid "Home" msgstr "Главная" -#: ../web/swat.c:567 +#: ../web/swat.c:549 msgid "Globals" msgstr "Глобальные" -#: ../web/swat.c:568 +#: ../web/swat.c:550 msgid "Shares" msgstr "Ресурсы" -#: ../web/swat.c:569 +#: ../web/swat.c:551 msgid "Printers" msgstr "Принтеры" -#: ../web/swat.c:570 +#: ../web/swat.c:552 msgid "Wizard" msgstr "Помощник" -#: ../web/swat.c:574 +#: ../web/swat.c:556 msgid "Status" msgstr "Состояние" -#: ../web/swat.c:575 +#: ../web/swat.c:557 msgid "View Config" msgstr "Настройки" -#: ../web/swat.c:577 +#: ../web/swat.c:559 msgid "Password Management" msgstr "Пароли" -#: ../web/swat.c:587 +#: ../web/swat.c:569 msgid "Current View Is" msgstr "Текущий вид" -#: ../web/swat.c:588 ../web/swat.c:591 +#: ../web/swat.c:570 ../web/swat.c:573 msgid "Basic" msgstr "Простой" -#: ../web/swat.c:589 ../web/swat.c:592 +#: ../web/swat.c:571 ../web/swat.c:574 msgid "Advanced" msgstr "Сложный" -#: ../web/swat.c:590 +#: ../web/swat.c:572 msgid "Change View To" msgstr "Сменить вид на" -#: ../web/swat.c:619 +#: ../web/swat.c:601 msgid "Current Config" msgstr "Текущий файл конфигурации" -#: ../web/swat.c:623 +#: ../web/swat.c:605 msgid "Normal View" msgstr "Обычный вид" -#: ../web/swat.c:625 +#: ../web/swat.c:607 msgid "Full View" msgstr "Полный вид" #. Here we first set and commit all the parameters that were selected #. in the previous screen. -#: ../web/swat.c:644 +#: ../web/swat.c:626 msgid "Wizard Parameter Edit Page" msgstr "Страница редактирования параметров помощника" -#: ../web/swat.c:673 +#: ../web/swat.c:655 msgid "Note: smb.conf file has been read and rewritten" msgstr "Замечание: файл smb.conf был прочитан и перезаписан" #. Here we go ... -#: ../web/swat.c:779 +#: ../web/swat.c:763 msgid "Samba Configuration Wizard" msgstr "Помощник настройки Samba" -#: ../web/swat.c:783 +#: ../web/swat.c:767 msgid "The \"Rewrite smb.conf file\" button will clear the smb.conf file of all default values and of comments." -msgstr "По кнопке \"Перезаписать файл smb.conf\" в файл smb.conf записываются все значения по умолчанию с комментариями." +msgstr "" +"По кнопке \"Перезаписать файл smb.conf\" в файл smb.conf записываются все " +"значения по умолчанию с комментариями." -#: ../web/swat.c:784 +#: ../web/swat.c:768 msgid "The same will happen if you press the commit button." msgstr "То же самое произойдёт при нажатии кнопки сохранения." -#: ../web/swat.c:787 +#: ../web/swat.c:771 msgid "Rewrite smb.conf file" msgstr "Перезаписать файл smb.conf" -#: ../web/swat.c:788 +#: ../web/swat.c:772 msgid "Commit" msgstr "Сохранить" -#: ../web/swat.c:789 +#: ../web/swat.c:773 msgid "Edit Parameter Values" msgstr "Редактировать значения параметров" -#: ../web/swat.c:795 +#: ../web/swat.c:779 msgid "Server Type" msgstr "Тип сервера" -#: ../web/swat.c:796 +#: ../web/swat.c:780 msgid "Stand Alone" msgstr "Независимый" -#: ../web/swat.c:797 +#: ../web/swat.c:781 msgid "Domain Member" msgstr "Член домена" -#: ../web/swat.c:798 +#: ../web/swat.c:782 msgid "Domain Controller" msgstr "Контроллер домена" -#: ../web/swat.c:801 +#: ../web/swat.c:785 msgid "Unusual Type in smb.conf - Please Select New Mode" msgstr "Необычный тип в smb.conf - Выберите новый режим" -#: ../web/swat.c:803 +#: ../web/swat.c:787 msgid "Configure WINS As" msgstr "Настроить WINS как" -#: ../web/swat.c:804 +#: ../web/swat.c:788 msgid "Not Used" msgstr "Не использовать" -#: ../web/swat.c:805 +#: ../web/swat.c:789 msgid "Server for client use" msgstr "Сервер для клиентов" -#: ../web/swat.c:806 +#: ../web/swat.c:790 msgid "Client of another WINS server" msgstr "Клиент другого сервера WINS" -#: ../web/swat.c:808 +#: ../web/swat.c:792 msgid "Remote WINS Server" msgstr "Удалённый сервер WINS" -#: ../web/swat.c:819 +#: ../web/swat.c:803 msgid "Error: WINS Server Mode and WINS Support both set in smb.conf" msgstr "Ошибка: в smb.conf установлены одновременно режим сервера WINS и поддержка WINS" -#: ../web/swat.c:820 +#: ../web/swat.c:804 msgid "Please Select desired WINS mode above." msgstr "Выберите желаемый режим WINS." -#: ../web/swat.c:822 +#: ../web/swat.c:806 msgid "Expose Home Directories" msgstr "Сделать доступными домашние каталоги" -#: ../web/swat.c:837 +#: ../web/swat.c:821 msgid "The above configuration options will set multiple parameters and will generally assist with rapid Samba deployment." -msgstr "Выбор параметров выше приводит к автоматической настройке большего числа параметров, и помогает в сокращении времени развёртывания Samba." +msgstr "" +"Выбор параметров выше приводит к автоматической настройке большего числа " +"параметров, и помогает в сокращении времени развёртывания Samba." -#: ../web/swat.c:850 +#: ../web/swat.c:834 msgid "Global Parameters" msgstr "Глобальные параметры" -#: ../web/swat.c:878 ../web/swat.c:986 ../web/swat.c:1344 +#: ../web/swat.c:862 ../web/swat.c:966 ../web/swat.c:1318 msgid "Commit Changes" msgstr "Сохранить изменения" -#: ../web/swat.c:882 ../web/swat.c:989 ../web/swat.c:1346 +#: ../web/swat.c:866 ../web/swat.c:969 ../web/swat.c:1320 msgid "Reset Values" msgstr "Реинициализировать значения" -#: ../web/swat.c:908 +#: ../web/swat.c:891 msgid "Share Parameters" msgstr "Параметры общих ресурсов" -#: ../web/swat.c:955 +#: ../web/swat.c:934 msgid "Choose Share" msgstr "Выбрать ресурс" -#: ../web/swat.c:971 +#: ../web/swat.c:951 msgid "Delete Share" msgstr "Удалить ресурс" -#: ../web/swat.c:978 +#: ../web/swat.c:958 msgid "Create Share" msgstr "Создать ресурс" -#: ../web/swat.c:1014 +#: ../web/swat.c:994 msgid "password change in demo mode rejected" msgstr "смена пароля в демо-режиме не работает" -#: ../web/swat.c:1028 +#: ../web/swat.c:1007 msgid "Can't setup password database vectors." msgstr "Не удалось настроить векторы базы данных паролей." -#: ../web/swat.c:1056 +#: ../web/swat.c:1033 msgid " Must specify \"User Name\" " msgstr " Должно быть указано \"Имя пользователя\" " -#: ../web/swat.c:1072 +#: ../web/swat.c:1049 msgid " Must specify \"Old Password\" " msgstr " Должен быть указан \"Старый пароль\" " -#: ../web/swat.c:1078 +#: ../web/swat.c:1055 msgid " Must specify \"Remote Machine\" " msgstr " Должна быть указана \"Удалённая машина\" " -#: ../web/swat.c:1085 +#: ../web/swat.c:1062 msgid " Must specify \"New, and Re-typed Passwords\" " msgstr " Должен быть указан \"Новый пароль, введённый дважды\" " -#: ../web/swat.c:1091 +#: ../web/swat.c:1068 msgid " Re-typed password didn't match new password " msgstr " Повторно набранный новый пароль не совпадает с новым паролем " -#: ../web/swat.c:1124 +#: ../web/swat.c:1101 #, c-format msgid " The passwd for '%s' has been changed." msgstr " Был изменён пароль для '%s'." -#: ../web/swat.c:1127 +#: ../web/swat.c:1104 #, c-format msgid " The passwd for '%s' has NOT been changed." msgstr " Пароль для '%s' НЕ был изменён." -#: ../web/swat.c:1152 +#: ../web/swat.c:1129 msgid "Server Password Management" msgstr "Управление паролями сервера" #. #. * Create all the dialog boxes for data collection #. -#: ../web/swat.c:1161 ../web/swat.c:1208 +#: ../web/swat.c:1138 ../web/swat.c:1185 msgid "User Name" msgstr "Имя пользователя" -#: ../web/swat.c:1164 ../web/swat.c:1210 +#: ../web/swat.c:1141 ../web/swat.c:1187 msgid "Old Password" msgstr "Старый пароль" -#: ../web/swat.c:1167 ../web/swat.c:1212 +#: ../web/swat.c:1144 ../web/swat.c:1189 msgid "New Password" msgstr "Новый пароль" -#: ../web/swat.c:1169 ../web/swat.c:1214 +#: ../web/swat.c:1146 ../web/swat.c:1191 msgid "Re-type New Password" msgstr "Новый пароль ещё раз" -#: ../web/swat.c:1177 ../web/swat.c:1225 +#: ../web/swat.c:1154 ../web/swat.c:1202 msgid "Change Password" msgstr "Сменить пароль" -#: ../web/swat.c:1180 +#: ../web/swat.c:1157 msgid "Add New User" msgstr "Добавить нового пользователя" -#: ../web/swat.c:1182 +#: ../web/swat.c:1159 msgid "Delete User" msgstr "Удалить пользователя" -#: ../web/swat.c:1184 +#: ../web/swat.c:1161 msgid "Disable User" msgstr "Заблокировать пользователя" -#: ../web/swat.c:1186 +#: ../web/swat.c:1163 msgid "Enable User" msgstr "Разблокировать пользователя" -#: ../web/swat.c:1199 +#: ../web/swat.c:1176 msgid "Client/Server Password Management" msgstr "Управление паролями в режиме клиент/сервер" -#: ../web/swat.c:1216 +#: ../web/swat.c:1193 msgid "Remote Machine" msgstr "Удалённая машина" -#: ../web/swat.c:1255 +#: ../web/swat.c:1232 msgid "Printer Parameters" msgstr "Параметры принтера" -#: ../web/swat.c:1257 +#: ../web/swat.c:1234 msgid "Important Note:" msgstr "Важное замечание:" -#: ../web/swat.c:1258 +#: ../web/swat.c:1235 +#, c-format msgid "Printer names marked with [*] in the Choose Printer drop-down box " msgstr "Имена принтеров, помеченные [*] в выпадающем списке принтеров, " -#: ../web/swat.c:1259 +#: ../web/swat.c:1236 +#, c-format msgid "are autoloaded printers from " msgstr "были автоматически загружены согласно параметру " -#: ../web/swat.c:1260 +#: ../web/swat.c:1237 msgid "Printcap Name" msgstr "Printcap Name" -#: ../web/swat.c:1261 +#: ../web/swat.c:1238 msgid "Attempting to delete these printers from SWAT will have no effect." msgstr ". Попытка удалить эти принтеры из SWAT ни к чему не приведёт." -#: ../web/swat.c:1310 +#: ../web/swat.c:1284 msgid "Choose Printer" msgstr "Выбрать принтер" -#: ../web/swat.c:1329 +#: ../web/swat.c:1303 msgid "Delete Printer" msgstr "Удалить принтер" -#: ../web/swat.c:1336 +#: ../web/swat.c:1310 msgid "Create Printer" msgstr "Создать принтер" -#: ../web/statuspage.c:151 +#: ../web/statuspage.c:139 msgid "RDWR " msgstr "RDWR " -#: ../web/statuspage.c:153 +#: ../web/statuspage.c:141 msgid "WRONLY " msgstr "WRONLY " -#: ../web/statuspage.c:155 +#: ../web/statuspage.c:143 msgid "RDONLY " msgstr "RDONLY " -#: ../web/statuspage.c:329 +#: ../web/statuspage.c:330 msgid "Server Status" msgstr "Состояние сервера" -#: ../web/statuspage.c:334 +#: ../web/statuspage.c:335 msgid "Auto Refresh" msgstr "Включить автообновление" -#: ../web/statuspage.c:335 ../web/statuspage.c:340 +#: ../web/statuspage.c:336 ../web/statuspage.c:341 msgid "Refresh Interval: " msgstr "Интервал автообновления: " -#: ../web/statuspage.c:339 +#: ../web/statuspage.c:340 msgid "Stop Refreshing" msgstr "Выключить автообновление" -#: ../web/statuspage.c:348 +#: ../web/statuspage.c:355 msgid "version:" msgstr "версия:" -#: ../web/statuspage.c:351 +#: ../web/statuspage.c:358 msgid "smbd:" msgstr "smbd:" -#: ../web/statuspage.c:351 ../web/statuspage.c:364 ../web/statuspage.c:378 +#: ../web/statuspage.c:358 ../web/statuspage.c:371 ../web/statuspage.c:385 msgid "running" msgstr "работает" -#: ../web/statuspage.c:351 ../web/statuspage.c:364 ../web/statuspage.c:378 +#: ../web/statuspage.c:358 ../web/statuspage.c:371 ../web/statuspage.c:385 msgid "not running" msgstr "не работает" -#: ../web/statuspage.c:355 +#: ../web/statuspage.c:362 msgid "Stop smbd" msgstr "Остановить smbd" -#: ../web/statuspage.c:357 +#: ../web/statuspage.c:364 msgid "Start smbd" msgstr "Запустить smbd" -#: ../web/statuspage.c:359 +#: ../web/statuspage.c:366 msgid "Restart smbd" msgstr "Перезапустить smbd" -#: ../web/statuspage.c:364 +#: ../web/statuspage.c:371 msgid "nmbd:" msgstr "nmbd:" -#: ../web/statuspage.c:368 +#: ../web/statuspage.c:375 msgid "Stop nmbd" msgstr "Остановить nmbd" -#: ../web/statuspage.c:370 +#: ../web/statuspage.c:377 msgid "Start nmbd" msgstr "Запустить nmbd" -#: ../web/statuspage.c:372 +#: ../web/statuspage.c:379 msgid "Restart nmbd" msgstr "Перезапустить nmbd" -#: ../web/statuspage.c:378 +#: ../web/statuspage.c:385 msgid "winbindd:" msgstr "winbindd:" -#: ../web/statuspage.c:382 +#: ../web/statuspage.c:389 msgid "Stop winbindd" msgstr "Остановить winbindd" -#: ../web/statuspage.c:384 +#: ../web/statuspage.c:391 msgid "Start winbindd" msgstr "Запустить winbindd" -#: ../web/statuspage.c:386 +#: ../web/statuspage.c:393 msgid "Restart winbindd" msgstr "Перезапустить winbindd" #. stop, restart all -#: ../web/statuspage.c:395 +#: ../web/statuspage.c:402 msgid "Stop All" msgstr "Остановить всё" -#: ../web/statuspage.c:396 +#: ../web/statuspage.c:403 msgid "Restart All" msgstr "Перезапустить всё" #. start all -#: ../web/statuspage.c:400 +#: ../web/statuspage.c:407 msgid "Start All" msgstr "Запустить всё" -#: ../web/statuspage.c:407 +#: ../web/statuspage.c:414 msgid "Active Connections" msgstr "Активные подключения" -#: ../web/statuspage.c:409 ../web/statuspage.c:422 ../web/statuspage.c:431 +#: ../web/statuspage.c:416 ../web/statuspage.c:429 ../web/statuspage.c:437 msgid "PID" msgstr "PID" -#: ../web/statuspage.c:409 ../web/statuspage.c:422 +#: ../web/statuspage.c:416 ../web/statuspage.c:429 msgid "Client" msgstr "Клиент" -#: ../web/statuspage.c:409 +#: ../web/statuspage.c:416 msgid "IP address" msgstr "IP-адрес" -#: ../web/statuspage.c:409 ../web/statuspage.c:422 ../web/statuspage.c:431 +#: ../web/statuspage.c:416 ../web/statuspage.c:429 ../web/statuspage.c:437 msgid "Date" msgstr "Дата" -#: ../web/statuspage.c:411 +#: ../web/statuspage.c:418 msgid "Kill" msgstr "Отключить" -#: ../web/statuspage.c:419 +#: ../web/statuspage.c:426 msgid "Active Shares" msgstr "Активные ресурсы" -#: ../web/statuspage.c:422 +#: ../web/statuspage.c:429 msgid "Share" msgstr "Ресурс" -#: ../web/statuspage.c:422 +#: ../web/statuspage.c:429 msgid "User" msgstr "Пользователь" -#: ../web/statuspage.c:422 +#: ../web/statuspage.c:429 msgid "Group" msgstr "Группа" -#: ../web/statuspage.c:428 +#: ../web/statuspage.c:435 msgid "Open Files" msgstr "Открытые файлы" -#: ../web/statuspage.c:431 -#, fuzzy -msgid "UID" -msgstr "PID" - -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:437 msgid "Sharing" msgstr "Ресурс" -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:437 msgid "R/W" msgstr "R/W" -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:437 msgid "Oplock" msgstr "Oplock" -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:437 msgid "File" msgstr "Файл" -#: ../web/statuspage.c:438 +#: ../web/statuspage.c:446 msgid "Show Client in col 1" msgstr "Показать клиента в колонке 1" -#: ../web/statuspage.c:439 +#: ../web/statuspage.c:447 msgid "Show PID in col 1" msgstr "Показать PID в колонке 1" -#: ../param/loadparm.c:907 +#: ../param/loadparm.c:836 msgid "Base Options" msgstr "Основные параметры" -#: ../param/loadparm.c:1047 +#: ../param/loadparm.c:855 msgid "Security Options" msgstr "Параметры безопасности" -#: ../param/loadparm.c:1800 +#: ../param/loadparm.c:945 msgid "Logging Options" msgstr "Параметры журнала" -#: ../param/loadparm.c:1929 +#: ../param/loadparm.c:962 msgid "Protocol Options" msgstr "Параметры протокола" -#: ../param/loadparm.c:2301 +#: ../param/loadparm.c:1008 msgid "Tuning Options" msgstr "Параметры детальной настройки" -#: ../param/loadparm.c:2538 +#: ../param/loadparm.c:1037 msgid "Printing Options" msgstr "Параметры печати" -#: ../param/loadparm.c:2858 +#: ../param/loadparm.c:1075 msgid "Filename Handling" msgstr "Обработка имён файлов" -#: ../param/loadparm.c:3088 +#: ../param/loadparm.c:1105 msgid "Domain Options" msgstr "Параметры домена" -#: ../param/loadparm.c:3100 +#: ../param/loadparm.c:1109 msgid "Logon Options" msgstr "Параметры входа" -#: ../param/loadparm.c:3273 +#: ../param/loadparm.c:1130 msgid "Browse Options" msgstr "Параметры обзора" -#: ../param/loadparm.c:3384 +#: ../param/loadparm.c:1144 msgid "WINS Options" msgstr "Параметры WINS" -#: ../param/loadparm.c:3432 +#: ../param/loadparm.c:1153 msgid "Locking Options" msgstr "Параметры блокировки" -#: ../param/loadparm.c:3552 +#: ../param/loadparm.c:1170 msgid "Ldap Options" msgstr "Параметры Ldap" -#: ../param/loadparm.c:3708 -msgid "EventLog Options" -msgstr "Параметры EventLog" - -#: ../param/loadparm.c:3720 +#: ../param/loadparm.c:1186 msgid "Miscellaneous Options" msgstr "Различные параметры" -#: ../param/loadparm.c:4301 -msgid "VFS module options" -msgstr "Параметры модуля VFS" +#: ../param/loadparm.c:1191 +msgid "EventLog Options" +msgstr "Параметры EventLog" -#: ../param/loadparm.c:4323 -#, fuzzy -msgid "MSDFS options" +#: ../param/loadparm.c:1258 +msgid "VFS module options" msgstr "Параметры модуля VFS" -#: ../param/loadparm.c:4353 +#: ../param/loadparm.c:1268 msgid "Winbind options" msgstr "Параметры Winbind" -#: ../utils/net.c:103 -msgid "Enter machine password: " -msgstr "" - -#: ../utils/net.c:107 -msgid "Unable to write the machine account password in the secrets database" -msgstr "" - -#: ../utils/net.c:111 -msgid "Modified trust account password in secrets database\n" -msgstr "" - -#: ../utils/net.c:115 -msgid "" -"Machine account password change requires the -f flag.\n" -"Do NOT use this function unless you know what it does!\n" -"This function will change the ADS Domain member machine account password in the secrets.tdb file!\n" -msgstr "" - -#: ../utils/net.c:150 ../utils/net.c:228 -#, c-format -msgid "Unable to open secrets.tdb. Can't fetch domain SID for name: %s\n" -msgstr "" - -#: ../utils/net.c:163 ../utils/net.c:251 -#, c-format -msgid "SID for domain %s is: %s\n" -msgstr "" - -#: ../utils/net.c:175 -msgid "usage: net setlocalsid S-1-5-21-x-y-z\n" -msgstr "" - -#: ../utils/net.c:195 -msgid "usage: net setdomainsid S-1-5-21-x-y-z\n" -msgstr "" - -#: ../utils/net.c:213 -msgid "usage: net getdomainsid\n" -msgstr "" - -#: ../utils/net.c:238 -msgid "Could not fetch local SID\n" -msgstr "" - -#: ../utils/net.c:242 -#, c-format -msgid "SID for local machine %s is: %s\n" -msgstr "" - -#: ../utils/net.c:246 -msgid "Could not fetch domain SID\n" -msgstr "" - -#: ../utils/net.c:263 -#, c-format -msgid "get_maxrid: Could not search %s\n" -msgstr "" - -#: ../utils/net.c:297 -msgid "usage: net maxrid\n" -msgstr "" - -#: ../utils/net.c:302 -msgid "can't get current maximum rid\n" -msgstr "" - -#: ../utils/net.c:306 -#, c-format -msgid "Currently used maximum rid: %d\n" -msgstr "" - -#: ../utils/net.c:317 -msgid "Run functions using RPC transport" -msgstr "" - -#: ../utils/net.c:318 -msgid " Use 'net help rpc' to get more extensive information about 'net rpc' commands." -msgstr "" - -#: ../utils/net.c:325 -msgid "Run functions using RAP transport" -msgstr "" - -#: ../utils/net.c:326 -msgid " Use 'net help rap' to get more extensive information about 'net rap' commands." -msgstr "" - -#: ../utils/net.c:333 -msgid "Run functions using ADS transport" -msgstr "" - -#: ../utils/net.c:334 -msgid " Use 'net help ads' to get more extensive information about 'net ads' commands." -msgstr "" - -#: ../utils/net.c:343 -msgid "Functions on remote opened files" -msgstr "" - -#: ../utils/net.c:344 -msgid " Use 'net help file' to get more information about 'net file' commands." -msgstr "" - -#: ../utils/net.c:351 -msgid "Functions on shares" -msgstr "" - -#: ../utils/net.c:352 -msgid " Use 'net help share' to get more information about 'net share' commands." -msgstr "" - -#: ../utils/net.c:359 -msgid "Manage sessions" -msgstr "" - -#: ../utils/net.c:360 -msgid " Use 'net help session' to get more information about 'net session' commands." -msgstr "" - -#: ../utils/net.c:367 -msgid "List servers in workgroup" -msgstr "" - -#: ../utils/net.c:368 -msgid " Use 'net help server' to get more information about 'net server' commands." -msgstr "" - -#: ../utils/net.c:375 -msgid "List domains/workgroups on network" -msgstr "" - -#: ../utils/net.c:376 -msgid " Use 'net help domain' to get more information about 'net domain' commands." -msgstr "" - -#: ../utils/net.c:383 -msgid "Modify printer queue" -msgstr "" - -#: ../utils/net.c:384 -msgid " Use 'net help printq' to get more information about 'net printq' commands." -msgstr "" - -#: ../utils/net.c:391 -#, fuzzy -msgid "Manage users" -msgstr "Разблокировать пользователя" - -#: ../utils/net.c:392 -msgid " Use 'net help user' to get more information about 'net user' commands." -msgstr "" - -#: ../utils/net.c:399 -msgid "Manage groups" -msgstr "" - -#: ../utils/net.c:400 -msgid " Use 'net help group' to get more information about 'net group' commands." -msgstr "" - -#: ../utils/net.c:407 -msgid "Manage group mappings" -msgstr "" - -#: ../utils/net.c:408 -msgid " Use 'net help groupmap' to get more information about 'net groupmap' commands." -msgstr "" - -#: ../utils/net.c:415 -msgid "Functions on the SAM database" -msgstr "" - -#: ../utils/net.c:416 -msgid " Use 'net help sam' to get more information about 'net sam' commands." -msgstr "" - -#: ../utils/net.c:423 -msgid "Validate username and password" -msgstr "" - -#: ../utils/net.c:424 -msgid " Use 'net help validate' to get more information about 'net validate' commands." -msgstr "" - -#: ../utils/net.c:431 -msgid "Modify group memberships" -msgstr "" - -#: ../utils/net.c:432 -msgid " Use 'net help groupmember' to get more information about 'net groupmember' commands." -msgstr "" - -#: ../utils/net.c:438 -msgid "Execute remote command on a remote OS/2 server" -msgstr "" - -#: ../utils/net.c:439 -msgid " Use 'net help admin' to get more information about 'net admin' commands." -msgstr "" - -#: ../utils/net.c:445 -msgid "List/modify running services" -msgstr "" - -#: ../utils/net.c:446 -msgid " Use 'net help service' to get more information about 'net service' commands." -msgstr "" - -#: ../utils/net.c:453 -#, fuzzy -msgid "Change user password on target server" -msgstr "Не удалось настроить векторы базы данных паролей." - -#: ../utils/net.c:454 -msgid " Use 'net help password' to get more information about 'net password' commands." -msgstr "" - -#: ../utils/net.c:460 -#, fuzzy -msgid "Change the trust password" -msgstr "Сменить пароль" - -#: ../utils/net.c:461 -msgid " Use 'net help changetrustpw' to get more information about 'net changetrustpw'." -msgstr "" - -#: ../utils/net.c:467 -#, fuzzy -msgid "Change the secret password" -msgstr "Сменить пароль" - -#: ../utils/net.c:468 -msgid "" -" net [options] changesecretpw\n" -" Change the ADS domain member machine account password in secrets.tdb.\n" -" Do NOT use this function unless you know what it does.\n" -" Requires the -f flag to work." -msgstr "" - -#: ../utils/net.c:477 -msgid "Show/set time" -msgstr "" - -#: ../utils/net.c:478 -msgid " Use 'net help time' to get more information about 'net time' commands." -msgstr "" - -#: ../utils/net.c:484 -msgid "Look up host names/IP addresses" -msgstr "" - -#: ../utils/net.c:485 -msgid " Use 'net help lookup' to get more information about 'net lookup' commands." -msgstr "" - -#: ../utils/net.c:491 -msgid "Join a domain/AD" -msgstr "" - -#: ../utils/net.c:492 -msgid " Use 'net help join' to get more information about 'net join'." -msgstr "" - -#: ../utils/net.c:498 -msgid "Join/unjoin (remote) machines to/from a domain/AD" -msgstr "" - -#: ../utils/net.c:499 -msgid " Use 'net help dom' to get more information about 'net dom' commands." -msgstr "" - -#: ../utils/net.c:505 -msgid "Operate on the cache tdb file" -msgstr "" - -#: ../utils/net.c:506 -msgid " Use 'net help cache' to get more information about 'net cache' commands." -msgstr "" - -#: ../utils/net.c:512 -msgid "Get the SID for the local domain" -msgstr "" - -#: ../utils/net.c:513 -msgid " net getlocalsid" -msgstr "" - -#: ../utils/net.c:518 -msgid "Set the SID for the local domain" -msgstr "" - -#: ../utils/net.c:519 -msgid " net setlocalsid S-1-5-21-x-y-z" -msgstr "" - -#: ../utils/net.c:524 -msgid "Set domain SID on member servers" -msgstr "" - -#: ../utils/net.c:525 -msgid " net setdomainsid S-1-5-21-x-y-z" -msgstr "" - -#: ../utils/net.c:530 -msgid "Get domain SID on member servers" -msgstr "" - -#: ../utils/net.c:531 -msgid " net getdomainsid" -msgstr "" - -#: ../utils/net.c:536 -msgid "Display the maximul RID currently used" -msgstr "" - -#: ../utils/net.c:537 -msgid " net maxrid" -msgstr "" - -#: ../utils/net.c:542 -#, fuzzy -msgid "IDmap functions" -msgstr "Параметры домена" - -#: ../utils/net.c:543 -msgid " Use 'net help idmap to get more information about 'net idmap' commands." -msgstr "" - -#: ../utils/net.c:549 -#, fuzzy -msgid "Display server status" -msgstr "Состояние сервера" - -#: ../utils/net.c:550 -msgid " Use 'net help status' to get more information about 'net status' commands." -msgstr "" - -#: ../utils/net.c:556 -msgid "Manage user-modifiable shares" -msgstr "" - -#: ../utils/net.c:557 -msgid " Use 'net help usershare to get more information about 'net usershare' commands." -msgstr "" - -#: ../utils/net.c:563 -msgid "Display list of all users with SID" -msgstr "" - -#: ../utils/net.c:564 -msgid " Use 'net help usersidlist' to get more information about 'net usersidlist'." -msgstr "" - -#: ../utils/net.c:570 -msgid "Manage Samba registry based configuration" -msgstr "" - -#: ../utils/net.c:571 -msgid " Use 'net help conf' to get more information about 'net conf' commands." -msgstr "" - -#: ../utils/net.c:577 -msgid "Manage the Samba registry" -msgstr "" - -#: ../utils/net.c:578 -msgid " Use 'net help registry' to get more information about 'net registry' commands." -msgstr "" - -#: ../utils/net.c:584 -msgid "Open a lua interpreter" -msgstr "" - -#: ../utils/net.c:585 -msgid " Use 'net help lua' to get more information about 'net lua' commands." -msgstr "" - -#: ../utils/net.c:591 -msgid "Process Win32 *.evt eventlog files" -msgstr "" - -#: ../utils/net.c:592 -msgid " Use 'net help eventlog' to get more information about 'net eventlog' commands." -msgstr "" - -#: ../utils/net.c:600 -msgid "Manage AFS tokens" -msgstr "" - -#: ../utils/net.c:601 -msgid " Use 'net help afs' to get more information about 'net afs' commands." -msgstr "" - -#: ../utils/net.c:609 -msgid "Print usage information" -msgstr "" - -#: ../utils/net.c:610 -msgid " Use 'net help help' to list usage information for 'net' commands." -msgstr "" - -#: ../utils/net.c:639 -msgid "Encrypt SMB transport (UNIX extended servers only)" -msgstr "" - -#: ../utils/net.c:703 -msgid "" -"\n" -"Invalid ip address specified\n" -msgstr "" - -#: ../utils/net.c:718 -#, c-format -msgid "" -"\n" -"Invalid option %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:52 ../utils/net_ads.c:392 -msgid "CLDAP query failed!\n" -msgstr "" - -#: ../utils/net_ads.c:56 -#, fuzzy, c-format -msgid "" -"Information for Domain Controller: %s\n" -"\n" -msgstr "Контроллер домена" - -#: ../utils/net_ads.c:59 -msgid "Response Type: " -msgstr "" - -#: ../utils/net_ads.c:72 -#, c-format -msgid "GUID: %s\n" -msgstr "" - -#: ../utils/net_ads.c:74 -#, c-format -msgid "" -"Flags:\n" -"\tIs a PDC: %s\n" -"\tIs a GC of the forest: %s\n" -"\tIs an LDAP server: %s\n" -"\tSupports DS: %s\n" -"\tIs running a KDC: %s\n" -"\tIs running time services: %s\n" -"\tIs the closest DC: %s\n" -"\tIs writable: %s\n" -"\tHas a hardware clock: %s\n" -"\tIs a non-domain NC serviced by LDAP server: %s\n" -"\tIs NT6 DC that has some secrets: %s\n" -"\tIs NT6 DC that has all secrets: %s\n" -msgstr "" - -#: ../utils/net_ads.c:87 ../utils/net_ads.c:88 ../utils/net_ads.c:89 ../utils/net_ads.c:90 ../utils/net_ads.c:91 ../utils/net_ads.c:92 ../utils/net_ads.c:93 ../utils/net_ads.c:94 ../utils/net_ads.c:95 ../utils/net_ads.c:96 ../utils/net_ads.c:97 -#: ../utils/net_ads.c:98 -msgid "yes" -msgstr "" - -#: ../utils/net_ads.c:87 ../utils/net_ads.c:88 ../utils/net_ads.c:89 ../utils/net_ads.c:90 ../utils/net_ads.c:91 ../utils/net_ads.c:92 ../utils/net_ads.c:93 ../utils/net_ads.c:94 ../utils/net_ads.c:95 ../utils/net_ads.c:96 ../utils/net_ads.c:97 -#: ../utils/net_ads.c:98 -msgid "no" -msgstr "" - -#: ../utils/net_ads.c:101 -#, c-format -msgid "Forest:\t\t\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:102 -#, c-format -msgid "Domain:\t\t\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:103 -#, fuzzy, c-format -msgid "Domain Controller:\t%s\n" -msgstr "Контроллер домена" - -#: ../utils/net_ads.c:105 -#, c-format -msgid "Pre-Win2k Domain:\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:106 -#, c-format -msgid "Pre-Win2k Hostname:\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:108 -#, fuzzy, c-format -msgid "User name:\t%s\n" -msgstr "Имя пользователя" - -#: ../utils/net_ads.c:110 -#, fuzzy, c-format -msgid "Server Site Name :\t\t%s\n" -msgstr "Состояние сервера" - -#: ../utils/net_ads.c:111 -#, c-format -msgid "Client Site Name :\t\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:113 -#, fuzzy, c-format -msgid "NT Version: %d\n" -msgstr "версия:" - -#: ../utils/net_ads.c:114 -#, c-format -msgid "LMNT Token: %.2x\n" -msgstr "" - -#: ../utils/net_ads.c:115 -#, c-format -msgid "LM20 Token: %.2x\n" -msgstr "" - -#: ../utils/net_ads.c:130 -msgid "" -"Usage:\n" -"net ads lookup\n" -" Find the ADS DC using CLDAP lookup.\n" -msgstr "" - -#: ../utils/net_ads.c:137 ../utils/net_ads.c:381 -msgid "Didn't find the cldap server!\n" -msgstr "" - -#: ../utils/net_ads.c:160 -msgid "" -"Usage:\n" -"net ads info\n" -" Display information about an Active Directory server.\n" -msgstr "" - -#: ../utils/net_ads.c:168 ../utils/net_ads.c:173 -msgid "Didn't find the ldap server!\n" -msgstr "" - -#: ../utils/net_ads.c:182 -msgid "Failed to get server's current time!\n" -msgstr "" - -#: ../utils/net_ads.c:187 -#, c-format -msgid "LDAP server: %s\n" -msgstr "" - -#: ../utils/net_ads.c:188 -#, c-format -msgid "LDAP server name: %s\n" -msgstr "" - -#: ../utils/net_ads.c:189 -#, c-format -msgid "Realm: %s\n" -msgstr "" - -#: ../utils/net_ads.c:190 -#, c-format -msgid "Bind Path: %s\n" -msgstr "" - -#: ../utils/net_ads.c:191 -#, c-format -msgid "LDAP port: %d\n" -msgstr "" - -#: ../utils/net_ads.c:192 -#, fuzzy, c-format -msgid "Server time: %s\n" -msgstr "Состояние сервера" - -#: ../utils/net_ads.c:195 -#, c-format -msgid "KDC server: %s\n" -msgstr "" - -#: ../utils/net_ads.c:196 -#, c-format -msgid "Server time offset: %d\n" -msgstr "" - -#: ../utils/net_ads.c:374 -msgid "" -"Usage:\n" -"net ads workgroup\n" -" Print the workgroup name\n" -msgstr "" - -#: ../utils/net_ads.c:397 -#, c-format -msgid "Workgroup: %s\n" -msgstr "" - -#: ../utils/net_ads.c:458 -#, c-format -msgid "ads_user_add: %s\n" -msgstr "" - -#: ../utils/net_ads.c:463 -#, c-format -msgid "ads_user_add: User %s already exists\n" -msgstr "" - -#: ../utils/net_ads.c:477 -#, c-format -msgid "Could not add user %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:484 ../utils/net_ads.c:497 -#, fuzzy, c-format -msgid "User %s added\n" -msgstr "Имя пользователя" - -#. password didn't set, delete account -#: ../utils/net_ads.c:503 -#, c-format -msgid "Could not add user %s. Error setting password %s\n" -msgstr "" - -#: ../utils/net_ads.c:551 -#, c-format -msgid "ads_user_info: failed to escape user %s\n" -msgstr "" - -#: ../utils/net_ads.c:569 -#, c-format -msgid "ads_search: %s\n" -msgstr "" - -#: ../utils/net_ads.c:575 -msgid "ads_pull_uint32 failed\n" -msgstr "" - -#: ../utils/net_ads.c:582 -#, c-format -msgid "ads_domain_sid: %s\n" -msgstr "" - -#: ../utils/net_ads.c:642 -#, c-format -msgid "User %s does not exist.\n" -msgstr "" - -#: ../utils/net_ads.c:652 -#, c-format -msgid "User %s deleted\n" -msgstr "" - -#: ../utils/net_ads.c:656 -#, c-format -msgid "Error deleting user %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:669 -#, fuzzy -msgid "Add an AD user" -msgstr "Добавить нового пользователя" - -#: ../utils/net_ads.c:670 -msgid "" -"net ads user add\n" -" Add an AD user" -msgstr "" - -#: ../utils/net_ads.c:677 -msgid "Display information about an AD user" -msgstr "" - -#: ../utils/net_ads.c:678 -msgid "" -"net ads user info\n" -" Display information about an AD user" -msgstr "" - -#: ../utils/net_ads.c:685 -#, fuzzy -msgid "Delete an AD user" -msgstr "Удалить пользователя" - -#: ../utils/net_ads.c:686 -msgid "" -"net ads user delete\n" -" Delete an AD user" -msgstr "" - -#: ../utils/net_ads.c:699 -msgid "" -"Usage:\n" -"net ads user\n" -" List AD users\n" -msgstr "" - -#: ../utils/net_ads.c:711 -msgid "" -"\n" -"User name Comment\n" -"-----------------------------\n" -msgstr "" - -#: ../utils/net_ads.c:751 -#, c-format -msgid "ads_group_add: %s\n" -msgstr "" - -#: ../utils/net_ads.c:756 -#, c-format -msgid "ads_group_add: Group %s already exists\n" -msgstr "" - -#: ../utils/net_ads.c:769 -#, c-format -msgid "Group %s added\n" -msgstr "" - -#: ../utils/net_ads.c:772 -#, c-format -msgid "Could not add group %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:801 -#, c-format -msgid "Group %s does not exist.\n" -msgstr "" - -#: ../utils/net_ads.c:811 -#, c-format -msgid "Group %s deleted\n" -msgstr "" - -#: ../utils/net_ads.c:815 -#, c-format -msgid "Error deleting group %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:828 -msgid "Add an AD group" -msgstr "" - -#: ../utils/net_ads.c:829 -msgid "" -"net ads group add\n" -" Add an AD group" -msgstr "" - -#: ../utils/net_ads.c:836 -#, fuzzy -msgid "Delete an AD group" -msgstr "Удалить ресурс" - -#: ../utils/net_ads.c:837 -msgid "" -"net ads group delete\n" -" Delete an AD group" -msgstr "" - -#: ../utils/net_ads.c:850 -msgid "" -"Usage:\n" -"net ads group\n" -" List AD groups\n" -msgstr "" - -#: ../utils/net_ads.c:862 -msgid "" -"\n" -"Group name Comment\n" -"-----------------------------\n" -msgstr "" - -#: ../utils/net_ads.c:884 -msgid "" -"Usage:\n" -"net ads status\n" -" Display machine account details\n" -msgstr "" - -#: ../utils/net_ads.c:896 -#, c-format -msgid "ads_find_machine_acct: %s\n" -msgstr "" - -#: ../utils/net_ads.c:902 -#, c-format -msgid "No machine account for '%s' found\n" -msgstr "" - -#: ../utils/net_ads.c:926 -msgid "" -"Usage:\n" -"net ads leave\n" -" Leave an AD domain\n" -msgstr "" - -#: ../utils/net_ads.c:933 -msgid "No realm set, are we joined ?\n" -msgstr "" - -#: ../utils/net_ads.c:938 ../utils/net_ads.c:1260 -msgid "Could not initialise talloc context.\n" -msgstr "" - -#: ../utils/net_ads.c:948 -msgid "Could not initialise unjoin context.\n" -msgstr "" - -#: ../utils/net_ads.c:968 -#, c-format -msgid "Failed to leave domain: %s\n" -msgstr "" - -#: ../utils/net_ads.c:975 -#, c-format -msgid "Deleted account for '%s' in realm '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:982 -#, c-format -msgid "Disabled account for '%s' in realm '%s'\n" -msgstr "" - -#. Based on what we requseted, we shouldn't get here, but if -#. we did, it means the secrets were removed, and therefore -#. we have left the domain -#: ../utils/net_ads.c:991 -#, c-format -msgid "Machine '%s' Left domain '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:1035 -msgid "" -"Usage:\n" -"net ads testjoin\n" -" Test if the existing join is ok\n" -msgstr "" - -#: ../utils/net_ads.c:1044 -#, c-format -msgid "Join to domain is not valid: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1049 -#, c-format -msgid "Join is OK\n" -msgstr "" - -#: ../utils/net_ads.c:1060 -msgid "Host is not configured as a member server.\n" -msgstr "" - -#: ../utils/net_ads.c:1065 -#, c-format -msgid "Our netbios name can be at most 15 chars long, \"%s\" is %u chars long\n" -msgstr "" - -#: ../utils/net_ads.c:1072 -#, c-format -msgid "realm must be set in in %s for ADS join to succeed.\n" -msgstr "" - -#: ../utils/net_ads.c:1105 -#, c-format -msgid "No DNS domain configured for %s. Unable to perform DNS Update.\n" -msgstr "" - -#: ../utils/net_ads.c:1212 -msgid "" -"net ads join [options]\n" -"Valid options:\n" -msgstr "" - -#: ../utils/net_ads.c:1214 -msgid "" -" createupn[=UPN] Set the userPrincipalName attribute during the join.\n" -" The deault UPN is in the form host/netbiosname@REALM.\n" -msgstr "" - -#: ../utils/net_ads.c:1216 -msgid "" -" createcomputer=OU Precreate the computer account in a specific OU.\n" -" The OU string read from top to bottom without RDNs and delimited by a '/'.\n" -" E.g. \"createcomputer=Computers/Servers/Unix\"\n" -" NB: A backslash '\\' is used as escape at multiple levels and may\n" -" need to be doubled or even quadrupled. It is not used as a separator.\n" -msgstr "" - -#: ../utils/net_ads.c:1221 -msgid " osName=string Set the operatingSystem attribute during the join.\n" -msgstr "" - -#: ../utils/net_ads.c:1222 -msgid "" -" osVer=string Set the operatingSystemVersion attribute during the join.\n" -" NB: osName and osVer must be specified together for either to take effect.\n" -" Also, the operatingSystemService attribute is also set when along with\n" -" the two other attributes.\n" -msgstr "" - -#: ../utils/net_ads.c:1254 -msgid "Invalid configuration. Exiting....\n" -msgstr "" - -#: ../utils/net_ads.c:1283 -msgid "Please supply a valid OU path.\n" -msgstr "" - -#: ../utils/net_ads.c:1290 -msgid "Please supply a operating system name.\n" -msgstr "" - -#: ../utils/net_ads.c:1297 -msgid "Please supply a valid operating system version.\n" -msgstr "" - -#: ../utils/net_ads.c:1308 -msgid "Please supply a valid domain name\n" -msgstr "" - -#: ../utils/net_ads.c:1339 -#, c-format -msgid "" -"The workgroup in %s does not match the short\n" -"domain name obtained from the server.\n" -"Using the name [%s] from the server.\n" -"You should set \"workgroup = %s\" in %s.\n" -msgstr "" - -#: ../utils/net_ads.c:1347 -#, c-format -msgid "Using short domain name -- %s\n" -msgstr "" - -#: ../utils/net_ads.c:1350 -#, c-format -msgid "Joined '%s' to realm '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:1353 -#, c-format -msgid "Joined '%s' to domain '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:1377 ../utils/net_ads.c:1433 -msgid "DNS update failed!\n" -msgstr "" - -#. issue an overall failure message at the end. -#: ../utils/net_ads.c:1391 ../utils/net_dom.c:198 -#, c-format -msgid "Failed to join domain: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1414 -msgid "" -"Usage:\n" -"net ads dns register\n" -" Register hostname with DNS\n" -msgstr "" - -#: ../utils/net_ads.c:1421 -msgid "Could not initialise talloc context\n" -msgstr "" - -#: ../utils/net_ads.c:1439 -msgid "Successfully registered hostname with DNS\n" -msgstr "" - -#: ../utils/net_ads.c:1447 -msgid "DNS update support not enabled at compile time!\n" -msgstr "" - -#: ../utils/net_ads.c:1466 -msgid "" -"Usage:\n" -"net ads dns gethostbyname <server> <name>\n" -" Look up hostname from the AD\n" -" server\tName server to use\n" -" name\tName to look up\n" -msgstr "" - -#: ../utils/net_ads.c:1476 -#, c-format -msgid "do_gethostbyname returned %d\n" -msgstr "" - -#: ../utils/net_ads.c:1488 -msgid "Add host dns entry to AD" -msgstr "" - -#: ../utils/net_ads.c:1489 -msgid "" -"net ads dns register\n" -" Add host dns entry to AD" -msgstr "" - -#: ../utils/net_ads.c:1496 -msgid "Look up host" -msgstr "" - -#: ../utils/net_ads.c:1497 -msgid "" -"net ads dns gethostbyname\n" -" Look up host" -msgstr "" - -#: ../utils/net_ads.c:1512 -msgid "" -"\n" -"net ads printer search <printer>\n" -"\tsearch for a printer in the directory\n" -"\n" -"net ads printer info <printer> <server>\n" -"\tlookup info in directory for printer on server\n" -"\t(note: printer defaults to \"*\", server defaults to local)\n" -"\n" -"net ads printer publish <printername>\n" -"\tpublish printer in directory\n" -"\t(note: printer name is required)\n" -"\n" -"net ads printer remove <printername>\n" -"\tremove printer from directory\n" -"\t(note: printer name is required)\n" -msgstr "" - -#: ../utils/net_ads.c:1536 -msgid "" -"Usage:\n" -"net ads printer search\n" -" List printers in the AD\n" -msgstr "" - -#: ../utils/net_ads.c:1549 -#, c-format -msgid "ads_find_printer: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1556 -msgid "No results found\n" -msgstr "" - -#: ../utils/net_ads.c:1576 -msgid "" -"Usage:\n" -"net ads printer info [printername [servername]]\n" -" Display printer info from AD\n" -" printername\tPrinter name or wildcard\n" -" servername\tName of the print server\n" -msgstr "" - -#: ../utils/net_ads.c:1603 -#, c-format -msgid "Server '%s' not found: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1611 ../utils/net_ads.c:1794 -#, c-format -msgid "Printer '%s' not found\n" -msgstr "" - -#: ../utils/net_ads.c:1640 -msgid "" -"Usage:\n" -"net ads printer publish <printername> [servername]\n" -" Publish printer in AD\n" -" printername\tName of the printer\n" -" servername\tName of the print server\n" -msgstr "" - -#: ../utils/net_ads.c:1675 -#, c-format -msgid "Unable to open a connnection to %s to obtain data for %s\n" -msgstr "" - -#: ../utils/net_ads.c:1688 -#, c-format -msgid "Could not find machine account for server %s\n" -msgstr "" - -#: ../utils/net_ads.c:1704 ../utils/net_ads.c:1713 -msgid "Internal error, out of memory!" -msgstr "" - -#: ../utils/net_ads.c:1724 -#, c-format -msgid "Unable to open a connnection to the spoolss pipe on %s\n" -msgstr "" - -#: ../utils/net_ads.c:1766 -msgid "" -"Usage:\n" -"net ads printer remove <printername> [servername]\n" -" Remove a printer from the AD\n" -" printername\tName of the printer\n" -" servername\tName of the print server\n" -msgstr "" - -#: ../utils/net_ads.c:1787 -#, c-format -msgid "ads_find_printer_on_server: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1806 -#, c-format -msgid "ads_del_dn: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1822 -msgid "Search for a printer" -msgstr "" - -#: ../utils/net_ads.c:1823 -msgid "" -"net ads printer search\n" -" Search for a printer" -msgstr "" - -#: ../utils/net_ads.c:1830 -msgid "Display printer information" -msgstr "" - -#: ../utils/net_ads.c:1831 -msgid "" -"net ads printer info\n" -" Display printer information" -msgstr "" - -#: ../utils/net_ads.c:1838 -msgid "Publish a printer" -msgstr "" - -#: ../utils/net_ads.c:1839 -msgid "" -"net ads printer publish\n" -" Publish a printer" -msgstr "" - -#: ../utils/net_ads.c:1846 -#, fuzzy -msgid "Delete a printer" -msgstr "Удалить принтер" - -#: ../utils/net_ads.c:1847 -msgid "" -"net ads printer remove\n" -" Delete a printer" -msgstr "" - -#: ../utils/net_ads.c:1869 -msgid "" -"Usage:\n" -"net ads password <username>\n" -" Change password for user\n" -" username\tName of user to change password for\n" -msgstr "" - -#: ../utils/net_ads.c:1877 -msgid "You must supply an administrator username/password\n" -msgstr "" - -#: ../utils/net_ads.c:1883 -msgid "ERROR: You must say which username to change password for\n" -msgstr "" - -#: ../utils/net_ads.c:1915 -msgid "Didn't find the kerberos server!\n" -msgstr "" - -#: ../utils/net_ads.c:1923 -#, c-format -msgid "Enter new password for %s:" -msgstr "" - -#: ../utils/net_ads.c:1933 ../utils/net_ads.c:1982 -#, fuzzy, c-format -msgid "Password change failed: %s\n" -msgstr "Пароли" - -#: ../utils/net_ads.c:1938 -#, fuzzy, c-format -msgid "Password change for %s completed.\n" -msgstr "смена пароля в демо-режиме не работает" - -#: ../utils/net_ads.c:1952 -msgid "" -"Usage:\n" -"net ads changetrustpw\n" -" Change the machine account's trust password\n" -msgstr "" - -#: ../utils/net_ads.c:1977 -#, c-format -msgid "Changing password for principal: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1988 -#, c-format -msgid "Password change for principal %s succeeded.\n" -msgstr "" - -#: ../utils/net_ads.c:1991 -msgid "Attempting to update system keytab with new password.\n" -msgstr "" - -#: ../utils/net_ads.c:1993 -msgid "Failed to update system keytab.\n" -msgstr "" - -#: ../utils/net_ads.c:2009 -msgid "" -"\n" -"net ads search <expression> <attributes...>\n" -"\n" -"Perform a raw LDAP search on a ADS server and dump the results.\n" -"The expression is a standard LDAP search expression, and the\n" -"attributes are a list of LDAP fields to show in the results.\n" -"\n" -"Example: net ads search '(objectCategory=group)' sAMAccountName\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2046 ../utils/net_ads.c:2107 ../utils/net_ads.c:2171 ../utils/net_ads_gpo.c:250 -#, c-format -msgid "search failed: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2051 ../utils/net_ads.c:2176 ../utils/net_ads_gpo.c:256 -#, c-format -msgid "" -"Got %d replies\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2069 -msgid "" -"\n" -"net ads dn <dn> <attributes...>\n" -"\n" -"perform a raw LDAP search on a ADS server and dump the results\n" -"The DN standard LDAP DN, and the attributes are a list of LDAP fields \n" -"to show in the results\n" -"\n" -"Example: net ads dn 'CN=administrator,CN=Users,DC=my,DC=domain' sAMAccountName\n" -"\n" -"Note: the DN must be provided properly escaped. See RFC 4514 for details\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2129 -msgid "" -"\n" -"net ads sid <sid> <attributes...>\n" -"\n" -"perform a raw LDAP search on a ADS server and dump the results\n" -"The SID is in string format, and the attributes are a list of LDAP fields \n" -"to show in the results\n" -"\n" -"Example: net ads sid 'S-1-5-32' distinguishedName\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2164 -msgid "could not convert sid\n" -msgstr "" - -#: ../utils/net_ads.c:2193 -msgid "" -"Usage:\n" -"net ads keytab flush\n" -" Delete the whole keytab\n" -msgstr "" - -#: ../utils/net_ads.c:2214 -msgid "" -"Usage:\n" -"net ads keytab add <principal> [principal ...]\n" -" Add principals to local keytab\n" -" principal\tKerberos principal to add to keytab\n" -msgstr "" - -#: ../utils/net_ads.c:2222 -msgid "Processing principals to add...\n" -msgstr "" - -#: ../utils/net_ads.c:2239 -msgid "" -"Usage:\n" -"net ads keytab create\n" -" Create new default keytab\n" -msgstr "" - -#: ../utils/net_ads.c:2258 -msgid "" -"Usage:\n" -"net ads keytab list [keytab]\n" -" List a local keytab\n" -" keytab\tKeytab to list\n" -msgstr "" - -#: ../utils/net_ads.c:2280 -msgid "Add a service principal" -msgstr "" - -#: ../utils/net_ads.c:2281 -msgid "" -"net ads keytab add\n" -" Add a service principal" -msgstr "" - -#: ../utils/net_ads.c:2288 -#, fuzzy -msgid "Create a fresh keytab" -msgstr "Создать ресурс" - -#: ../utils/net_ads.c:2289 -msgid "" -"net ads keytab create\n" -" Create a fresh keytab" -msgstr "" - -#: ../utils/net_ads.c:2296 -msgid "Remove all keytab entries" -msgstr "" - -#: ../utils/net_ads.c:2297 -msgid "" -"net ads keytab flush\n" -" Remove all keytab entries" -msgstr "" - -#: ../utils/net_ads.c:2304 -msgid "List a keytab" -msgstr "" - -#: ../utils/net_ads.c:2305 -msgid "" -"net ads keytab list\n" -" List a keytab" -msgstr "" - -#: ../utils/net_ads.c:2312 -msgid "" -"\n" -"Warning: \"kerberos method\" must be set to a keytab method to use keytab functions.\n" -msgstr "" - -#: ../utils/net_ads.c:2324 -msgid "" -"Usage:\n" -"net ads kerberos renew\n" -" Renew TGT from existing credential cache\n" -msgstr "" - -#: ../utils/net_ads.c:2332 -#, c-format -msgid "failed to renew kerberos ticket: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2347 -msgid "" -"Usage:\n" -"net ads kerberos pac\n" -" Dump the Kerberos PAC\n" -msgstr "" - -#: ../utils/net_ads.c:2372 -#, c-format -msgid "failed to query kerberos PAC: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2381 -#, c-format -msgid "The Pac: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2397 -msgid "" -"Usage:\n" -"net ads kerberos kinit\n" -" Get Ticket Granting Ticket (TGT) for the user\n" -msgstr "" - -#: ../utils/net_ads.c:2421 -#, c-format -msgid "failed to kinit password: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2435 -msgid "Retrieve Ticket Granting Ticket (TGT)" -msgstr "" - -#: ../utils/net_ads.c:2436 -msgid "" -"net ads kerberos kinit\n" -" Receive Ticket Granting Ticket (TGT)" -msgstr "" - -#: ../utils/net_ads.c:2443 -msgid "Renew Ticket Granting Ticket from credential cache" -msgstr "" - -#: ../utils/net_ads.c:2444 -msgid "" -"net ads kerberos renew\n" -" Renew Ticket Granting Ticket (TGT) from credential cache" -msgstr "" - -#: ../utils/net_ads.c:2452 -msgid "Dump Kerberos PAC" -msgstr "" - -#: ../utils/net_ads.c:2453 -msgid "" -"net ads kerberos pac\n" -" Dump Kerberos PAC" -msgstr "" - -#: ../utils/net_ads.c:2469 -msgid "Display details on remote ADS server" -msgstr "" - -#: ../utils/net_ads.c:2470 -msgid "" -"net ads info\n" -" Display details on remote ADS server" -msgstr "" - -#: ../utils/net_ads.c:2477 -msgid "Join the local machine to ADS realm" -msgstr "" - -#: ../utils/net_ads.c:2478 -msgid "" -"net ads join\n" -" Join the local machine to ADS realm" -msgstr "" - -#: ../utils/net_ads.c:2485 -msgid "Validate machine account" -msgstr "" - -#: ../utils/net_ads.c:2486 -msgid "" -"net ads testjoin\n" -" Validate machine account" -msgstr "" - -#: ../utils/net_ads.c:2493 -msgid "Remove the local machine from ADS" -msgstr "" - -#: ../utils/net_ads.c:2494 -msgid "" -"net ads leave\n" -" Remove the local machine from ADS" -msgstr "" - -#: ../utils/net_ads.c:2501 -msgid "Display machine account details" -msgstr "" - -#: ../utils/net_ads.c:2502 -msgid "" -"net ads status\n" -" Display machine account details" -msgstr "" - -#: ../utils/net_ads.c:2509 -msgid "List/modify users" -msgstr "" - -#: ../utils/net_ads.c:2510 -msgid "" -"net ads user\n" -" List/modify users" -msgstr "" - -#: ../utils/net_ads.c:2517 -msgid "List/modify groups" -msgstr "" - -#: ../utils/net_ads.c:2518 -msgid "" -"net ads group\n" -" List/modify groups" -msgstr "" - -#: ../utils/net_ads.c:2525 -msgid "Issue dynamic DNS update" -msgstr "" - -#: ../utils/net_ads.c:2526 -msgid "" -"net ads dns\n" -" Issue dynamic DNS update" -msgstr "" - -#: ../utils/net_ads.c:2533 -#, fuzzy -msgid "Change user passwords" -msgstr "Сменить пароль" - -#: ../utils/net_ads.c:2534 -msgid "" -"net ads password\n" -" Change user passwords" -msgstr "" - -#: ../utils/net_ads.c:2541 -#, fuzzy -msgid "Change trust account password" -msgstr "Сменить пароль" - -#: ../utils/net_ads.c:2542 -msgid "" -"net ads changetrustpw\n" -" Change trust account password" -msgstr "" - -#: ../utils/net_ads.c:2549 -msgid "List/modify printer entries" -msgstr "" - -#: ../utils/net_ads.c:2550 -msgid "" -"net ads printer\n" -" List/modify printer entries" -msgstr "" - -#: ../utils/net_ads.c:2557 -msgid "Issue LDAP search using filter" -msgstr "" - -#: ../utils/net_ads.c:2558 -msgid "" -"net ads search\n" -" Issue LDAP search using filter" -msgstr "" - -#: ../utils/net_ads.c:2565 -msgid "Issue LDAP search by DN" -msgstr "" - -#: ../utils/net_ads.c:2566 -msgid "" -"net ads dn\n" -" Issue LDAP search by DN" -msgstr "" - -#: ../utils/net_ads.c:2573 -msgid "Issue LDAP search by SID" -msgstr "" - -#: ../utils/net_ads.c:2574 -msgid "" -"net ads sid\n" -" Issue LDAP search by SID" -msgstr "" - -#: ../utils/net_ads.c:2581 -msgid "Display workgroup name" -msgstr "" - -#: ../utils/net_ads.c:2582 -msgid "" -"net ads workgroup\n" -" Display the workgroup name" -msgstr "" - -#: ../utils/net_ads.c:2589 -msgid "Perfom CLDAP query on DC" -msgstr "" - -#: ../utils/net_ads.c:2590 -msgid "" -"net ads lookup\n" -" Find the ADS DC using CLDAP lookups" -msgstr "" - -#: ../utils/net_ads.c:2597 -msgid "Manage local keytab file" -msgstr "" - -#: ../utils/net_ads.c:2598 -msgid "" -"net ads keytab\n" -" Manage local keytab file" -msgstr "" - -#: ../utils/net_ads.c:2605 -msgid "Manage group policy objects" -msgstr "" - -#: ../utils/net_ads.c:2606 -msgid "" -"net ads gpo\n" -" Manage group policy objects" -msgstr "" - -#: ../utils/net_ads.c:2613 -msgid "Manage kerberos keytab" -msgstr "" - -#: ../utils/net_ads.c:2614 -msgid "" -"net ads kerberos\n" -" Manage kerberos keytab" -msgstr "" - -#: ../utils/net_ads.c:2627 -msgid "ADS support not compiled in\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:40 -msgid "" -"Usage:\n" -"net ads gpo refresh <username|machinename>\n" -" Lists all GPOs assigned to an account and downloads them\n" -" username\tUser to refresh GPOs for\n" -" machinename\tMachine to refresh GPOs for\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:56 -#, c-format -msgid "failed to connect AD server: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:62 -#, c-format -msgid "failed to find samaccount for %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:70 -#, c-format -msgid "" -"\n" -"%s: '%s' has dn: '%s'\n" -"\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:71 ../utils/net_ads_gpo.c:328 -#, fuzzy -msgid "machine" -msgstr "Удалённая машина" - -#: ../utils/net_ads_gpo.c:71 ../utils/net_ads_gpo.c:328 -#, fuzzy -msgid "user" -msgstr "Пользователь" - -#: ../utils/net_ads_gpo.c:74 -msgid "* fetching token " -msgstr "" - -#: ../utils/net_ads_gpo.c:82 ../utils/net_ads_gpo.c:90 ../utils/net_ads_gpo.c:102 ../utils/net_ads_gpo.c:113 ../utils/net_ads_gpo.c:158 -#, c-format -msgid "failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:85 ../utils/net_ads_gpo.c:94 ../utils/net_ads_gpo.c:105 ../utils/net_ads_gpo.c:118 ../utils/net_ads_gpo.c:163 -msgid "finished\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:87 -msgid "* fetching GPO List " -msgstr "" - -#: ../utils/net_ads_gpo.c:96 -msgid "* Refreshing Group Policy Data " -msgstr "" - -#: ../utils/net_ads_gpo.c:107 -msgid "* storing GPO list to registry " -msgstr "" - -#: ../utils/net_ads_gpo.c:122 -msgid "* dumping GPO list\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:151 -msgid "* re-reading GPO list from registry " -msgstr "" - -#: ../utils/net_ads_gpo.c:167 -msgid "* dumping GPO list from registry\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:226 -msgid "" -"Usage:\n" -"net ads gpo listall\n" -" List all GPOs on the DC\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:270 -#, fuzzy, c-format -msgid "ads_parse_gpo failed: %s\n" -msgstr "Пароли" - -#: ../utils/net_ads_gpo.c:300 -msgid "" -"Usage:\n" -"net ads gpo list <username|machinename>\n" -" Lists all GPOs for machine/user\n" -" username\tUser to list GPOs for\n" -" machinename\tMachine to list GPOs for\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:327 -#, c-format -msgid "%s: '%s' has dn: '%s'\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:451 -msgid "" -"Usage:\n" -"net ads gpo linkget <container>\n" -" Lists gPLink of a containter\n" -" container\tContainer to get link for\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:470 -#, c-format -msgid "get link for %s failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:492 -msgid "" -"Usage:\n" -"net ads gpo linkadd <linkdn> <gpodn> [options]\n" -" Link a container to a GPO\n" -" linkdn\tContainer to link to a GPO\n" -" gpodn\tGPO to link container to\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:497 -msgid "" -"note: DNs must be provided properly escaped.\n" -"See RFC 4514 for details\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:518 -#, c-format -msgid "link add failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:579 -msgid "" -"Usage:\n" -"net ads gpo getgpo <gpo>\n" -" List speciefied GPO\n" -" gpo\t\tGPO to list\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:603 -#, c-format -msgid "get gpo for [%s] failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:634 -msgid "List specified GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:635 -msgid "" -"net ads gpo getgpo\n" -" List specified GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:642 -msgid "Link a container to a GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:643 -msgid "" -"net ads gpo linkadd\n" -" Link a container to a GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:660 -msgid "Lists gPLink of containter" -msgstr "" - -#: ../utils/net_ads_gpo.c:661 -msgid "" -"net ads gpo linkget\n" -" Lists gPLink of containter" -msgstr "" - -#: ../utils/net_ads_gpo.c:668 -msgid "Lists all GPOs for machine/user" -msgstr "" - -#: ../utils/net_ads_gpo.c:669 -msgid "" -"net ads gpo list\n" -" Lists all GPOs for machine/user" -msgstr "" - -#: ../utils/net_ads_gpo.c:676 -msgid "Lists all GPOs on a DC" -msgstr "" - -#: ../utils/net_ads_gpo.c:677 -msgid "" -"net ads gpo listall\n" -" Lists all GPOs on a DC" -msgstr "" - -#: ../utils/net_ads_gpo.c:684 -msgid "Lists all GPOs assigned to an account and downloads them" -msgstr "" - -#: ../utils/net_ads_gpo.c:686 -msgid "" -"net ads gpo refresh\n" -" Lists all GPOs assigned to an account and downloads them" -msgstr "" - -#: ../utils/net_afs.c:25 -msgid "" -" net afs key filename\n" -"\tImports a OpenAFS KeyFile into our secrets.tdb\n" -"\n" -msgstr "" - -#: ../utils/net_afs.c:27 -msgid "" -" net afs impersonate <user> <cell>\n" -"\tCreates a token for user@cell\n" -"\n" -msgstr "" - -#: ../utils/net_afs.c:38 -msgid "usage: 'net afs key <keyfile> cell'\n" -msgstr "" - -#: ../utils/net_afs.c:43 -msgid "Could not open secrets.tdb\n" -msgstr "" - -#: ../utils/net_afs.c:48 -#, c-format -msgid "Could not open %s\n" -msgstr "" - -#: ../utils/net_afs.c:53 -msgid "Could not read keyfile\n" -msgstr "" - -#: ../utils/net_afs.c:58 -msgid "Could not write keyfile to secrets.tdb\n" -msgstr "" - -#: ../utils/net_afs.c:71 -#, c-format -msgid "Usage: net afs impersonate <user> <cell>\n" -msgstr "" - -#: ../utils/net_afs.c:78 -#, c-format -msgid "Could not create token\n" -msgstr "" - -#: ../utils/net_afs.c:83 -#, c-format -msgid "Could not set token into kernel\n" -msgstr "" - -#: ../utils/net_afs.c:87 -#, c-format -msgid "Success: %s@%s\n" -msgstr "" - -#: ../utils/net_afs.c:98 -msgid "Import an OpenAFS keyfile" -msgstr "" - -#: ../utils/net_afs.c:99 -msgid "" -"net afs key <filename>\n" -" Import kefile from <filename>." -msgstr "" - -#: ../utils/net_afs.c:106 -msgid "Get a user token" -msgstr "" - -#: ../utils/net_afs.c:107 -msgid "" -"net afs impersonate <user> <cell>\n" -" Create token for user@cell" -msgstr "" - -#: ../utils/net_cache.c:74 -#, c-format -msgid "Key: %s\t Timeout: %s\t Value: %s %s\n" -msgstr "" - -#: ../utils/net_cache.c:75 -msgid "(expired)" -msgstr "" - -#: ../utils/net_cache.c:84 -#, c-format -msgid "Couldn't delete entry! key = %s\n" -msgstr "" - -#: ../utils/net_cache.c:158 -msgid "" -"\n" -"Usage:\n" -"net cache add <key string> <data string> <timeout>\n" -msgstr "" - -#: ../utils/net_cache.c:170 -msgid "Invalid timeout argument.\n" -msgstr "" - -#: ../utils/net_cache.c:175 -msgid "New cache entry stored successfully.\n" -msgstr "" - -#: ../utils/net_cache.c:179 -msgid "Entry couldn't be added. Perhaps there's already such a key.\n" -msgstr "" - -#: ../utils/net_cache.c:195 -msgid "" -"\n" -"Usage: net cache del <key string>\n" -msgstr "" - -#: ../utils/net_cache.c:200 -msgid "Entry deleted.\n" -msgstr "" - -#: ../utils/net_cache.c:204 -msgid "Couldn't delete specified entry\n" -msgstr "" - -#: ../utils/net_cache.c:223 -msgid "" -"\n" -"Usage: net cache get <key>\n" -msgstr "" - -#: ../utils/net_cache.c:233 -msgid "Failed to find entry\n" -msgstr "" - -#: ../utils/net_cache.c:250 -msgid "Usage: net cache search <pattern>\n" -msgstr "" - -#: ../utils/net_cache.c:272 -msgid "" -"Usage:\n" -"net cache list\n" -" List all cache entries.\n" -msgstr "" - -#: ../utils/net_cache.c:293 ../utils/net_cache.c:306 -msgid "" -"Usage:\n" -"net cache flush\n" -" Delete all cache entries.\n" -msgstr "" - -#: ../utils/net_cache.c:331 -msgid "Add new cache entry" -msgstr "" - -#: ../utils/net_cache.c:332 -msgid "" -"net cache add <key string> <data string> <timeout>\n" -" Add new cache entry.\n" -" key string\tKey string to add cache data under.\n" -" data string\tData to store under given key.\n" -" timeout\tTimeout for cache data." -msgstr "" - -#: ../utils/net_cache.c:342 -msgid "Delete existing cache entry by key" -msgstr "" - -#: ../utils/net_cache.c:343 -msgid "" -"net cache del <key string>\n" -" Delete existing cache entry by key.\n" -" key string\tKey string to delete." -msgstr "" - -#: ../utils/net_cache.c:351 -msgid "Get cache entry by key" -msgstr "" - -#: ../utils/net_cache.c:352 -msgid "" -"net cache get <key string>\n" -" Get cache entry by key.\n" -" key string\tKey string to look up cache entry for." -msgstr "" - -#: ../utils/net_cache.c:361 -msgid "Search entry by pattern" -msgstr "" - -#: ../utils/net_cache.c:362 -msgid "" -"net cache search <pattern>\n" -" Search entry by pattern.\n" -" pattern\tPattern to search for in cache." -msgstr "" - -#: ../utils/net_cache.c:370 -msgid "List all cache entries" -msgstr "" - -#: ../utils/net_cache.c:371 -msgid "" -"net cache list\n" -" List all cache entries" -msgstr "" - -#: ../utils/net_cache.c:378 -#, fuzzy -msgid "Delete all cache entries" -msgstr "Удалить принтер" - -#: ../utils/net_cache.c:379 -msgid "" -"net cache flush\n" -" Delete all cache entries" -msgstr "" - -#: ../utils/net_cache.c:386 -msgid "Move transient cache content to stable storage" -msgstr "" - -#: ../utils/net_cache.c:387 -msgid "" -"net cache stabilize\n" -" Move transient cache content to stable storage" -msgstr "" - -#: ../utils/net_conf.c:42 -msgid "USAGE: net conf list\n" -msgstr "" - -#: ../utils/net_conf.c:49 -msgid "" -"USAGE: net conf import [--test|-T] <filename> [<servicename>]\n" -"\t[--test|-T] testmode - do not act, just print what would be done\n" -"\t<servicename> only import service <servicename>, ignore the rest\n" -msgstr "" - -#: ../utils/net_conf.c:61 -msgid "USAGE: net conf listshares\n" -msgstr "" - -#: ../utils/net_conf.c:68 -msgid "USAGE: net conf drop\n" -msgstr "" - -#: ../utils/net_conf.c:75 -msgid "USAGE: net conf showshare <sharename>\n" -msgstr "" - -#: ../utils/net_conf.c:82 -msgid "" -"USAGE: net conf addshare <sharename> <path> [writeable={y|N} [guest_ok={y|N} [<comment>]]\n" -"\t<sharename> the new share name.\n" -"\t<path> the path on the filesystem to export.\n" -"\twriteable={y|N} set \"writeable to \"yes\" or \"no\" (default) on this share.\n" -"\tguest_ok={y|N} set \"guest ok\" to \"yes\" or \"no\" (default) on this share.\n" -"\t<comment> optional comment for the new share.\n" -msgstr "" - -#: ../utils/net_conf.c:97 -msgid "USAGE: net conf delshare <sharename>\n" -msgstr "" - -#: ../utils/net_conf.c:104 -msgid "USAGE: net conf setparm <section> <param> <value>\n" -msgstr "" - -#: ../utils/net_conf.c:111 -msgid "USAGE: net conf getparm <section> <param>\n" -msgstr "" - -#: ../utils/net_conf.c:118 -msgid "USAGE: net conf delparm <section> <param>\n" -msgstr "" - -#: ../utils/net_conf.c:125 -msgid "USAGE: net conf getincludes <section>\n" -msgstr "" - -#: ../utils/net_conf.c:132 -msgid "USAGE: net conf setincludes <section> [<filename>]*\n" -msgstr "" - -#: ../utils/net_conf.c:139 -msgid "USAGE: net conf delincludes <section>\n" -msgstr "" - -#: ../utils/net_conf.c:251 -#, c-format -msgid "Error getting config: %s\n" -msgstr "" - -#: ../utils/net_conf.c:305 ../utils/net_conf.c:318 ../utils/net_conf.c:614 ../utils/net_conf.c:742 ../utils/net_conf.c:780 ../utils/net_conf.c:786 ../utils/net_conf.c:860 ../utils/net_conf.c:866 ../utils/net_conf.c:916 ../utils/net_conf.c:970 -#: ../utils/net_conf.c:1010 ../utils/net_conf.c:1050 -msgid "error: out of memory!\n" -msgstr "" - -#: ../utils/net_conf.c:324 -#, c-format -msgid "error loading file '%s': %s\n" -msgstr "" - -#: ../utils/net_conf.c:330 -msgid "" -"\n" -"TEST MODE - would import the following configuration:\n" -"\n" -msgstr "" - -#: ../utils/net_conf.c:346 ../utils/net_conf.c:382 ../utils/net_conf.c:407 ../utils/net_conf.c:793 -#, c-format -msgid "error starting transaction: %s\n" -msgstr "" - -#: ../utils/net_conf.c:400 ../utils/net_conf.c:416 ../utils/net_conf.c:817 -#, c-format -msgid "error committing transaction: %s\n" -msgstr "" - -#: ../utils/net_conf.c:427 ../utils/net_conf.c:828 -#, c-format -msgid "error cancelling transaction: %s\n" -msgstr "" - -#: ../utils/net_conf.c:484 -#, c-format -msgid "Error deleting configuration: %s\n" -msgstr "" - -#: ../utils/net_conf.c:521 -#, c-format -msgid "error getting share parameters: %s\n" -msgstr "" - -#: ../utils/net_conf.c:630 -#, c-format -msgid "ERROR: share name %s contains invalid characters (any of %s)\n" -msgstr "" - -#: ../utils/net_conf.c:638 -msgid "ERROR: 'global' is not a valid share name.\n" -msgstr "" - -#: ../utils/net_conf.c:643 -#, c-format -msgid "ERROR: share %s already exists.\n" -msgstr "" - -#: ../utils/net_conf.c:652 -#, c-format -msgid "Error: path '%s' is not an absolute path.\n" -msgstr "" - -#: ../utils/net_conf.c:659 -#, c-format -msgid "" -"ERROR: cannot stat path '%s' to ensure this is a directory.\n" -"Error was '%s'.\n" -msgstr "" - -#: ../utils/net_conf.c:668 -#, c-format -msgid "ERROR: path '%s' is not a directory.\n" -msgstr "" - -#: ../utils/net_conf.c:679 -#, c-format -msgid "Error creating share %s: %s\n" -msgstr "" - -#: ../utils/net_conf.c:690 ../utils/net_conf.c:699 ../utils/net_conf.c:707 ../utils/net_conf.c:715 -#, c-format -msgid "Error setting parameter %s: %s\n" -msgstr "" - -#: ../utils/net_conf.c:748 -#, c-format -msgid "Error deleting share %s: %s\n" -msgstr "" - -#: ../utils/net_conf.c:801 -#, c-format -msgid "Error creating share '%s': %s\n" -msgstr "" - -#: ../utils/net_conf.c:810 -#, c-format -msgid "Error setting value '%s': %s\n" -msgstr "" - -#: ../utils/net_conf.c:874 ../utils/net_conf.c:930 -#, c-format -msgid "Error: given service '%s' does not exist.\n" -msgstr "" - -#: ../utils/net_conf.c:879 ../utils/net_conf.c:935 -#, c-format -msgid "Error: given parameter '%s' is not set.\n" -msgstr "" - -#: ../utils/net_conf.c:883 -#, c-format -msgid "Error getting value '%s': %s.\n" -msgstr "" - -#: ../utils/net_conf.c:939 -#, c-format -msgid "Error deleting value '%s': %s.\n" -msgstr "" - -#: ../utils/net_conf.c:977 -#, c-format -msgid "error getting includes: %s\n" -msgstr "" - -#: ../utils/net_conf.c:1023 -#, c-format -msgid "error setting includes: %s\n" -msgstr "" - -#: ../utils/net_conf.c:1056 -#, c-format -msgid "error deleting includes: %s\n" -msgstr "" - -#: ../utils/net_conf.c:1136 ../utils/net_help.c:36 -msgid "Usage:\n" -msgstr "" - -#: ../utils/net_conf.c:1160 -msgid "Dump the complete configuration in smb.conf like format." -msgstr "" - -#: ../utils/net_conf.c:1162 -msgid "" -"net conf list\n" -" Dump the complete configuration in smb.conf like format." -msgstr "" - -#: ../utils/net_conf.c:1171 -msgid "Import configuration from file in smb.conf format." -msgstr "" - -#: ../utils/net_conf.c:1173 -msgid "" -"net conf import\n" -" Import configuration from file in smb.conf format." -msgstr "" - -#: ../utils/net_conf.c:1181 -msgid "List the share names." -msgstr "" - -#: ../utils/net_conf.c:1182 -msgid "" -"net conf listshares\n" -" List the share names." -msgstr "" - -#: ../utils/net_conf.c:1189 -msgid "Delete the complete configuration." -msgstr "" - -#: ../utils/net_conf.c:1190 -msgid "" -"net conf drop\n" -" Delete the complete configuration." -msgstr "" - -#: ../utils/net_conf.c:1197 -msgid "Show the definition of a share." -msgstr "" - -#: ../utils/net_conf.c:1198 -msgid "" -"net conf showshare\n" -" Show the definition of a share." -msgstr "" - -#: ../utils/net_conf.c:1205 -#, fuzzy -msgid "Create a new share." -msgstr "Создать ресурс" - -#: ../utils/net_conf.c:1206 -msgid "" -"net conf addshare\n" -" Create a new share." -msgstr "" - -#: ../utils/net_conf.c:1213 -#, fuzzy -msgid "Delete a share." -msgstr "Удалить ресурс" - -#: ../utils/net_conf.c:1214 -msgid "" -"net conf delshare\n" -" Delete a share." -msgstr "" - -#: ../utils/net_conf.c:1221 -#, fuzzy -msgid "Store a parameter." -msgstr "Параметры общих ресурсов" - -#: ../utils/net_conf.c:1222 -msgid "" -"net conf setparm\n" -" Store a parameter." -msgstr "" - -#: ../utils/net_conf.c:1229 -msgid "Retrieve the value of a parameter." -msgstr "" - -#: ../utils/net_conf.c:1230 -msgid "" -"net conf getparm\n" -" Retrieve the value of a parameter." -msgstr "" - -#: ../utils/net_conf.c:1237 -#, fuzzy -msgid "Delete a parameter." -msgstr "Удалить принтер" - -#: ../utils/net_conf.c:1238 -msgid "" -"net conf delparm\n" -" Delete a parameter." -msgstr "" - -#: ../utils/net_conf.c:1245 -msgid "Show the includes of a share definition." -msgstr "" - -#: ../utils/net_conf.c:1246 -msgid "" -"net conf getincludes\n" -" Show the includes of a share definition." -msgstr "" - -#: ../utils/net_conf.c:1253 -msgid "Set includes for a share." -msgstr "" - -#: ../utils/net_conf.c:1254 -msgid "" -"net conf setincludes\n" -" Set includes for a share." -msgstr "" - -#: ../utils/net_conf.c:1261 -msgid "Delete includes from a share definition." -msgstr "" - -#: ../utils/net_conf.c:1262 -msgid "" -"net conf setincludes\n" -" Delete includes from a share definition." -msgstr "" - -#: ../utils/net_dom.c:25 -msgid "" -"usage: net dom join <domain=DOMAIN> <ou=OU> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Join a remote machine\n" -msgstr "" - -#: ../utils/net_dom.c:28 -msgid "" -"usage: net dom unjoin <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Unjoin a remote machine\n" -msgstr "" - -#: ../utils/net_dom.c:31 -msgid "" -"usage: net dom renamecomputer <newname=NEWNAME> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Rename joined computer\n" -msgstr "" - -#: ../utils/net_dom.c:91 -#, c-format -msgid "Failed to unjoin domain: %s\n" -msgstr "" - -#: ../utils/net_dom.c:97 ../utils/net_dom.c:204 -msgid "Shutting down due to a domain membership change" -msgstr "" - -#: ../utils/net_dom.c:290 -#, c-format -msgid "Failed to rename machine: " -msgstr "" - -#: ../utils/net_dom.c:292 -#, c-format -msgid "Computer is not joined to a Domain\n" -msgstr "" - -#: ../utils/net_dom.c:301 -msgid "Shutting down due to a computer rename" -msgstr "" - -#: ../utils/net_dom.c:338 -#, fuzzy -msgid "Join a remote machine" -msgstr "Удалённая машина" - -#: ../utils/net_dom.c:339 -msgid "" -"net dom join <domain=DOMAIN> <ou=OU> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Join a remote machine" -msgstr "" - -#: ../utils/net_dom.c:347 -#, fuzzy -msgid "Unjoin a remote machine" -msgstr "Удалённая машина" - -#: ../utils/net_dom.c:348 -msgid "" -"net dom unjoin <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Unjoin a remote machine" -msgstr "" - -#: ../utils/net_dom.c:356 -msgid "Rename a computer that is joined to a domain" -msgstr "" - -#: ../utils/net_dom.c:357 -msgid "" -"net dom renamecomputer <newname=NEWNAME> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Rename joined computer" -msgstr "" - -#: ../utils/net_eventlog.c:46 -msgid "usage: net eventlog dump <file.evt>\n" -msgstr "" - -#: ../utils/net_eventlog.c:52 ../utils/net_eventlog.c:108 -#, c-format -msgid "failed to load evt file: %s\n" -msgstr "" - -#: ../utils/net_eventlog.c:59 ../utils/net_eventlog.c:129 -#, fuzzy, c-format -msgid "evt pull failed: %s\n" -msgstr "Пароли" - -#: ../utils/net_eventlog.c:102 -msgid "usage: net eventlog import <file> <eventlog>\n" -msgstr "" - -#: ../utils/net_eventlog.c:116 -#, fuzzy, c-format -msgid "evt header pull failed: %s\n" -msgstr "Пароли" - -#: ../utils/net_eventlog.c:122 -msgid "input file is wrapped, cannot proceed\n" -msgstr "" - -#: ../utils/net_eventlog.c:138 ../utils/net_eventlog.c:203 -#, c-format -msgid "can't open the eventlog TDB (%s)\n" -msgstr "" - -#: ../utils/net_eventlog.c:158 -#, c-format -msgid "can't write to the eventlog: %s\n" -msgstr "" - -#: ../utils/net_eventlog.c:164 -#, c-format -msgid "wrote %d entries to tdb\n" -msgstr "" - -#: ../utils/net_eventlog.c:197 -msgid "usage: net eventlog export <file> <eventlog>\n" -msgstr "" - -#: ../utils/net_eventlog.c:214 -#, c-format -msgid "failed to save evt file: %s\n" -msgstr "" - -#: ../utils/net_eventlog.c:243 -msgid "Dump eventlog" -msgstr "" - -#: ../utils/net_eventlog.c:244 -msgid "" -"net eventlog dump\n" -" Dump win32 *.evt eventlog file" -msgstr "" - -#: ../utils/net_eventlog.c:251 -#, fuzzy -msgid "Import eventlog" -msgstr "Важное замечание:" - -#: ../utils/net_eventlog.c:252 -msgid "" -"net eventlog import\n" -" Import win32 *.evt eventlog file" -msgstr "" - -#: ../utils/net_eventlog.c:259 -msgid "Export eventlog" -msgstr "" - -#: ../utils/net_eventlog.c:260 -msgid "" -"net eventlog export\n" -" Export win32 *.evt eventlog file" -msgstr "" - -#: ../utils/net_file.c:27 -msgid "" -"net [<method>] file [misc. options] [targets]\n" -"\tlists all open files on file server\n" -msgstr "" - -#: ../utils/net_file.c:29 -msgid "" -"net [<method>] file USER <username> [misc. options] [targets]\n" -"\tlists all files opened by username on file server\n" -msgstr "" - -#: ../utils/net_file.c:32 -msgid "" -"net [<method>] file CLOSE <id> [misc. options] [targets]\n" -"\tcloses specified file on target server\n" -msgstr "" - -#: ../utils/net_file.c:34 -msgid "" -"net [rap] file INFO <id> [misc. options] [targets]\n" -"\tdisplays information about the specified open file\n" -msgstr "" - -#: ../utils/net_group.c:27 -msgid "" -"net [<method>] group [misc. options] [targets]\n" -"\tList user groups\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:29 -msgid "" -"net rpc group LIST [global|local|builtin]* [misc. options]\n" -"\tList specific user groups\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:31 -msgid "" -"net [<method>] group DELETE <name> [misc. options] [targets]\n" -"\tDelete specified group\n" -msgstr "" - -#: ../utils/net_group.c:34 -msgid "" -"\n" -"net [<method>] group ADD <name> [-C comment] [-c container] [misc. options] [targets]\n" -"\tCreate specified group\n" -msgstr "" - -#: ../utils/net_group.c:37 -msgid "" -"\n" -"net rpc group MEMBERS <name>\n" -"\tList Group Members\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:38 -msgid "" -"\n" -"net rpc group ADDMEM <group> <member>\n" -"\tAdd Group Members\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:40 -msgid "" -"\n" -"net rpc group DELMEM <group> <member>\n" -"\tDelete Group Members\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:44 -msgid "\t-C or --comment=<comment>\tdescriptive comment (for add only)\n" -msgstr "" - -#: ../utils/net_group.c:46 -msgid "\t-c or --container=<container>\tLDAP container, defaults to cn=Users (for add in ADS only)\n" -msgstr "" - -#: ../utils/net_group.c:48 -msgid "\t-L or --localgroup\t\tWhen adding groups, create a local group (alias)\n" -msgstr "" - -#: ../utils/net_groupmap.c:38 -#, c-format -msgid "NT Group %s doesn't exist in mapping DB\n" -msgstr "" - -#: ../utils/net_groupmap.c:46 -#, c-format -msgid "converting sid %s from a string failed!\n" -msgstr "" - -#: ../utils/net_groupmap.c:65 -#, c-format -msgid "\tSID : %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:66 -#, c-format -msgid "\tUnix gid : %u\n" -msgstr "" - -#: ../utils/net_groupmap.c:67 -#, c-format -msgid "\tUnix group: %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:68 -#, c-format -msgid "\tGroup type: %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:70 -#, c-format -msgid "\tComment : %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:84 -msgid "" -"net groupmap list [verbose] [ntgroup=NT group] [sid=SID]\n" -" verbose\tPrint verbose list\n" -" ntgroup\tNT group to list\n" -" sid\tSID of group to list" -msgstr "" - -#: ../utils/net_groupmap.c:91 ../utils/net_groupmap.c:271 ../utils/net_groupmap.c:356 ../utils/net_groupmap.c:412 ../utils/net_groupmap.c:495 ../utils/net_groupmap.c:522 -#, fuzzy, c-format -msgid "" -"Usage:\n" -"%s\n" -msgstr "Имя пользователя" - -#: ../utils/net_groupmap.c:106 ../utils/net_groupmap.c:213 ../utils/net_groupmap.c:220 ../utils/net_groupmap.c:365 ../utils/net_groupmap.c:372 ../utils/net_groupmap.c:504 -msgid "must supply a name\n" -msgstr "" - -#: ../utils/net_groupmap.c:113 ../utils/net_groupmap.c:227 ../utils/net_groupmap.c:511 -msgid "must supply a SID\n" -msgstr "" - -#: ../utils/net_groupmap.c:118 ../utils/net_groupmap.c:265 ../utils/net_groupmap.c:406 ../utils/net_groupmap.c:516 -#, fuzzy, c-format -msgid "Bad option: %s\n" -msgstr "Основные параметры" - -#: ../utils/net_groupmap.c:139 -msgid "Failure to local group SID in the database\n" -msgstr "" - -#: ../utils/net_groupmap.c:181 -msgid "net groupmap add {rid=<int>|sid=<string>} unixgroup=<string> [type=<domain|local|builtin>] [ntgroup=<string>] [comment=<string>]" -msgstr "" - -#: ../utils/net_groupmap.c:195 -#, fuzzy, c-format -msgid "" -"Usage\n" -"%s\n" -msgstr "Имя пользователя" - -#: ../utils/net_groupmap.c:205 -#, c-format -msgid "RID must be greater than %d\n" -msgstr "" - -#: ../utils/net_groupmap.c:235 ../utils/net_groupmap.c:380 -msgid "must supply a comment string\n" -msgstr "" - -#: ../utils/net_groupmap.c:259 -#, c-format -msgid "unknown group type %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:276 -#, c-format -msgid "Can't lookup UNIX group %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:282 -#, c-format -msgid "Unix group %s already mapped to SID %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:289 -msgid "No rid or sid specified, choosing a RID\n" -msgstr "" - -#: ../utils/net_groupmap.c:292 -msgid "Could not get new RID\n" -msgstr "" - -#: ../utils/net_groupmap.c:297 -#, c-format -msgid "Got RID %d\n" -msgstr "" - -#: ../utils/net_groupmap.c:328 -#, c-format -msgid "adding entry for group %s failed!\n" -msgstr "" - -#: ../utils/net_groupmap.c:332 -#, c-format -msgid "Successfully added group %s to the mapping db as a %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:349 -msgid "net groupmap modify {ntgroup=<string>|sid=<SID>} [comment=<string>] [unixgroup=<string>] [type=<domain|local>]" -msgstr "" - -#: ../utils/net_groupmap.c:388 -msgid "must supply a group name\n" -msgstr "" - -#: ../utils/net_groupmap.c:434 -msgid "Failed to find local group SID in the database\n" -msgstr "" - -#: ../utils/net_groupmap.c:443 -msgid "Can't map to an unknown group type.\n" -msgstr "" - -#: ../utils/net_groupmap.c:449 -msgid "You can only change between domain and local groups.\n" -msgstr "" - -#: ../utils/net_groupmap.c:466 -#, c-format -msgid "Unable to lookup UNIX group %s. Make sure the group exists.\n" -msgstr "" - -#: ../utils/net_groupmap.c:476 -msgid "Could not update group database\n" -msgstr "" - -#: ../utils/net_groupmap.c:480 -#, c-format -msgid "Updated mapping entry for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:491 -msgid "net groupmap delete {ntgroup=<string>|sid=<SID>}" -msgstr "" - -#: ../utils/net_groupmap.c:532 -#, c-format -msgid "Unable to resolve group %s to a SID\n" -msgstr "" - -#: ../utils/net_groupmap.c:539 -#, c-format -msgid "Failed to remove group %s from the mapping db!\n" -msgstr "" - -#: ../utils/net_groupmap.c:544 -#, c-format -msgid "Sucessfully removed %s from the mapping db\n" -msgstr "" - -#: ../utils/net_groupmap.c:557 -msgid "Usage: net groupmap set \"NT Group\" [\"unix group\"] [-C \"comment\"] [-L] [-D]\n" -msgstr "" - -#: ../utils/net_groupmap.c:563 -msgid "Can only specify -L or -D, not both\n" -msgstr "" - -#: ../utils/net_groupmap.c:573 -#, c-format -msgid "Could not find unix group %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:594 -#, c-format -msgid "Could not find group mapping for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:605 -msgid "Could not allocate new RID\n" -msgstr "" - -#: ../utils/net_groupmap.c:622 -#, c-format -msgid "Could not add mapping entry for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:633 -#, c-format -msgid "Can't change type of the BUILTIN group %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:660 -#, c-format -msgid "Could not update group mapping for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:674 -msgid "" -"Usage:\n" -"net groupmap cleanup\n" -" Delete all group mappings\n" -msgstr "" - -#: ../utils/net_groupmap.c:682 -msgid "Could not list group mappings\n" -msgstr "" - -#: ../utils/net_groupmap.c:689 -#, c-format -msgid "Group %s is not mapped\n" -msgstr "" - -#: ../utils/net_groupmap.c:692 -#, c-format -msgid "Deleting mapping for NT Group %s, sid %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:712 -msgid "Usage: net groupmap addmem alias-sid member-sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:717 -#, c-format -msgid "Could not add sid %s to alias %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:733 -msgid "Usage: net groupmap delmem alias-sid member-sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:738 -#, c-format -msgid "Could not delete sid %s from alias %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:755 -msgid "Usage: net groupmap listmem alias-sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:764 -#, c-format -msgid "Could not list members for sid %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:791 -#, c-format -msgid "Could not list memberships for sid %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:814 -msgid "Usage: net groupmap memberof sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:820 ../utils/net_idmap.c:345 -msgid "talloc_init failed\n" -msgstr "" - -#: ../utils/net_groupmap.c:827 -msgid "Could not get domain sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:850 -msgid "Create a new group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:851 -msgid "" -"net groupmap add\n" -" Create a new group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:858 -msgid "Update a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:859 -msgid "" -"net groupmap modify\n" -" Modify an existing group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:866 -msgid "Remove a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:867 -msgid "" -"net groupmap delete\n" -" Remove a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:874 -msgid "Set group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:875 -msgid "" -"net groupmap set\n" -" Set a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:882 -msgid "Remove foreign group mapping entries" -msgstr "" - -#: ../utils/net_groupmap.c:883 -msgid "" -"net groupmap cleanup\n" -" Remove foreign group mapping entries" -msgstr "" - -#: ../utils/net_groupmap.c:890 -msgid "Add a foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:891 -msgid "" -"net groupmap addmem\n" -" Add a foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:898 -msgid "Delete foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:899 -msgid "" -"net groupmap delmem\n" -" Delete foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:906 -msgid "List foreign group members" -msgstr "" - -#: ../utils/net_groupmap.c:907 -msgid "" -"net groupmap listmem\n" -" List foreign alias members" -msgstr "" - -#: ../utils/net_groupmap.c:914 -msgid "List foreign group memberships" -msgstr "" - -#: ../utils/net_groupmap.c:915 -msgid "" -"net groupmap memberships\n" -" List foreign group memberships" -msgstr "" - -#: ../utils/net_groupmap.c:922 -msgid "List current group map" -msgstr "" - -#: ../utils/net_groupmap.c:923 -msgid "" -"net groupmap list\n" -" List current group map" -msgstr "" - -#: ../utils/net_help.c:39 -#, c-format -msgid "net %s usage:\n" -msgstr "" - -#: ../utils/net_help_common.c:25 ../utils/net_join.c:28 -msgid "Valid methods: (auto-detected if not specified)\n" -msgstr "" - -#: ../utils/net_help_common.c:26 ../utils/net_join.c:29 -msgid "\tads\t\t\t\tActive Directory (LDAP/Kerberos)\n" -msgstr "" - -#: ../utils/net_help_common.c:27 ../utils/net_join.c:30 -msgid "\trpc\t\t\t\tDCE-RPC\n" -msgstr "" - -#: ../utils/net_help_common.c:28 -msgid "\trap\t\t\t\tRAP (older systems)\n" -msgstr "" - -#: ../utils/net_help_common.c:35 -msgid "Valid targets: choose one (none defaults to localhost)\n" -msgstr "" - -#: ../utils/net_help_common.c:36 -msgid "\t-S or --server=<server>\t\tserver name\n" -msgstr "" - -#: ../utils/net_help_common.c:37 -msgid "\t-I or --ipaddress=<ipaddr>\taddress of target server\n" -msgstr "" - -#: ../utils/net_help_common.c:38 -msgid "\t-w or --workgroup=<wg>\t\ttarget workgroup or domain\n" -msgstr "" - -#: ../utils/net_help_common.c:41 -#, fuzzy -msgid "Valid miscellaneous options are:\n" -msgstr "Различные параметры" - -#. misc options -#: ../utils/net_help_common.c:42 -msgid "\t-p or --port=<port>\t\tconnection port on target\n" -msgstr "" - -#: ../utils/net_help_common.c:43 -msgid "\t-W or --myworkgroup=<wg>\tclient workgroup\n" -msgstr "" - -#: ../utils/net_help_common.c:44 -msgid "\t-d or --debuglevel=<level>\tdebug level (0-10)\n" -msgstr "" - -#: ../utils/net_help_common.c:45 -msgid "\t-n or --myname=<name>\t\tclient name\n" -msgstr "" - -#: ../utils/net_help_common.c:46 -msgid "\t-U or --user=<name>\t\tuser name\n" -msgstr "" - -#: ../utils/net_help_common.c:47 -msgid "\t-s or --configfile=<path>\tpathname of smb.conf file\n" -msgstr "" - -#: ../utils/net_help_common.c:48 -msgid "\t-l or --long\t\t\tDisplay full information\n" -msgstr "" - -#: ../utils/net_help_common.c:49 -msgid "\t-V or --version\t\t\tPrint samba version information\n" -msgstr "" - -#: ../utils/net_help_common.c:50 -msgid "\t-P or --machine-pass\t\tAuthenticate as machine account\n" -msgstr "" - -#: ../utils/net_help_common.c:52 -msgid "\t-e or --encrypt\t\t\tEncrypt SMB transport (UNIX extended servers only)\n" -msgstr "" - -#: ../utils/net_help_common.c:54 -msgid "\t-k or --kerberos\t\tUse kerberos (active directory) authentication\n" -msgstr "" - -#: ../utils/net_idmap.c:25 -msgid "Out of memory!\n" -msgstr "" - -#: ../utils/net_idmap.c:39 -#, c-format -msgid "USER HWM %d\n" -msgstr "" - -#: ../utils/net_idmap.c:44 -#, c-format -msgid "GROUP HWM %d\n" -msgstr "" - -#: ../utils/net_idmap.c:63 -msgid "" -"Usage:\n" -"net idmap dump <inputfile>\n" -" Dump current ID mapping.\n" -" inputfile\tTDB file to read mappings from.\n" -msgstr "" - -#: ../utils/net_idmap.c:73 -#, c-format -msgid "Could not open idmap: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:94 -msgid "" -"Usage:\n" -"net idmap restore [inputfile]\n" -" Restore ID mappings from file\n" -" inputfile\tFile to load ID mappings from. If not given, load data from stdin.\n" -msgstr "" - -#: ../utils/net_idmap.c:104 -msgid "To use net idmap Winbindd must be running.\n" -msgstr "" - -#: ../utils/net_idmap.c:142 -#, c-format -msgid "Could not set USER HWM: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:151 -#, c-format -msgid "Could not set GROUP HWM: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:156 -#, c-format -msgid "ignoring invalid line [%s]\n" -msgstr "" - -#: ../utils/net_idmap.c:163 -#, c-format -msgid "ignoring invalid sid [%s]: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:175 -#, c-format -msgid "Could not set mapping of %s %lu to sid %s: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:196 ../utils/net_idmap.c:202 -msgid "Not Implemented yet\n" -msgstr "" - -#: ../utils/net_idmap.c:240 -msgid "" -"Usage:\n" -"net idmap secret {<DOMAIN>|alloc} <secret>\n" -" Set the secret for the specified domain (or alloc module)\n" -" DOMAIN\tDomain to set secret for.\n" -" alloc\tSet secret for the alloc module\n" -" secret\tNew secret to set.\n" -msgstr "" - -#: ../utils/net_idmap.c:271 -msgid "The only currently supported backend is LDAP\n" -msgstr "" - -#: ../utils/net_idmap.c:281 -#, c-format -msgid "Missing ldap_user_dn option for domain %s\n" -msgstr "" - -#: ../utils/net_idmap.c:292 -msgid "Missing ldap_user_dn option for alloc backend\n" -msgstr "" - -#: ../utils/net_idmap.c:302 -msgid "Failed to store secret\n" -msgstr "" - -#: ../utils/net_idmap.c:307 -msgid "Secret stored\n" -msgstr "" - -#: ../utils/net_idmap.c:313 -msgid "" -"net idmap dump <inputfile>\n" -" Dump current id mapping\n" -msgstr "" - -#: ../utils/net_idmap.c:316 -msgid "" -"net idmap restore\n" -" Restore entries from stdin\n" -msgstr "" - -#. Deliberately *not* document net idmap delete -#: ../utils/net_idmap.c:321 -msgid "" -"net idmap secret <DOMAIN>|alloc <secret>\n" -" Set the secret for the specified DOMAIN (or the alloc module)\n" -msgstr "" - -#: ../utils/net_idmap.c:339 -msgid "usage: net idmap aclmapset <tdb> <src-sid> <dst-sid>\n" -msgstr "" - -#: ../utils/net_idmap.c:351 -#, fuzzy, c-format -msgid "db_open failed: %s\n" -msgstr "Пароли" - -#: ../utils/net_idmap.c:356 ../utils/net_idmap.c:361 -#, c-format -msgid "%s is not a valid sid\n" -msgstr "" - -#: ../utils/net_idmap.c:367 -msgid "talloc_strdup failed\n" -msgstr "" - -#: ../utils/net_idmap.c:373 -msgid "could not fetch db record\n" -msgstr "" - -#: ../utils/net_idmap.c:381 -#, c-format -msgid "could not store record: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:402 -msgid "Dump the current ID mappings" -msgstr "" - -#: ../utils/net_idmap.c:403 -msgid "" -"net idmap dump\n" -" Dump the current ID mappings" -msgstr "" - -#: ../utils/net_idmap.c:410 -msgid "Restore entries from stdin" -msgstr "" - -#: ../utils/net_idmap.c:411 -msgid "" -"net idmap restore\n" -" Restore entries from stdin" -msgstr "" - -#: ../utils/net_idmap.c:418 ../utils/net_idmap.c:426 -msgid "Not implemented yet" -msgstr "" - -#: ../utils/net_idmap.c:419 -msgid "" -"net idmap setmap\n" -" Not implemented yet" -msgstr "" - -#: ../utils/net_idmap.c:427 -msgid "" -"net idmap delete\n" -" Not implemented yet" -msgstr "" - -#: ../utils/net_idmap.c:434 -msgid "Set secret for specified domain" -msgstr "" - -#: ../utils/net_idmap.c:435 -msgid "" -"net idmap secret {<DOMAIN>|alloc} <secret>\n" -" Set secret for specified domain or alloc module" -msgstr "" - -#: ../utils/net_idmap.c:442 -msgid "Set acl map" -msgstr "" - -#: ../utils/net_idmap.c:443 -msgid "" -"net idmap aclmapset\n" -" Set acl map" -msgstr "" - -#: ../utils/net_join.c:26 -msgid "" -"\n" -"net [<method>] join [misc. options]\n" -"\tjoins this server to a domain\n" -msgstr "" - -#: ../utils/net_join.c:47 -msgid "ADS join did not work, falling back to RPC...\n" -msgstr "" - -#: ../utils/net_lookup.c:25 -msgid "" -" net lookup [host] HOSTNAME[#<type>]\n" -"\tgives IP for a hostname\n" -"\n" -" net lookup ldap [domain]\n" -"\tgives IP of domain's ldap server\n" -"\n" -" net lookup kdc [realm]\n" -"\tgives IP of realm's kerberos KDC\n" -"\n" -" net lookup pdc [domain|realm]\n" -"\tgives IP of realm's kerberos KDC\n" -"\n" -" net lookup dc [domain]\n" -"\tgives IP of domains Domain Controllers\n" -"\n" -" net lookup master [domain|wg]\n" -"\tgive IP of master browser\n" -"\n" -" net lookup name [name]\n" -"\tLookup name's sid and type\n" -"\n" -" net lookup sid [sid]\n" -"\tGive sid's name and type\n" -"\n" -" net lookup dsgetdcname [name] [flags] [sitename]\n" -"\n" -msgstr "" - -#: ../utils/net_lookup.c:112 -msgid "net_lookup_ldap: talloc_init() failed!\n" -msgstr "" - -#: ../utils/net_lookup.c:325 -msgid "usage: net lookup name <name>\n" -msgstr "" - -#: ../utils/net_lookup.c:331 ../utils/net_lookup.c:358 -#, c-format -msgid "Could not lookup name %s\n" -msgstr "" - -#: ../utils/net_lookup.c:347 -msgid "usage: net lookup sid <sid>\n" -msgstr "" - -#: ../utils/net_lookup.c:352 -#, c-format -msgid "Could not convert %s to SID\n" -msgstr "" - -#: ../utils/net_lookup.c:378 -msgid "usage: net lookup dsgetdcname <name> <flags> <sitename>\n" -msgstr "" - -#: ../utils/net_lookup.c:404 -#, c-format -msgid "failed with: %s\n" -msgstr "" - -#: ../utils/net_lookup.c:437 -msgid "" -"\n" -"Usage: \n" -msgstr "" - -#: ../utils/net_lua.c:60 -msgid "connect: Expected IP-Address" -msgstr "" - -#: ../utils/net_lua.c:65 -msgid "connect: Expected port" -msgstr "" - -#: ../utils/net_lua.c:84 -#, fuzzy, c-format -msgid "connect failed: %s" -msgstr "Пароли" - -#: ../utils/net_lua.c:132 -#, c-format -msgid "socket domain %s unknown" -msgstr "" - -#: ../utils/net_lua.c:144 -#, c-format -msgid "socket type %s unknown" -msgstr "" - -#: ../utils/net_lua.c:155 -#, fuzzy, c-format -msgid "socket() failed: %s" -msgstr "Пароли" - -#: ../utils/net_lua.c:278 -msgid "evt_reference_thread failed\n" -msgstr "" - -#: ../utils/net_lua.c:287 -msgid "event_add_timed failed" -msgstr "" - -#: ../utils/net_lua.c:300 -msgid "event_once called from non-base thread" -msgstr "" - -#: ../utils/net_lua.c:323 -msgid "event_context_init failed" -msgstr "" - -#: ../utils/net_lua.c:353 -msgid "lua_newstate failed\n" -msgstr "" - -#: ../utils/net_lua.c:371 -msgid "luaL_dofile returned an error\n" -msgstr "" - -#: ../utils/net_lua.c:376 -msgid "luaL_dostring returned an error\n" -msgstr "" diff --git a/source3/po/tr.msg b/source3/po/tr.msg index 44a3e00045..03b489d033 100644 --- a/source3/po/tr.msg +++ b/source3/po/tr.msg @@ -17,8 +17,7 @@ msgid "" msgstr "" "Project-Id-Version: i18n_swat \n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-07-30 12:18+0200\n" +"POT-Creation-Date: 2003-10-06 05:30+0900\n" "PO-Revision-Date: 2001-09-20 22:51EEST\n" "Last-Translator: Deniz Akkus Kanca <deniz@arayan.com>\n" "Language-Team: Turkish <gnu-tr-u12a@lists.sourceforge.net>\n" @@ -27,4014 +26,568 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 0.9.1\n" -#: ../web/swat.c:153 +#: ../web/swat.c:117 #, c-format msgid "ERROR: Can't open %s" msgstr "" -#: ../web/swat.c:241 +#: ../web/swat.c:200 msgid "Help" msgstr "Yardım" -#: ../web/swat.c:247 ../web/swat.c:272 ../web/swat.c:293 ../web/swat.c:302 ../web/swat.c:311 ../web/swat.c:317 ../web/swat.c:329 ../web/swat.c:343 +#: ../web/swat.c:206 ../web/swat.c:220 ../web/swat.c:235 ../web/swat.c:243 ../web/swat.c:252 ../web/swat.c:261 ../web/swat.c:267 ../web/swat.c:273 ../web/swat.c:286 msgid "Set Default" msgstr "Öntanımlıya Ayarla" -#: ../web/swat.c:465 +#: ../web/swat.c:408 #, c-format msgid "failed to open %s for writing" msgstr "" -#: ../web/swat.c:488 +#: ../web/swat.c:431 #, c-format msgid "Can't reload %s" msgstr "" -#: ../web/swat.c:561 +#: ../web/swat.c:501 #, c-format msgid "Logged in as <b>%s</b>" msgstr "<b>%s</b> kimliği ile oturum açılmış" -#: ../web/swat.c:565 +#: ../web/swat.c:505 msgid "Home" msgstr "Ev" -#: ../web/swat.c:567 +#: ../web/swat.c:507 msgid "Globals" msgstr "Evrenseller" -#: ../web/swat.c:568 +#: ../web/swat.c:508 msgid "Shares" msgstr "Paylaşımlar" -#: ../web/swat.c:569 +#: ../web/swat.c:509 msgid "Printers" msgstr "Yazıcılar" -#: ../web/swat.c:570 +#: ../web/swat.c:510 msgid "Wizard" msgstr "" -#: ../web/swat.c:574 +#: ../web/swat.c:513 msgid "Status" msgstr "Durum" -#: ../web/swat.c:575 +#: ../web/swat.c:514 msgid "View Config" msgstr "Ayarlara Gözat" -#: ../web/swat.c:577 +#: ../web/swat.c:516 msgid "Password Management" msgstr "Şifre Yönetimi" -#: ../web/swat.c:587 +#: ../web/swat.c:526 msgid "Current View Is" msgstr "Şimdiki Ayarlar" -#: ../web/swat.c:588 ../web/swat.c:591 +#: ../web/swat.c:527 ../web/swat.c:530 msgid "Basic" msgstr "Temel Görünüm" -#: ../web/swat.c:589 ../web/swat.c:592 +#: ../web/swat.c:528 ../web/swat.c:531 msgid "Advanced" msgstr "Gelişmiş Görünüm" -#: ../web/swat.c:590 +#: ../web/swat.c:529 msgid "Change View To" msgstr "Şifre Değiştir" -#: ../web/swat.c:619 +#: ../web/swat.c:554 msgid "Current Config" msgstr "Şimdiki Ayarlar" -#: ../web/swat.c:623 +#: ../web/swat.c:558 msgid "Normal View" msgstr "Normal Görünüm" -#: ../web/swat.c:625 +#: ../web/swat.c:560 msgid "Full View" msgstr "Tam Görünüm" #. Here we first set and commit all the parameters that were selected #. in the previous screen. -#: ../web/swat.c:644 +#: ../web/swat.c:579 msgid "Wizard Parameter Edit Page" msgstr "" -#: ../web/swat.c:673 +#: ../web/swat.c:608 msgid "Note: smb.conf file has been read and rewritten" msgstr "" #. Here we go ... -#: ../web/swat.c:779 +#: ../web/swat.c:716 msgid "Samba Configuration Wizard" msgstr "" -#: ../web/swat.c:783 +#: ../web/swat.c:720 msgid "The \"Rewrite smb.conf file\" button will clear the smb.conf file of all default values and of comments." msgstr "" -#: ../web/swat.c:784 +#: ../web/swat.c:721 msgid "The same will happen if you press the commit button." msgstr "" -#: ../web/swat.c:787 +#: ../web/swat.c:724 msgid "Rewrite smb.conf file" msgstr "" -#: ../web/swat.c:788 +#: ../web/swat.c:725 msgid "Commit" msgstr "açıklama" -#: ../web/swat.c:789 +#: ../web/swat.c:726 msgid "Edit Parameter Values" msgstr "Yazıcı Bilgileri" -#: ../web/swat.c:795 +#: ../web/swat.c:732 msgid "Server Type" msgstr "" -#: ../web/swat.c:796 +#: ../web/swat.c:733 msgid "Stand Alone" msgstr "Nmbd'yi çalıştır" -#: ../web/swat.c:797 +#: ../web/swat.c:734 msgid "Domain Member" msgstr "alan sunucusu" -#: ../web/swat.c:798 +#: ../web/swat.c:735 msgid "Domain Controller" msgstr "alan sunucusu" -#: ../web/swat.c:801 +#: ../web/swat.c:738 msgid "Unusual Type in smb.conf - Please Select New Mode" msgstr "" -#: ../web/swat.c:803 +#: ../web/swat.c:740 msgid "Configure WINS As" msgstr "" -#: ../web/swat.c:804 +#: ../web/swat.c:741 msgid "Not Used" msgstr "dont descend" -#: ../web/swat.c:805 +#: ../web/swat.c:742 msgid "Server for client use" msgstr "" -#: ../web/swat.c:806 +#: ../web/swat.c:743 msgid "Client of another WINS server" msgstr "" -#: ../web/swat.c:808 +#: ../web/swat.c:745 msgid "Remote WINS Server" msgstr "" -#: ../web/swat.c:819 +#: ../web/swat.c:756 msgid "Error: WINS Server Mode and WINS Support both set in smb.conf" msgstr "" -#: ../web/swat.c:820 +#: ../web/swat.c:757 msgid "Please Select desired WINS mode above." msgstr "" -#: ../web/swat.c:822 +#: ../web/swat.c:759 msgid "Expose Home Directories" msgstr "" -#: ../web/swat.c:837 +#: ../web/swat.c:774 msgid "The above configuration options will set multiple parameters and will generally assist with rapid Samba deployment." msgstr "" -#: ../web/swat.c:850 +#: ../web/swat.c:787 msgid "Global Parameters" msgstr "Genel Değişkenler" -#: ../web/swat.c:878 ../web/swat.c:986 ../web/swat.c:1344 +#: ../web/swat.c:815 ../web/swat.c:916 ../web/swat.c:1265 msgid "Commit Changes" msgstr "Değişiklikleri Kaydet" -#: ../web/swat.c:882 ../web/swat.c:989 ../web/swat.c:1346 +#: ../web/swat.c:819 ../web/swat.c:919 ../web/swat.c:1267 msgid "Reset Values" msgstr "Değerleri İlk Haline Getir" -#: ../web/swat.c:908 +#: ../web/swat.c:844 msgid "Share Parameters" msgstr "Paylaşım Parametreleri" -#: ../web/swat.c:955 +#: ../web/swat.c:887 msgid "Choose Share" msgstr "Paylaşım Seçin" -#: ../web/swat.c:971 +#: ../web/swat.c:901 msgid "Delete Share" msgstr "Paylaşım Kaldır" -#: ../web/swat.c:978 +#: ../web/swat.c:908 msgid "Create Share" msgstr "Paylaşım Oluştur" -#: ../web/swat.c:1014 +#: ../web/swat.c:944 msgid "password change in demo mode rejected" msgstr "demo kipinde şifre değişikliği kabul edilmedi\n" -#: ../web/swat.c:1028 +#: ../web/swat.c:957 msgid "Can't setup password database vectors." msgstr "" -#: ../web/swat.c:1056 +#: ../web/swat.c:983 msgid " Must specify \"User Name\" " msgstr " \"Kullanıcı Adı\" belirtilmeli \n" -#: ../web/swat.c:1072 +#: ../web/swat.c:999 msgid " Must specify \"Old Password\" " msgstr " \"Eski Şifre\" belirtilmeli \n" -#: ../web/swat.c:1078 +#: ../web/swat.c:1005 msgid " Must specify \"Remote Machine\" " msgstr " \"Uzak Makina\" belirtilmeli \n" -#: ../web/swat.c:1085 +#: ../web/swat.c:1012 msgid " Must specify \"New, and Re-typed Passwords\" " msgstr " \"Yeni ve Tekrar Girilmiş Şifreler\" belirtilmeli \n" -#: ../web/swat.c:1091 +#: ../web/swat.c:1018 msgid " Re-typed password didn't match new password " msgstr " Tekrar girilen şifre yeni şifre ile eşleşmedi\n" -#: ../web/swat.c:1124 +#: ../web/swat.c:1048 #, c-format msgid " The passwd for '%s' has been changed." msgstr " '%s' için şifre değiştirildi." -#: ../web/swat.c:1127 +#: ../web/swat.c:1051 #, c-format msgid " The passwd for '%s' has NOT been changed." msgstr " '%s' için şifre DEĞİŞTİRİLMEDİ." -#: ../web/swat.c:1152 +#: ../web/swat.c:1076 msgid "Server Password Management" msgstr "Sunucu Şifre Yönetimi" #. #. * Create all the dialog boxes for data collection #. -#: ../web/swat.c:1161 ../web/swat.c:1208 +#: ../web/swat.c:1085 ../web/swat.c:1132 msgid "User Name" msgstr " Kullanıcı Adı" -#: ../web/swat.c:1164 ../web/swat.c:1210 +#: ../web/swat.c:1088 ../web/swat.c:1134 msgid "Old Password" msgstr " Eski Şifre" -#: ../web/swat.c:1167 ../web/swat.c:1212 +#: ../web/swat.c:1091 ../web/swat.c:1136 msgid "New Password" msgstr " Yeni Şifre" -#: ../web/swat.c:1169 ../web/swat.c:1214 +#: ../web/swat.c:1093 ../web/swat.c:1138 msgid "Re-type New Password" msgstr " Yeni Şifre Tekrarı" -#: ../web/swat.c:1177 ../web/swat.c:1225 +#: ../web/swat.c:1101 ../web/swat.c:1149 msgid "Change Password" msgstr "Şifre Değiştir" -#: ../web/swat.c:1180 +#: ../web/swat.c:1104 msgid "Add New User" msgstr "Kull. Ekle" -#: ../web/swat.c:1182 +#: ../web/swat.c:1106 msgid "Delete User" msgstr "Kull. Sil" -#: ../web/swat.c:1184 +#: ../web/swat.c:1108 msgid "Disable User" msgstr "Kull. Etkisizleştir" -#: ../web/swat.c:1186 +#: ../web/swat.c:1110 msgid "Enable User" msgstr "Kull. Etkinleştir" -#: ../web/swat.c:1199 +#: ../web/swat.c:1123 msgid "Client/Server Password Management" msgstr "İstemci/Sunucu Şifre Yönetimi" -#: ../web/swat.c:1216 +#: ../web/swat.c:1140 msgid "Remote Machine" msgstr " Uzak Makina" -#: ../web/swat.c:1255 +#: ../web/swat.c:1179 msgid "Printer Parameters" msgstr "Yazıcı Bilgileri" -#: ../web/swat.c:1257 +#: ../web/swat.c:1181 msgid "Important Note:" msgstr "Önemli Not:" -#: ../web/swat.c:1258 +#: ../web/swat.c:1182 msgid "Printer names marked with [*] in the Choose Printer drop-down box " msgstr "Yazıcı Seç kutusunda [*] ile işaretlenmiş yazıcı isimleri " -#: ../web/swat.c:1259 +#: ../web/swat.c:1183 msgid "are autoloaded printers from " msgstr "otomatik yüklenen yazıcılar " -#: ../web/swat.c:1260 +#: ../web/swat.c:1184 msgid "Printcap Name" msgstr "Printcap Adı" -#: ../web/swat.c:1261 +#: ../web/swat.c:1185 msgid "Attempting to delete these printers from SWAT will have no effect." msgstr "Bu yazıcıları SWAT'dan silmek etkisiz olacaktır.\n" -#: ../web/swat.c:1310 +#: ../web/swat.c:1231 msgid "Choose Printer" msgstr "Yazıcı Seç" -#: ../web/swat.c:1329 +#: ../web/swat.c:1250 msgid "Delete Printer" msgstr "Yazıcı Sil" -#: ../web/swat.c:1336 +#: ../web/swat.c:1257 msgid "Create Printer" msgstr "Yazıcı Oluştur" -#: ../web/statuspage.c:151 -msgid "RDWR " -msgstr "O/Y " +#: ../web/statuspage.c:123 +msgid "RDONLY " +msgstr "SALTOKUNUR " -#: ../web/statuspage.c:153 +#: ../web/statuspage.c:124 msgid "WRONLY " msgstr "SALTYAZILIR " -#: ../web/statuspage.c:155 -msgid "RDONLY " -msgstr "SALTOKUNUR " +#: ../web/statuspage.c:125 +msgid "RDWR " +msgstr "O/Y " -#: ../web/statuspage.c:329 +#: ../web/statuspage.c:309 msgid "Server Status" msgstr "Sunucu Durumu" -#: ../web/statuspage.c:334 +#: ../web/statuspage.c:314 msgid "Auto Refresh" msgstr "Oto Tazele" -#: ../web/statuspage.c:335 ../web/statuspage.c:340 +#: ../web/statuspage.c:315 ../web/statuspage.c:320 msgid "Refresh Interval: " msgstr "Tazeleme Aralığı: " -#: ../web/statuspage.c:339 +#: ../web/statuspage.c:319 msgid "Stop Refreshing" msgstr "Tazelemeyi Durdur" -#: ../web/statuspage.c:348 +#: ../web/statuspage.c:334 msgid "version:" msgstr "sürüm:" -#: ../web/statuspage.c:351 +#: ../web/statuspage.c:337 msgid "smbd:" msgstr "smbd:" -#: ../web/statuspage.c:351 ../web/statuspage.c:364 ../web/statuspage.c:378 +#: ../web/statuspage.c:337 ../web/statuspage.c:350 ../web/statuspage.c:364 msgid "running" msgstr "çalışıyor" -#: ../web/statuspage.c:351 ../web/statuspage.c:364 ../web/statuspage.c:378 +#: ../web/statuspage.c:337 ../web/statuspage.c:350 ../web/statuspage.c:364 msgid "not running" msgstr "çalışmıyor" -#: ../web/statuspage.c:355 +#: ../web/statuspage.c:341 msgid "Stop smbd" msgstr "Smbd'yi durdur" -#: ../web/statuspage.c:357 +#: ../web/statuspage.c:343 msgid "Start smbd" msgstr "Smbd'yi çalıştır" -#: ../web/statuspage.c:359 +#: ../web/statuspage.c:345 msgid "Restart smbd" msgstr "Smbd'yi yeniden çalıştır" -#: ../web/statuspage.c:364 +#: ../web/statuspage.c:350 msgid "nmbd:" msgstr "nmbd:" -#: ../web/statuspage.c:368 +#: ../web/statuspage.c:354 msgid "Stop nmbd" msgstr "Nmbd'yi durdur" -#: ../web/statuspage.c:370 +#: ../web/statuspage.c:356 msgid "Start nmbd" msgstr "Nmbd'yi çalıştır" -#: ../web/statuspage.c:372 +#: ../web/statuspage.c:358 msgid "Restart nmbd" msgstr "Nmbd'yi yeniden çalıştır" -#: ../web/statuspage.c:378 +#: ../web/statuspage.c:364 msgid "winbindd:" msgstr "winbind uid" -#: ../web/statuspage.c:382 +#: ../web/statuspage.c:368 msgid "Stop winbindd" msgstr "Nmbd'yi durdur" -#: ../web/statuspage.c:384 +#: ../web/statuspage.c:370 msgid "Start winbindd" msgstr "Nmbd'yi çalıştır" -#: ../web/statuspage.c:386 +#: ../web/statuspage.c:372 msgid "Restart winbindd" msgstr "Nmbd'yi yeniden çalıştır" #. stop, restart all -#: ../web/statuspage.c:395 +#: ../web/statuspage.c:381 msgid "Stop All" msgstr "" -#: ../web/statuspage.c:396 +#: ../web/statuspage.c:382 msgid "Restart All" msgstr "Nmbd'yi yeniden çalıştır" #. start all -#: ../web/statuspage.c:400 +#: ../web/statuspage.c:386 msgid "Start All" msgstr "Nmbd'yi çalıştır" -#: ../web/statuspage.c:407 +#: ../web/statuspage.c:393 msgid "Active Connections" msgstr "Aktif Bağlantılar" -#: ../web/statuspage.c:409 ../web/statuspage.c:422 ../web/statuspage.c:431 +#: ../web/statuspage.c:395 ../web/statuspage.c:408 ../web/statuspage.c:416 msgid "PID" msgstr "PID" -#: ../web/statuspage.c:409 ../web/statuspage.c:422 +#: ../web/statuspage.c:395 ../web/statuspage.c:408 msgid "Client" msgstr "İstemci" -#: ../web/statuspage.c:409 +#: ../web/statuspage.c:395 msgid "IP address" msgstr "IP numarası" -#: ../web/statuspage.c:409 ../web/statuspage.c:422 ../web/statuspage.c:431 +#: ../web/statuspage.c:395 ../web/statuspage.c:408 ../web/statuspage.c:416 msgid "Date" msgstr "Tarih" -#: ../web/statuspage.c:411 +#: ../web/statuspage.c:397 msgid "Kill" msgstr "Kapat" -#: ../web/statuspage.c:419 +#: ../web/statuspage.c:405 msgid "Active Shares" msgstr "Aktif Paylaşımlar" -#: ../web/statuspage.c:422 +#: ../web/statuspage.c:408 msgid "Share" msgstr "Paylaşım" -#: ../web/statuspage.c:422 +#: ../web/statuspage.c:408 msgid "User" msgstr "Kullanıcı" -#: ../web/statuspage.c:422 +#: ../web/statuspage.c:408 msgid "Group" msgstr "Grup" -#: ../web/statuspage.c:428 +#: ../web/statuspage.c:414 msgid "Open Files" msgstr "Açık Dosyalar" -#: ../web/statuspage.c:431 -#, fuzzy -msgid "UID" -msgstr "PID" - -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:416 msgid "Sharing" msgstr "Paylaşılıyor" -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:416 msgid "R/W" msgstr "O/Y" -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:416 msgid "Oplock" msgstr "Oplock" -#: ../web/statuspage.c:431 +#: ../web/statuspage.c:416 msgid "File" msgstr "Dosya" -#: ../web/statuspage.c:438 +#: ../web/statuspage.c:425 msgid "Show Client in col 1" msgstr "" -#: ../web/statuspage.c:439 +#: ../web/statuspage.c:426 msgid "Show PID in col 1" msgstr "" -#: ../param/loadparm.c:907 +#: ../param/loadparm.c:755 msgid "Base Options" msgstr "Temel Seçenekler" -#: ../param/loadparm.c:1047 +#: ../param/loadparm.c:775 msgid "Security Options" msgstr "Güvenlik Seçenekleri" -#: ../param/loadparm.c:1800 +#: ../param/loadparm.c:859 msgid "Logging Options" msgstr "Günlük Kaydı Seçenekleri" -#: ../param/loadparm.c:1929 +#: ../param/loadparm.c:874 msgid "Protocol Options" msgstr "Protokol Seçenekleri" -#: ../param/loadparm.c:2301 +#: ../param/loadparm.c:911 msgid "Tuning Options" msgstr "Ayar Seçenekleri" -#: ../param/loadparm.c:2538 +#: ../param/loadparm.c:940 msgid "Printing Options" msgstr "Yazdırma Seçenekleri" -#: ../param/loadparm.c:2858 +#: ../param/loadparm.c:970 msgid "Filename Handling" msgstr "Dosyaadı İşlenmesi" -#: ../param/loadparm.c:3088 +#: ../param/loadparm.c:996 msgid "Domain Options" msgstr "Alan Seçenekleri" -#: ../param/loadparm.c:3100 +#: ../param/loadparm.c:1000 msgid "Logon Options" msgstr "Sistem Giriş Seçenekleri" -#: ../param/loadparm.c:3273 +#: ../param/loadparm.c:1019 msgid "Browse Options" msgstr "Gözatma Seçenekleri" -#: ../param/loadparm.c:3384 +#: ../param/loadparm.c:1033 msgid "WINS Options" msgstr "WINS Seçenekleri" -#: ../param/loadparm.c:3432 +#: ../param/loadparm.c:1043 msgid "Locking Options" msgstr "Kilitleme Seçenekleri" -#: ../param/loadparm.c:3552 +#: ../param/loadparm.c:1061 msgid "Ldap Options" msgstr "Ldap Seçenekleri" -#: ../param/loadparm.c:3708 -#, fuzzy -msgid "EventLog Options" -msgstr "Sistem Giriş Seçenekleri" - -#: ../param/loadparm.c:3720 +#: ../param/loadparm.c:1078 msgid "Miscellaneous Options" msgstr "Diğer Seçenekler" -#: ../param/loadparm.c:4301 +#: ../param/loadparm.c:1138 msgid "VFS module options" msgstr "VFS Seçenekleri" -#: ../param/loadparm.c:4323 -#, fuzzy -msgid "MSDFS options" -msgstr "VFS Seçenekleri" - -#: ../param/loadparm.c:4353 +#: ../param/loadparm.c:1148 msgid "Winbind options" msgstr "Winbind seçenekleri" - -#: ../utils/net.c:103 -msgid "Enter machine password: " -msgstr "" - -#: ../utils/net.c:107 -msgid "Unable to write the machine account password in the secrets database" -msgstr "" - -#: ../utils/net.c:111 -msgid "Modified trust account password in secrets database\n" -msgstr "" - -#: ../utils/net.c:115 -msgid "" -"Machine account password change requires the -f flag.\n" -"Do NOT use this function unless you know what it does!\n" -"This function will change the ADS Domain member machine account password in the secrets.tdb file!\n" -msgstr "" - -#: ../utils/net.c:150 ../utils/net.c:228 -#, c-format -msgid "Unable to open secrets.tdb. Can't fetch domain SID for name: %s\n" -msgstr "" - -#: ../utils/net.c:163 ../utils/net.c:251 -#, c-format -msgid "SID for domain %s is: %s\n" -msgstr "" - -#: ../utils/net.c:175 -msgid "usage: net setlocalsid S-1-5-21-x-y-z\n" -msgstr "" - -#: ../utils/net.c:195 -msgid "usage: net setdomainsid S-1-5-21-x-y-z\n" -msgstr "" - -#: ../utils/net.c:213 -msgid "usage: net getdomainsid\n" -msgstr "" - -#: ../utils/net.c:238 -msgid "Could not fetch local SID\n" -msgstr "" - -#: ../utils/net.c:242 -#, c-format -msgid "SID for local machine %s is: %s\n" -msgstr "" - -#: ../utils/net.c:246 -msgid "Could not fetch domain SID\n" -msgstr "" - -#: ../utils/net.c:263 -#, c-format -msgid "get_maxrid: Could not search %s\n" -msgstr "" - -#: ../utils/net.c:297 -msgid "usage: net maxrid\n" -msgstr "" - -#: ../utils/net.c:302 -msgid "can't get current maximum rid\n" -msgstr "" - -#: ../utils/net.c:306 -#, c-format -msgid "Currently used maximum rid: %d\n" -msgstr "" - -#: ../utils/net.c:317 -msgid "Run functions using RPC transport" -msgstr "" - -#: ../utils/net.c:318 -msgid " Use 'net help rpc' to get more extensive information about 'net rpc' commands." -msgstr "" - -#: ../utils/net.c:325 -msgid "Run functions using RAP transport" -msgstr "" - -#: ../utils/net.c:326 -msgid " Use 'net help rap' to get more extensive information about 'net rap' commands." -msgstr "" - -#: ../utils/net.c:333 -msgid "Run functions using ADS transport" -msgstr "" - -#: ../utils/net.c:334 -msgid " Use 'net help ads' to get more extensive information about 'net ads' commands." -msgstr "" - -#: ../utils/net.c:343 -msgid "Functions on remote opened files" -msgstr "" - -#: ../utils/net.c:344 -msgid " Use 'net help file' to get more information about 'net file' commands." -msgstr "" - -#: ../utils/net.c:351 -msgid "Functions on shares" -msgstr "" - -#: ../utils/net.c:352 -msgid " Use 'net help share' to get more information about 'net share' commands." -msgstr "" - -#: ../utils/net.c:359 -msgid "Manage sessions" -msgstr "" - -#: ../utils/net.c:360 -msgid " Use 'net help session' to get more information about 'net session' commands." -msgstr "" - -#: ../utils/net.c:367 -msgid "List servers in workgroup" -msgstr "" - -#: ../utils/net.c:368 -msgid " Use 'net help server' to get more information about 'net server' commands." -msgstr "" - -#: ../utils/net.c:375 -msgid "List domains/workgroups on network" -msgstr "" - -#: ../utils/net.c:376 -msgid " Use 'net help domain' to get more information about 'net domain' commands." -msgstr "" - -#: ../utils/net.c:383 -msgid "Modify printer queue" -msgstr "" - -#: ../utils/net.c:384 -msgid " Use 'net help printq' to get more information about 'net printq' commands." -msgstr "" - -#: ../utils/net.c:391 -#, fuzzy -msgid "Manage users" -msgstr "Kull. Etkinleştir" - -#: ../utils/net.c:392 -msgid " Use 'net help user' to get more information about 'net user' commands." -msgstr "" - -#: ../utils/net.c:399 -msgid "Manage groups" -msgstr "" - -#: ../utils/net.c:400 -msgid " Use 'net help group' to get more information about 'net group' commands." -msgstr "" - -#: ../utils/net.c:407 -msgid "Manage group mappings" -msgstr "" - -#: ../utils/net.c:408 -msgid " Use 'net help groupmap' to get more information about 'net groupmap' commands." -msgstr "" - -#: ../utils/net.c:415 -msgid "Functions on the SAM database" -msgstr "" - -#: ../utils/net.c:416 -msgid " Use 'net help sam' to get more information about 'net sam' commands." -msgstr "" - -#: ../utils/net.c:423 -msgid "Validate username and password" -msgstr "" - -#: ../utils/net.c:424 -msgid " Use 'net help validate' to get more information about 'net validate' commands." -msgstr "" - -#: ../utils/net.c:431 -msgid "Modify group memberships" -msgstr "" - -#: ../utils/net.c:432 -msgid " Use 'net help groupmember' to get more information about 'net groupmember' commands." -msgstr "" - -#: ../utils/net.c:438 -msgid "Execute remote command on a remote OS/2 server" -msgstr "" - -#: ../utils/net.c:439 -msgid " Use 'net help admin' to get more information about 'net admin' commands." -msgstr "" - -#: ../utils/net.c:445 -msgid "List/modify running services" -msgstr "" - -#: ../utils/net.c:446 -msgid " Use 'net help service' to get more information about 'net service' commands." -msgstr "" - -#: ../utils/net.c:453 -msgid "Change user password on target server" -msgstr "" - -#: ../utils/net.c:454 -msgid " Use 'net help password' to get more information about 'net password' commands." -msgstr "" - -#: ../utils/net.c:460 -#, fuzzy -msgid "Change the trust password" -msgstr "Şifre Değiştir" - -#: ../utils/net.c:461 -msgid " Use 'net help changetrustpw' to get more information about 'net changetrustpw'." -msgstr "" - -#: ../utils/net.c:467 -#, fuzzy -msgid "Change the secret password" -msgstr "Şifre Değiştir" - -#: ../utils/net.c:468 -msgid "" -" net [options] changesecretpw\n" -" Change the ADS domain member machine account password in secrets.tdb.\n" -" Do NOT use this function unless you know what it does.\n" -" Requires the -f flag to work." -msgstr "" - -#: ../utils/net.c:477 -msgid "Show/set time" -msgstr "" - -#: ../utils/net.c:478 -msgid " Use 'net help time' to get more information about 'net time' commands." -msgstr "" - -#: ../utils/net.c:484 -msgid "Look up host names/IP addresses" -msgstr "" - -#: ../utils/net.c:485 -msgid " Use 'net help lookup' to get more information about 'net lookup' commands." -msgstr "" - -#: ../utils/net.c:491 -msgid "Join a domain/AD" -msgstr "" - -#: ../utils/net.c:492 -msgid " Use 'net help join' to get more information about 'net join'." -msgstr "" - -#: ../utils/net.c:498 -msgid "Join/unjoin (remote) machines to/from a domain/AD" -msgstr "" - -#: ../utils/net.c:499 -msgid " Use 'net help dom' to get more information about 'net dom' commands." -msgstr "" - -#: ../utils/net.c:505 -msgid "Operate on the cache tdb file" -msgstr "" - -#: ../utils/net.c:506 -msgid " Use 'net help cache' to get more information about 'net cache' commands." -msgstr "" - -#: ../utils/net.c:512 -msgid "Get the SID for the local domain" -msgstr "" - -#: ../utils/net.c:513 -msgid " net getlocalsid" -msgstr "" - -#: ../utils/net.c:518 -msgid "Set the SID for the local domain" -msgstr "" - -#: ../utils/net.c:519 -msgid " net setlocalsid S-1-5-21-x-y-z" -msgstr "" - -#: ../utils/net.c:524 -msgid "Set domain SID on member servers" -msgstr "" - -#: ../utils/net.c:525 -msgid " net setdomainsid S-1-5-21-x-y-z" -msgstr "" - -#: ../utils/net.c:530 -msgid "Get domain SID on member servers" -msgstr "" - -#: ../utils/net.c:531 -msgid " net getdomainsid" -msgstr "" - -#: ../utils/net.c:536 -msgid "Display the maximul RID currently used" -msgstr "" - -#: ../utils/net.c:537 -msgid " net maxrid" -msgstr "" - -#: ../utils/net.c:542 -#, fuzzy -msgid "IDmap functions" -msgstr "Alan Seçenekleri" - -#: ../utils/net.c:543 -msgid " Use 'net help idmap to get more information about 'net idmap' commands." -msgstr "" - -#: ../utils/net.c:549 -#, fuzzy -msgid "Display server status" -msgstr "Sunucu Durumu" - -#: ../utils/net.c:550 -msgid " Use 'net help status' to get more information about 'net status' commands." -msgstr "" - -#: ../utils/net.c:556 -msgid "Manage user-modifiable shares" -msgstr "" - -#: ../utils/net.c:557 -msgid " Use 'net help usershare to get more information about 'net usershare' commands." -msgstr "" - -#: ../utils/net.c:563 -msgid "Display list of all users with SID" -msgstr "" - -#: ../utils/net.c:564 -msgid " Use 'net help usersidlist' to get more information about 'net usersidlist'." -msgstr "" - -#: ../utils/net.c:570 -msgid "Manage Samba registry based configuration" -msgstr "" - -#: ../utils/net.c:571 -msgid " Use 'net help conf' to get more information about 'net conf' commands." -msgstr "" - -#: ../utils/net.c:577 -msgid "Manage the Samba registry" -msgstr "" - -#: ../utils/net.c:578 -msgid " Use 'net help registry' to get more information about 'net registry' commands." -msgstr "" - -#: ../utils/net.c:584 -msgid "Open a lua interpreter" -msgstr "" - -#: ../utils/net.c:585 -msgid " Use 'net help lua' to get more information about 'net lua' commands." -msgstr "" - -#: ../utils/net.c:591 -msgid "Process Win32 *.evt eventlog files" -msgstr "" - -#: ../utils/net.c:592 -msgid " Use 'net help eventlog' to get more information about 'net eventlog' commands." -msgstr "" - -#: ../utils/net.c:600 -msgid "Manage AFS tokens" -msgstr "" - -#: ../utils/net.c:601 -msgid " Use 'net help afs' to get more information about 'net afs' commands." -msgstr "" - -#: ../utils/net.c:609 -msgid "Print usage information" -msgstr "" - -#: ../utils/net.c:610 -msgid " Use 'net help help' to list usage information for 'net' commands." -msgstr "" - -#: ../utils/net.c:639 -msgid "Encrypt SMB transport (UNIX extended servers only)" -msgstr "" - -#: ../utils/net.c:703 -msgid "" -"\n" -"Invalid ip address specified\n" -msgstr "" - -#: ../utils/net.c:718 -#, c-format -msgid "" -"\n" -"Invalid option %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:52 ../utils/net_ads.c:392 -msgid "CLDAP query failed!\n" -msgstr "" - -#: ../utils/net_ads.c:56 -#, fuzzy, c-format -msgid "" -"Information for Domain Controller: %s\n" -"\n" -msgstr "alan sunucusu" - -#: ../utils/net_ads.c:59 -msgid "Response Type: " -msgstr "" - -#: ../utils/net_ads.c:72 -#, c-format -msgid "GUID: %s\n" -msgstr "" - -#: ../utils/net_ads.c:74 -#, c-format -msgid "" -"Flags:\n" -"\tIs a PDC: %s\n" -"\tIs a GC of the forest: %s\n" -"\tIs an LDAP server: %s\n" -"\tSupports DS: %s\n" -"\tIs running a KDC: %s\n" -"\tIs running time services: %s\n" -"\tIs the closest DC: %s\n" -"\tIs writable: %s\n" -"\tHas a hardware clock: %s\n" -"\tIs a non-domain NC serviced by LDAP server: %s\n" -"\tIs NT6 DC that has some secrets: %s\n" -"\tIs NT6 DC that has all secrets: %s\n" -msgstr "" - -#: ../utils/net_ads.c:87 ../utils/net_ads.c:88 ../utils/net_ads.c:89 ../utils/net_ads.c:90 ../utils/net_ads.c:91 ../utils/net_ads.c:92 ../utils/net_ads.c:93 ../utils/net_ads.c:94 ../utils/net_ads.c:95 ../utils/net_ads.c:96 ../utils/net_ads.c:97 -#: ../utils/net_ads.c:98 -msgid "yes" -msgstr "" - -#: ../utils/net_ads.c:87 ../utils/net_ads.c:88 ../utils/net_ads.c:89 ../utils/net_ads.c:90 ../utils/net_ads.c:91 ../utils/net_ads.c:92 ../utils/net_ads.c:93 ../utils/net_ads.c:94 ../utils/net_ads.c:95 ../utils/net_ads.c:96 ../utils/net_ads.c:97 -#: ../utils/net_ads.c:98 -msgid "no" -msgstr "" - -#: ../utils/net_ads.c:101 -#, c-format -msgid "Forest:\t\t\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:102 -#, c-format -msgid "Domain:\t\t\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:103 -#, fuzzy, c-format -msgid "Domain Controller:\t%s\n" -msgstr "alan sunucusu" - -#: ../utils/net_ads.c:105 -#, c-format -msgid "Pre-Win2k Domain:\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:106 -#, c-format -msgid "Pre-Win2k Hostname:\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:108 -#, fuzzy, c-format -msgid "User name:\t%s\n" -msgstr " Kullanıcı Adı" - -#: ../utils/net_ads.c:110 -#, fuzzy, c-format -msgid "Server Site Name :\t\t%s\n" -msgstr "Sunucu Durumu" - -#: ../utils/net_ads.c:111 -#, c-format -msgid "Client Site Name :\t\t%s\n" -msgstr "" - -#: ../utils/net_ads.c:113 -#, fuzzy, c-format -msgid "NT Version: %d\n" -msgstr "sürüm:" - -#: ../utils/net_ads.c:114 -#, c-format -msgid "LMNT Token: %.2x\n" -msgstr "" - -#: ../utils/net_ads.c:115 -#, c-format -msgid "LM20 Token: %.2x\n" -msgstr "" - -#: ../utils/net_ads.c:130 -msgid "" -"Usage:\n" -"net ads lookup\n" -" Find the ADS DC using CLDAP lookup.\n" -msgstr "" - -#: ../utils/net_ads.c:137 ../utils/net_ads.c:381 -msgid "Didn't find the cldap server!\n" -msgstr "" - -#: ../utils/net_ads.c:160 -msgid "" -"Usage:\n" -"net ads info\n" -" Display information about an Active Directory server.\n" -msgstr "" - -#: ../utils/net_ads.c:168 ../utils/net_ads.c:173 -msgid "Didn't find the ldap server!\n" -msgstr "" - -#: ../utils/net_ads.c:182 -msgid "Failed to get server's current time!\n" -msgstr "" - -#: ../utils/net_ads.c:187 -#, c-format -msgid "LDAP server: %s\n" -msgstr "" - -#: ../utils/net_ads.c:188 -#, c-format -msgid "LDAP server name: %s\n" -msgstr "" - -#: ../utils/net_ads.c:189 -#, c-format -msgid "Realm: %s\n" -msgstr "" - -#: ../utils/net_ads.c:190 -#, c-format -msgid "Bind Path: %s\n" -msgstr "" - -#: ../utils/net_ads.c:191 -#, c-format -msgid "LDAP port: %d\n" -msgstr "" - -#: ../utils/net_ads.c:192 -#, fuzzy, c-format -msgid "Server time: %s\n" -msgstr "Sunucu Durumu" - -#: ../utils/net_ads.c:195 -#, c-format -msgid "KDC server: %s\n" -msgstr "" - -#: ../utils/net_ads.c:196 -#, c-format -msgid "Server time offset: %d\n" -msgstr "" - -#: ../utils/net_ads.c:374 -msgid "" -"Usage:\n" -"net ads workgroup\n" -" Print the workgroup name\n" -msgstr "" - -#: ../utils/net_ads.c:397 -#, c-format -msgid "Workgroup: %s\n" -msgstr "" - -#: ../utils/net_ads.c:458 -#, c-format -msgid "ads_user_add: %s\n" -msgstr "" - -#: ../utils/net_ads.c:463 -#, c-format -msgid "ads_user_add: User %s already exists\n" -msgstr "" - -#: ../utils/net_ads.c:477 -#, c-format -msgid "Could not add user %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:484 ../utils/net_ads.c:497 -#, fuzzy, c-format -msgid "User %s added\n" -msgstr " Kullanıcı Adı" - -#. password didn't set, delete account -#: ../utils/net_ads.c:503 -#, c-format -msgid "Could not add user %s. Error setting password %s\n" -msgstr "" - -#: ../utils/net_ads.c:551 -#, c-format -msgid "ads_user_info: failed to escape user %s\n" -msgstr "" - -#: ../utils/net_ads.c:569 -#, c-format -msgid "ads_search: %s\n" -msgstr "" - -#: ../utils/net_ads.c:575 -msgid "ads_pull_uint32 failed\n" -msgstr "" - -#: ../utils/net_ads.c:582 -#, c-format -msgid "ads_domain_sid: %s\n" -msgstr "" - -#: ../utils/net_ads.c:642 -#, c-format -msgid "User %s does not exist.\n" -msgstr "" - -#: ../utils/net_ads.c:652 -#, c-format -msgid "User %s deleted\n" -msgstr "" - -#: ../utils/net_ads.c:656 -#, c-format -msgid "Error deleting user %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:669 -#, fuzzy -msgid "Add an AD user" -msgstr "Kull. Ekle" - -#: ../utils/net_ads.c:670 -msgid "" -"net ads user add\n" -" Add an AD user" -msgstr "" - -#: ../utils/net_ads.c:677 -msgid "Display information about an AD user" -msgstr "" - -#: ../utils/net_ads.c:678 -msgid "" -"net ads user info\n" -" Display information about an AD user" -msgstr "" - -#: ../utils/net_ads.c:685 -#, fuzzy -msgid "Delete an AD user" -msgstr "Kull. Sil" - -#: ../utils/net_ads.c:686 -msgid "" -"net ads user delete\n" -" Delete an AD user" -msgstr "" - -#: ../utils/net_ads.c:699 -msgid "" -"Usage:\n" -"net ads user\n" -" List AD users\n" -msgstr "" - -#: ../utils/net_ads.c:711 -msgid "" -"\n" -"User name Comment\n" -"-----------------------------\n" -msgstr "" - -#: ../utils/net_ads.c:751 -#, c-format -msgid "ads_group_add: %s\n" -msgstr "" - -#: ../utils/net_ads.c:756 -#, c-format -msgid "ads_group_add: Group %s already exists\n" -msgstr "" - -#: ../utils/net_ads.c:769 -#, c-format -msgid "Group %s added\n" -msgstr "" - -#: ../utils/net_ads.c:772 -#, c-format -msgid "Could not add group %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:801 -#, c-format -msgid "Group %s does not exist.\n" -msgstr "" - -#: ../utils/net_ads.c:811 -#, c-format -msgid "Group %s deleted\n" -msgstr "" - -#: ../utils/net_ads.c:815 -#, c-format -msgid "Error deleting group %s: %s\n" -msgstr "" - -#: ../utils/net_ads.c:828 -msgid "Add an AD group" -msgstr "" - -#: ../utils/net_ads.c:829 -msgid "" -"net ads group add\n" -" Add an AD group" -msgstr "" - -#: ../utils/net_ads.c:836 -#, fuzzy -msgid "Delete an AD group" -msgstr "Paylaşım Kaldır" - -#: ../utils/net_ads.c:837 -msgid "" -"net ads group delete\n" -" Delete an AD group" -msgstr "" - -#: ../utils/net_ads.c:850 -msgid "" -"Usage:\n" -"net ads group\n" -" List AD groups\n" -msgstr "" - -#: ../utils/net_ads.c:862 -msgid "" -"\n" -"Group name Comment\n" -"-----------------------------\n" -msgstr "" - -#: ../utils/net_ads.c:884 -msgid "" -"Usage:\n" -"net ads status\n" -" Display machine account details\n" -msgstr "" - -#: ../utils/net_ads.c:896 -#, c-format -msgid "ads_find_machine_acct: %s\n" -msgstr "" - -#: ../utils/net_ads.c:902 -#, c-format -msgid "No machine account for '%s' found\n" -msgstr "" - -#: ../utils/net_ads.c:926 -msgid "" -"Usage:\n" -"net ads leave\n" -" Leave an AD domain\n" -msgstr "" - -#: ../utils/net_ads.c:933 -msgid "No realm set, are we joined ?\n" -msgstr "" - -#: ../utils/net_ads.c:938 ../utils/net_ads.c:1260 -msgid "Could not initialise talloc context.\n" -msgstr "" - -#: ../utils/net_ads.c:948 -msgid "Could not initialise unjoin context.\n" -msgstr "" - -#: ../utils/net_ads.c:968 -#, c-format -msgid "Failed to leave domain: %s\n" -msgstr "" - -#: ../utils/net_ads.c:975 -#, c-format -msgid "Deleted account for '%s' in realm '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:982 -#, c-format -msgid "Disabled account for '%s' in realm '%s'\n" -msgstr "" - -#. Based on what we requseted, we shouldn't get here, but if -#. we did, it means the secrets were removed, and therefore -#. we have left the domain -#: ../utils/net_ads.c:991 -#, c-format -msgid "Machine '%s' Left domain '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:1035 -msgid "" -"Usage:\n" -"net ads testjoin\n" -" Test if the existing join is ok\n" -msgstr "" - -#: ../utils/net_ads.c:1044 -#, c-format -msgid "Join to domain is not valid: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1049 -#, c-format -msgid "Join is OK\n" -msgstr "" - -#: ../utils/net_ads.c:1060 -msgid "Host is not configured as a member server.\n" -msgstr "" - -#: ../utils/net_ads.c:1065 -#, c-format -msgid "Our netbios name can be at most 15 chars long, \"%s\" is %u chars long\n" -msgstr "" - -#: ../utils/net_ads.c:1072 -#, c-format -msgid "realm must be set in in %s for ADS join to succeed.\n" -msgstr "" - -#: ../utils/net_ads.c:1105 -#, c-format -msgid "No DNS domain configured for %s. Unable to perform DNS Update.\n" -msgstr "" - -#: ../utils/net_ads.c:1212 -msgid "" -"net ads join [options]\n" -"Valid options:\n" -msgstr "" - -#: ../utils/net_ads.c:1214 -msgid "" -" createupn[=UPN] Set the userPrincipalName attribute during the join.\n" -" The deault UPN is in the form host/netbiosname@REALM.\n" -msgstr "" - -#: ../utils/net_ads.c:1216 -msgid "" -" createcomputer=OU Precreate the computer account in a specific OU.\n" -" The OU string read from top to bottom without RDNs and delimited by a '/'.\n" -" E.g. \"createcomputer=Computers/Servers/Unix\"\n" -" NB: A backslash '\\' is used as escape at multiple levels and may\n" -" need to be doubled or even quadrupled. It is not used as a separator.\n" -msgstr "" - -#: ../utils/net_ads.c:1221 -msgid " osName=string Set the operatingSystem attribute during the join.\n" -msgstr "" - -#: ../utils/net_ads.c:1222 -msgid "" -" osVer=string Set the operatingSystemVersion attribute during the join.\n" -" NB: osName and osVer must be specified together for either to take effect.\n" -" Also, the operatingSystemService attribute is also set when along with\n" -" the two other attributes.\n" -msgstr "" - -#: ../utils/net_ads.c:1254 -msgid "Invalid configuration. Exiting....\n" -msgstr "" - -#: ../utils/net_ads.c:1283 -msgid "Please supply a valid OU path.\n" -msgstr "" - -#: ../utils/net_ads.c:1290 -msgid "Please supply a operating system name.\n" -msgstr "" - -#: ../utils/net_ads.c:1297 -msgid "Please supply a valid operating system version.\n" -msgstr "" - -#: ../utils/net_ads.c:1308 -msgid "Please supply a valid domain name\n" -msgstr "" - -#: ../utils/net_ads.c:1339 -#, c-format -msgid "" -"The workgroup in %s does not match the short\n" -"domain name obtained from the server.\n" -"Using the name [%s] from the server.\n" -"You should set \"workgroup = %s\" in %s.\n" -msgstr "" - -#: ../utils/net_ads.c:1347 -#, c-format -msgid "Using short domain name -- %s\n" -msgstr "" - -#: ../utils/net_ads.c:1350 -#, c-format -msgid "Joined '%s' to realm '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:1353 -#, c-format -msgid "Joined '%s' to domain '%s'\n" -msgstr "" - -#: ../utils/net_ads.c:1377 ../utils/net_ads.c:1433 -msgid "DNS update failed!\n" -msgstr "" - -#. issue an overall failure message at the end. -#: ../utils/net_ads.c:1391 ../utils/net_dom.c:198 -#, c-format -msgid "Failed to join domain: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1414 -msgid "" -"Usage:\n" -"net ads dns register\n" -" Register hostname with DNS\n" -msgstr "" - -#: ../utils/net_ads.c:1421 -msgid "Could not initialise talloc context\n" -msgstr "" - -#: ../utils/net_ads.c:1439 -msgid "Successfully registered hostname with DNS\n" -msgstr "" - -#: ../utils/net_ads.c:1447 -msgid "DNS update support not enabled at compile time!\n" -msgstr "" - -#: ../utils/net_ads.c:1466 -msgid "" -"Usage:\n" -"net ads dns gethostbyname <server> <name>\n" -" Look up hostname from the AD\n" -" server\tName server to use\n" -" name\tName to look up\n" -msgstr "" - -#: ../utils/net_ads.c:1476 -#, c-format -msgid "do_gethostbyname returned %d\n" -msgstr "" - -#: ../utils/net_ads.c:1488 -msgid "Add host dns entry to AD" -msgstr "" - -#: ../utils/net_ads.c:1489 -msgid "" -"net ads dns register\n" -" Add host dns entry to AD" -msgstr "" - -#: ../utils/net_ads.c:1496 -msgid "Look up host" -msgstr "" - -#: ../utils/net_ads.c:1497 -msgid "" -"net ads dns gethostbyname\n" -" Look up host" -msgstr "" - -#: ../utils/net_ads.c:1512 -msgid "" -"\n" -"net ads printer search <printer>\n" -"\tsearch for a printer in the directory\n" -"\n" -"net ads printer info <printer> <server>\n" -"\tlookup info in directory for printer on server\n" -"\t(note: printer defaults to \"*\", server defaults to local)\n" -"\n" -"net ads printer publish <printername>\n" -"\tpublish printer in directory\n" -"\t(note: printer name is required)\n" -"\n" -"net ads printer remove <printername>\n" -"\tremove printer from directory\n" -"\t(note: printer name is required)\n" -msgstr "" - -#: ../utils/net_ads.c:1536 -msgid "" -"Usage:\n" -"net ads printer search\n" -" List printers in the AD\n" -msgstr "" - -#: ../utils/net_ads.c:1549 -#, c-format -msgid "ads_find_printer: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1556 -msgid "No results found\n" -msgstr "" - -#: ../utils/net_ads.c:1576 -msgid "" -"Usage:\n" -"net ads printer info [printername [servername]]\n" -" Display printer info from AD\n" -" printername\tPrinter name or wildcard\n" -" servername\tName of the print server\n" -msgstr "" - -#: ../utils/net_ads.c:1603 -#, c-format -msgid "Server '%s' not found: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1611 ../utils/net_ads.c:1794 -#, c-format -msgid "Printer '%s' not found\n" -msgstr "" - -#: ../utils/net_ads.c:1640 -msgid "" -"Usage:\n" -"net ads printer publish <printername> [servername]\n" -" Publish printer in AD\n" -" printername\tName of the printer\n" -" servername\tName of the print server\n" -msgstr "" - -#: ../utils/net_ads.c:1675 -#, c-format -msgid "Unable to open a connnection to %s to obtain data for %s\n" -msgstr "" - -#: ../utils/net_ads.c:1688 -#, c-format -msgid "Could not find machine account for server %s\n" -msgstr "" - -#: ../utils/net_ads.c:1704 ../utils/net_ads.c:1713 -msgid "Internal error, out of memory!" -msgstr "" - -#: ../utils/net_ads.c:1724 -#, c-format -msgid "Unable to open a connnection to the spoolss pipe on %s\n" -msgstr "" - -#: ../utils/net_ads.c:1766 -msgid "" -"Usage:\n" -"net ads printer remove <printername> [servername]\n" -" Remove a printer from the AD\n" -" printername\tName of the printer\n" -" servername\tName of the print server\n" -msgstr "" - -#: ../utils/net_ads.c:1787 -#, c-format -msgid "ads_find_printer_on_server: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1806 -#, c-format -msgid "ads_del_dn: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1822 -msgid "Search for a printer" -msgstr "" - -#: ../utils/net_ads.c:1823 -msgid "" -"net ads printer search\n" -" Search for a printer" -msgstr "" - -#: ../utils/net_ads.c:1830 -msgid "Display printer information" -msgstr "" - -#: ../utils/net_ads.c:1831 -msgid "" -"net ads printer info\n" -" Display printer information" -msgstr "" - -#: ../utils/net_ads.c:1838 -msgid "Publish a printer" -msgstr "" - -#: ../utils/net_ads.c:1839 -msgid "" -"net ads printer publish\n" -" Publish a printer" -msgstr "" - -#: ../utils/net_ads.c:1846 -#, fuzzy -msgid "Delete a printer" -msgstr "Yazıcı Sil" - -#: ../utils/net_ads.c:1847 -msgid "" -"net ads printer remove\n" -" Delete a printer" -msgstr "" - -#: ../utils/net_ads.c:1869 -msgid "" -"Usage:\n" -"net ads password <username>\n" -" Change password for user\n" -" username\tName of user to change password for\n" -msgstr "" - -#: ../utils/net_ads.c:1877 -msgid "You must supply an administrator username/password\n" -msgstr "" - -#: ../utils/net_ads.c:1883 -msgid "ERROR: You must say which username to change password for\n" -msgstr "" - -#: ../utils/net_ads.c:1915 -msgid "Didn't find the kerberos server!\n" -msgstr "" - -#: ../utils/net_ads.c:1923 -#, c-format -msgid "Enter new password for %s:" -msgstr "" - -#: ../utils/net_ads.c:1933 ../utils/net_ads.c:1982 -#, fuzzy, c-format -msgid "Password change failed: %s\n" -msgstr "Şifre Yönetimi" - -#: ../utils/net_ads.c:1938 -#, fuzzy, c-format -msgid "Password change for %s completed.\n" -msgstr "demo kipinde şifre değişikliği kabul edilmedi\n" - -#: ../utils/net_ads.c:1952 -msgid "" -"Usage:\n" -"net ads changetrustpw\n" -" Change the machine account's trust password\n" -msgstr "" - -#: ../utils/net_ads.c:1977 -#, c-format -msgid "Changing password for principal: %s\n" -msgstr "" - -#: ../utils/net_ads.c:1988 -#, c-format -msgid "Password change for principal %s succeeded.\n" -msgstr "" - -#: ../utils/net_ads.c:1991 -msgid "Attempting to update system keytab with new password.\n" -msgstr "" - -#: ../utils/net_ads.c:1993 -msgid "Failed to update system keytab.\n" -msgstr "" - -#: ../utils/net_ads.c:2009 -msgid "" -"\n" -"net ads search <expression> <attributes...>\n" -"\n" -"Perform a raw LDAP search on a ADS server and dump the results.\n" -"The expression is a standard LDAP search expression, and the\n" -"attributes are a list of LDAP fields to show in the results.\n" -"\n" -"Example: net ads search '(objectCategory=group)' sAMAccountName\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2046 ../utils/net_ads.c:2107 ../utils/net_ads.c:2171 ../utils/net_ads_gpo.c:250 -#, c-format -msgid "search failed: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2051 ../utils/net_ads.c:2176 ../utils/net_ads_gpo.c:256 -#, c-format -msgid "" -"Got %d replies\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2069 -msgid "" -"\n" -"net ads dn <dn> <attributes...>\n" -"\n" -"perform a raw LDAP search on a ADS server and dump the results\n" -"The DN standard LDAP DN, and the attributes are a list of LDAP fields \n" -"to show in the results\n" -"\n" -"Example: net ads dn 'CN=administrator,CN=Users,DC=my,DC=domain' sAMAccountName\n" -"\n" -"Note: the DN must be provided properly escaped. See RFC 4514 for details\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2129 -msgid "" -"\n" -"net ads sid <sid> <attributes...>\n" -"\n" -"perform a raw LDAP search on a ADS server and dump the results\n" -"The SID is in string format, and the attributes are a list of LDAP fields \n" -"to show in the results\n" -"\n" -"Example: net ads sid 'S-1-5-32' distinguishedName\n" -"\n" -msgstr "" - -#: ../utils/net_ads.c:2164 -msgid "could not convert sid\n" -msgstr "" - -#: ../utils/net_ads.c:2193 -msgid "" -"Usage:\n" -"net ads keytab flush\n" -" Delete the whole keytab\n" -msgstr "" - -#: ../utils/net_ads.c:2214 -msgid "" -"Usage:\n" -"net ads keytab add <principal> [principal ...]\n" -" Add principals to local keytab\n" -" principal\tKerberos principal to add to keytab\n" -msgstr "" - -#: ../utils/net_ads.c:2222 -msgid "Processing principals to add...\n" -msgstr "" - -#: ../utils/net_ads.c:2239 -msgid "" -"Usage:\n" -"net ads keytab create\n" -" Create new default keytab\n" -msgstr "" - -#: ../utils/net_ads.c:2258 -msgid "" -"Usage:\n" -"net ads keytab list [keytab]\n" -" List a local keytab\n" -" keytab\tKeytab to list\n" -msgstr "" - -#: ../utils/net_ads.c:2280 -msgid "Add a service principal" -msgstr "" - -#: ../utils/net_ads.c:2281 -msgid "" -"net ads keytab add\n" -" Add a service principal" -msgstr "" - -#: ../utils/net_ads.c:2288 -#, fuzzy -msgid "Create a fresh keytab" -msgstr "Paylaşım Oluştur" - -#: ../utils/net_ads.c:2289 -msgid "" -"net ads keytab create\n" -" Create a fresh keytab" -msgstr "" - -#: ../utils/net_ads.c:2296 -msgid "Remove all keytab entries" -msgstr "" - -#: ../utils/net_ads.c:2297 -msgid "" -"net ads keytab flush\n" -" Remove all keytab entries" -msgstr "" - -#: ../utils/net_ads.c:2304 -msgid "List a keytab" -msgstr "" - -#: ../utils/net_ads.c:2305 -msgid "" -"net ads keytab list\n" -" List a keytab" -msgstr "" - -#: ../utils/net_ads.c:2312 -msgid "" -"\n" -"Warning: \"kerberos method\" must be set to a keytab method to use keytab functions.\n" -msgstr "" - -#: ../utils/net_ads.c:2324 -msgid "" -"Usage:\n" -"net ads kerberos renew\n" -" Renew TGT from existing credential cache\n" -msgstr "" - -#: ../utils/net_ads.c:2332 -#, c-format -msgid "failed to renew kerberos ticket: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2347 -msgid "" -"Usage:\n" -"net ads kerberos pac\n" -" Dump the Kerberos PAC\n" -msgstr "" - -#: ../utils/net_ads.c:2372 -#, c-format -msgid "failed to query kerberos PAC: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2381 -#, c-format -msgid "The Pac: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2397 -msgid "" -"Usage:\n" -"net ads kerberos kinit\n" -" Get Ticket Granting Ticket (TGT) for the user\n" -msgstr "" - -#: ../utils/net_ads.c:2421 -#, c-format -msgid "failed to kinit password: %s\n" -msgstr "" - -#: ../utils/net_ads.c:2435 -msgid "Retrieve Ticket Granting Ticket (TGT)" -msgstr "" - -#: ../utils/net_ads.c:2436 -msgid "" -"net ads kerberos kinit\n" -" Receive Ticket Granting Ticket (TGT)" -msgstr "" - -#: ../utils/net_ads.c:2443 -msgid "Renew Ticket Granting Ticket from credential cache" -msgstr "" - -#: ../utils/net_ads.c:2444 -msgid "" -"net ads kerberos renew\n" -" Renew Ticket Granting Ticket (TGT) from credential cache" -msgstr "" - -#: ../utils/net_ads.c:2452 -msgid "Dump Kerberos PAC" -msgstr "" - -#: ../utils/net_ads.c:2453 -msgid "" -"net ads kerberos pac\n" -" Dump Kerberos PAC" -msgstr "" - -#: ../utils/net_ads.c:2469 -msgid "Display details on remote ADS server" -msgstr "" - -#: ../utils/net_ads.c:2470 -msgid "" -"net ads info\n" -" Display details on remote ADS server" -msgstr "" - -#: ../utils/net_ads.c:2477 -msgid "Join the local machine to ADS realm" -msgstr "" - -#: ../utils/net_ads.c:2478 -msgid "" -"net ads join\n" -" Join the local machine to ADS realm" -msgstr "" - -#: ../utils/net_ads.c:2485 -msgid "Validate machine account" -msgstr "" - -#: ../utils/net_ads.c:2486 -msgid "" -"net ads testjoin\n" -" Validate machine account" -msgstr "" - -#: ../utils/net_ads.c:2493 -msgid "Remove the local machine from ADS" -msgstr "" - -#: ../utils/net_ads.c:2494 -msgid "" -"net ads leave\n" -" Remove the local machine from ADS" -msgstr "" - -#: ../utils/net_ads.c:2501 -msgid "Display machine account details" -msgstr "" - -#: ../utils/net_ads.c:2502 -msgid "" -"net ads status\n" -" Display machine account details" -msgstr "" - -#: ../utils/net_ads.c:2509 -msgid "List/modify users" -msgstr "" - -#: ../utils/net_ads.c:2510 -msgid "" -"net ads user\n" -" List/modify users" -msgstr "" - -#: ../utils/net_ads.c:2517 -msgid "List/modify groups" -msgstr "" - -#: ../utils/net_ads.c:2518 -msgid "" -"net ads group\n" -" List/modify groups" -msgstr "" - -#: ../utils/net_ads.c:2525 -msgid "Issue dynamic DNS update" -msgstr "" - -#: ../utils/net_ads.c:2526 -msgid "" -"net ads dns\n" -" Issue dynamic DNS update" -msgstr "" - -#: ../utils/net_ads.c:2533 -#, fuzzy -msgid "Change user passwords" -msgstr "Şifre Değiştir" - -#: ../utils/net_ads.c:2534 -msgid "" -"net ads password\n" -" Change user passwords" -msgstr "" - -#: ../utils/net_ads.c:2541 -#, fuzzy -msgid "Change trust account password" -msgstr "Şifre Değiştir" - -#: ../utils/net_ads.c:2542 -msgid "" -"net ads changetrustpw\n" -" Change trust account password" -msgstr "" - -#: ../utils/net_ads.c:2549 -msgid "List/modify printer entries" -msgstr "" - -#: ../utils/net_ads.c:2550 -msgid "" -"net ads printer\n" -" List/modify printer entries" -msgstr "" - -#: ../utils/net_ads.c:2557 -msgid "Issue LDAP search using filter" -msgstr "" - -#: ../utils/net_ads.c:2558 -msgid "" -"net ads search\n" -" Issue LDAP search using filter" -msgstr "" - -#: ../utils/net_ads.c:2565 -msgid "Issue LDAP search by DN" -msgstr "" - -#: ../utils/net_ads.c:2566 -msgid "" -"net ads dn\n" -" Issue LDAP search by DN" -msgstr "" - -#: ../utils/net_ads.c:2573 -msgid "Issue LDAP search by SID" -msgstr "" - -#: ../utils/net_ads.c:2574 -msgid "" -"net ads sid\n" -" Issue LDAP search by SID" -msgstr "" - -#: ../utils/net_ads.c:2581 -msgid "Display workgroup name" -msgstr "" - -#: ../utils/net_ads.c:2582 -msgid "" -"net ads workgroup\n" -" Display the workgroup name" -msgstr "" - -#: ../utils/net_ads.c:2589 -msgid "Perfom CLDAP query on DC" -msgstr "" - -#: ../utils/net_ads.c:2590 -msgid "" -"net ads lookup\n" -" Find the ADS DC using CLDAP lookups" -msgstr "" - -#: ../utils/net_ads.c:2597 -msgid "Manage local keytab file" -msgstr "" - -#: ../utils/net_ads.c:2598 -msgid "" -"net ads keytab\n" -" Manage local keytab file" -msgstr "" - -#: ../utils/net_ads.c:2605 -msgid "Manage group policy objects" -msgstr "" - -#: ../utils/net_ads.c:2606 -msgid "" -"net ads gpo\n" -" Manage group policy objects" -msgstr "" - -#: ../utils/net_ads.c:2613 -msgid "Manage kerberos keytab" -msgstr "" - -#: ../utils/net_ads.c:2614 -msgid "" -"net ads kerberos\n" -" Manage kerberos keytab" -msgstr "" - -#: ../utils/net_ads.c:2627 -msgid "ADS support not compiled in\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:40 -msgid "" -"Usage:\n" -"net ads gpo refresh <username|machinename>\n" -" Lists all GPOs assigned to an account and downloads them\n" -" username\tUser to refresh GPOs for\n" -" machinename\tMachine to refresh GPOs for\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:56 -#, c-format -msgid "failed to connect AD server: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:62 -#, c-format -msgid "failed to find samaccount for %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:70 -#, c-format -msgid "" -"\n" -"%s: '%s' has dn: '%s'\n" -"\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:71 ../utils/net_ads_gpo.c:328 -#, fuzzy -msgid "machine" -msgstr " Uzak Makina" - -#: ../utils/net_ads_gpo.c:71 ../utils/net_ads_gpo.c:328 -#, fuzzy -msgid "user" -msgstr "Kullanıcı" - -#: ../utils/net_ads_gpo.c:74 -msgid "* fetching token " -msgstr "" - -#: ../utils/net_ads_gpo.c:82 ../utils/net_ads_gpo.c:90 ../utils/net_ads_gpo.c:102 ../utils/net_ads_gpo.c:113 ../utils/net_ads_gpo.c:158 -#, c-format -msgid "failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:85 ../utils/net_ads_gpo.c:94 ../utils/net_ads_gpo.c:105 ../utils/net_ads_gpo.c:118 ../utils/net_ads_gpo.c:163 -msgid "finished\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:87 -msgid "* fetching GPO List " -msgstr "" - -#: ../utils/net_ads_gpo.c:96 -msgid "* Refreshing Group Policy Data " -msgstr "" - -#: ../utils/net_ads_gpo.c:107 -msgid "* storing GPO list to registry " -msgstr "" - -#: ../utils/net_ads_gpo.c:122 -msgid "* dumping GPO list\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:151 -msgid "* re-reading GPO list from registry " -msgstr "" - -#: ../utils/net_ads_gpo.c:167 -msgid "* dumping GPO list from registry\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:226 -msgid "" -"Usage:\n" -"net ads gpo listall\n" -" List all GPOs on the DC\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:270 -#, fuzzy, c-format -msgid "ads_parse_gpo failed: %s\n" -msgstr "Şifre Yönetimi" - -#: ../utils/net_ads_gpo.c:300 -msgid "" -"Usage:\n" -"net ads gpo list <username|machinename>\n" -" Lists all GPOs for machine/user\n" -" username\tUser to list GPOs for\n" -" machinename\tMachine to list GPOs for\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:327 -#, c-format -msgid "%s: '%s' has dn: '%s'\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:451 -msgid "" -"Usage:\n" -"net ads gpo linkget <container>\n" -" Lists gPLink of a containter\n" -" container\tContainer to get link for\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:470 -#, c-format -msgid "get link for %s failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:492 -msgid "" -"Usage:\n" -"net ads gpo linkadd <linkdn> <gpodn> [options]\n" -" Link a container to a GPO\n" -" linkdn\tContainer to link to a GPO\n" -" gpodn\tGPO to link container to\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:497 -msgid "" -"note: DNs must be provided properly escaped.\n" -"See RFC 4514 for details\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:518 -#, c-format -msgid "link add failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:579 -msgid "" -"Usage:\n" -"net ads gpo getgpo <gpo>\n" -" List speciefied GPO\n" -" gpo\t\tGPO to list\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:603 -#, c-format -msgid "get gpo for [%s] failed: %s\n" -msgstr "" - -#: ../utils/net_ads_gpo.c:634 -msgid "List specified GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:635 -msgid "" -"net ads gpo getgpo\n" -" List specified GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:642 -msgid "Link a container to a GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:643 -msgid "" -"net ads gpo linkadd\n" -" Link a container to a GPO" -msgstr "" - -#: ../utils/net_ads_gpo.c:660 -msgid "Lists gPLink of containter" -msgstr "" - -#: ../utils/net_ads_gpo.c:661 -msgid "" -"net ads gpo linkget\n" -" Lists gPLink of containter" -msgstr "" - -#: ../utils/net_ads_gpo.c:668 -msgid "Lists all GPOs for machine/user" -msgstr "" - -#: ../utils/net_ads_gpo.c:669 -msgid "" -"net ads gpo list\n" -" Lists all GPOs for machine/user" -msgstr "" - -#: ../utils/net_ads_gpo.c:676 -msgid "Lists all GPOs on a DC" -msgstr "" - -#: ../utils/net_ads_gpo.c:677 -msgid "" -"net ads gpo listall\n" -" Lists all GPOs on a DC" -msgstr "" - -#: ../utils/net_ads_gpo.c:684 -msgid "Lists all GPOs assigned to an account and downloads them" -msgstr "" - -#: ../utils/net_ads_gpo.c:686 -msgid "" -"net ads gpo refresh\n" -" Lists all GPOs assigned to an account and downloads them" -msgstr "" - -#: ../utils/net_afs.c:25 -msgid "" -" net afs key filename\n" -"\tImports a OpenAFS KeyFile into our secrets.tdb\n" -"\n" -msgstr "" - -#: ../utils/net_afs.c:27 -msgid "" -" net afs impersonate <user> <cell>\n" -"\tCreates a token for user@cell\n" -"\n" -msgstr "" - -#: ../utils/net_afs.c:38 -msgid "usage: 'net afs key <keyfile> cell'\n" -msgstr "" - -#: ../utils/net_afs.c:43 -msgid "Could not open secrets.tdb\n" -msgstr "" - -#: ../utils/net_afs.c:48 -#, c-format -msgid "Could not open %s\n" -msgstr "" - -#: ../utils/net_afs.c:53 -msgid "Could not read keyfile\n" -msgstr "" - -#: ../utils/net_afs.c:58 -msgid "Could not write keyfile to secrets.tdb\n" -msgstr "" - -#: ../utils/net_afs.c:71 -#, c-format -msgid "Usage: net afs impersonate <user> <cell>\n" -msgstr "" - -#: ../utils/net_afs.c:78 -#, c-format -msgid "Could not create token\n" -msgstr "" - -#: ../utils/net_afs.c:83 -#, c-format -msgid "Could not set token into kernel\n" -msgstr "" - -#: ../utils/net_afs.c:87 -#, c-format -msgid "Success: %s@%s\n" -msgstr "" - -#: ../utils/net_afs.c:98 -msgid "Import an OpenAFS keyfile" -msgstr "" - -#: ../utils/net_afs.c:99 -msgid "" -"net afs key <filename>\n" -" Import kefile from <filename>." -msgstr "" - -#: ../utils/net_afs.c:106 -msgid "Get a user token" -msgstr "" - -#: ../utils/net_afs.c:107 -msgid "" -"net afs impersonate <user> <cell>\n" -" Create token for user@cell" -msgstr "" - -#: ../utils/net_cache.c:74 -#, c-format -msgid "Key: %s\t Timeout: %s\t Value: %s %s\n" -msgstr "" - -#: ../utils/net_cache.c:75 -msgid "(expired)" -msgstr "" - -#: ../utils/net_cache.c:84 -#, c-format -msgid "Couldn't delete entry! key = %s\n" -msgstr "" - -#: ../utils/net_cache.c:158 -msgid "" -"\n" -"Usage:\n" -"net cache add <key string> <data string> <timeout>\n" -msgstr "" - -#: ../utils/net_cache.c:170 -msgid "Invalid timeout argument.\n" -msgstr "" - -#: ../utils/net_cache.c:175 -msgid "New cache entry stored successfully.\n" -msgstr "" - -#: ../utils/net_cache.c:179 -msgid "Entry couldn't be added. Perhaps there's already such a key.\n" -msgstr "" - -#: ../utils/net_cache.c:195 -msgid "" -"\n" -"Usage: net cache del <key string>\n" -msgstr "" - -#: ../utils/net_cache.c:200 -msgid "Entry deleted.\n" -msgstr "" - -#: ../utils/net_cache.c:204 -msgid "Couldn't delete specified entry\n" -msgstr "" - -#: ../utils/net_cache.c:223 -msgid "" -"\n" -"Usage: net cache get <key>\n" -msgstr "" - -#: ../utils/net_cache.c:233 -msgid "Failed to find entry\n" -msgstr "" - -#: ../utils/net_cache.c:250 -msgid "Usage: net cache search <pattern>\n" -msgstr "" - -#: ../utils/net_cache.c:272 -msgid "" -"Usage:\n" -"net cache list\n" -" List all cache entries.\n" -msgstr "" - -#: ../utils/net_cache.c:293 ../utils/net_cache.c:306 -msgid "" -"Usage:\n" -"net cache flush\n" -" Delete all cache entries.\n" -msgstr "" - -#: ../utils/net_cache.c:331 -msgid "Add new cache entry" -msgstr "" - -#: ../utils/net_cache.c:332 -msgid "" -"net cache add <key string> <data string> <timeout>\n" -" Add new cache entry.\n" -" key string\tKey string to add cache data under.\n" -" data string\tData to store under given key.\n" -" timeout\tTimeout for cache data." -msgstr "" - -#: ../utils/net_cache.c:342 -msgid "Delete existing cache entry by key" -msgstr "" - -#: ../utils/net_cache.c:343 -msgid "" -"net cache del <key string>\n" -" Delete existing cache entry by key.\n" -" key string\tKey string to delete." -msgstr "" - -#: ../utils/net_cache.c:351 -msgid "Get cache entry by key" -msgstr "" - -#: ../utils/net_cache.c:352 -msgid "" -"net cache get <key string>\n" -" Get cache entry by key.\n" -" key string\tKey string to look up cache entry for." -msgstr "" - -#: ../utils/net_cache.c:361 -msgid "Search entry by pattern" -msgstr "" - -#: ../utils/net_cache.c:362 -msgid "" -"net cache search <pattern>\n" -" Search entry by pattern.\n" -" pattern\tPattern to search for in cache." -msgstr "" - -#: ../utils/net_cache.c:370 -msgid "List all cache entries" -msgstr "" - -#: ../utils/net_cache.c:371 -msgid "" -"net cache list\n" -" List all cache entries" -msgstr "" - -#: ../utils/net_cache.c:378 -#, fuzzy -msgid "Delete all cache entries" -msgstr "Yazıcı Sil" - -#: ../utils/net_cache.c:379 -msgid "" -"net cache flush\n" -" Delete all cache entries" -msgstr "" - -#: ../utils/net_cache.c:386 -msgid "Move transient cache content to stable storage" -msgstr "" - -#: ../utils/net_cache.c:387 -msgid "" -"net cache stabilize\n" -" Move transient cache content to stable storage" -msgstr "" - -#: ../utils/net_conf.c:42 -msgid "USAGE: net conf list\n" -msgstr "" - -#: ../utils/net_conf.c:49 -msgid "" -"USAGE: net conf import [--test|-T] <filename> [<servicename>]\n" -"\t[--test|-T] testmode - do not act, just print what would be done\n" -"\t<servicename> only import service <servicename>, ignore the rest\n" -msgstr "" - -#: ../utils/net_conf.c:61 -msgid "USAGE: net conf listshares\n" -msgstr "" - -#: ../utils/net_conf.c:68 -msgid "USAGE: net conf drop\n" -msgstr "" - -#: ../utils/net_conf.c:75 -msgid "USAGE: net conf showshare <sharename>\n" -msgstr "" - -#: ../utils/net_conf.c:82 -msgid "" -"USAGE: net conf addshare <sharename> <path> [writeable={y|N} [guest_ok={y|N} [<comment>]]\n" -"\t<sharename> the new share name.\n" -"\t<path> the path on the filesystem to export.\n" -"\twriteable={y|N} set \"writeable to \"yes\" or \"no\" (default) on this share.\n" -"\tguest_ok={y|N} set \"guest ok\" to \"yes\" or \"no\" (default) on this share.\n" -"\t<comment> optional comment for the new share.\n" -msgstr "" - -#: ../utils/net_conf.c:97 -msgid "USAGE: net conf delshare <sharename>\n" -msgstr "" - -#: ../utils/net_conf.c:104 -msgid "USAGE: net conf setparm <section> <param> <value>\n" -msgstr "" - -#: ../utils/net_conf.c:111 -msgid "USAGE: net conf getparm <section> <param>\n" -msgstr "" - -#: ../utils/net_conf.c:118 -msgid "USAGE: net conf delparm <section> <param>\n" -msgstr "" - -#: ../utils/net_conf.c:125 -msgid "USAGE: net conf getincludes <section>\n" -msgstr "" - -#: ../utils/net_conf.c:132 -msgid "USAGE: net conf setincludes <section> [<filename>]*\n" -msgstr "" - -#: ../utils/net_conf.c:139 -msgid "USAGE: net conf delincludes <section>\n" -msgstr "" - -#: ../utils/net_conf.c:251 -#, c-format -msgid "Error getting config: %s\n" -msgstr "" - -#: ../utils/net_conf.c:305 ../utils/net_conf.c:318 ../utils/net_conf.c:614 ../utils/net_conf.c:742 ../utils/net_conf.c:780 ../utils/net_conf.c:786 ../utils/net_conf.c:860 ../utils/net_conf.c:866 ../utils/net_conf.c:916 ../utils/net_conf.c:970 -#: ../utils/net_conf.c:1010 ../utils/net_conf.c:1050 -msgid "error: out of memory!\n" -msgstr "" - -#: ../utils/net_conf.c:324 -#, c-format -msgid "error loading file '%s': %s\n" -msgstr "" - -#: ../utils/net_conf.c:330 -msgid "" -"\n" -"TEST MODE - would import the following configuration:\n" -"\n" -msgstr "" - -#: ../utils/net_conf.c:346 ../utils/net_conf.c:382 ../utils/net_conf.c:407 ../utils/net_conf.c:793 -#, c-format -msgid "error starting transaction: %s\n" -msgstr "" - -#: ../utils/net_conf.c:400 ../utils/net_conf.c:416 ../utils/net_conf.c:817 -#, c-format -msgid "error committing transaction: %s\n" -msgstr "" - -#: ../utils/net_conf.c:427 ../utils/net_conf.c:828 -#, c-format -msgid "error cancelling transaction: %s\n" -msgstr "" - -#: ../utils/net_conf.c:484 -#, c-format -msgid "Error deleting configuration: %s\n" -msgstr "" - -#: ../utils/net_conf.c:521 -#, c-format -msgid "error getting share parameters: %s\n" -msgstr "" - -#: ../utils/net_conf.c:630 -#, c-format -msgid "ERROR: share name %s contains invalid characters (any of %s)\n" -msgstr "" - -#: ../utils/net_conf.c:638 -msgid "ERROR: 'global' is not a valid share name.\n" -msgstr "" - -#: ../utils/net_conf.c:643 -#, c-format -msgid "ERROR: share %s already exists.\n" -msgstr "" - -#: ../utils/net_conf.c:652 -#, c-format -msgid "Error: path '%s' is not an absolute path.\n" -msgstr "" - -#: ../utils/net_conf.c:659 -#, c-format -msgid "" -"ERROR: cannot stat path '%s' to ensure this is a directory.\n" -"Error was '%s'.\n" -msgstr "" - -#: ../utils/net_conf.c:668 -#, c-format -msgid "ERROR: path '%s' is not a directory.\n" -msgstr "" - -#: ../utils/net_conf.c:679 -#, c-format -msgid "Error creating share %s: %s\n" -msgstr "" - -#: ../utils/net_conf.c:690 ../utils/net_conf.c:699 ../utils/net_conf.c:707 ../utils/net_conf.c:715 -#, c-format -msgid "Error setting parameter %s: %s\n" -msgstr "" - -#: ../utils/net_conf.c:748 -#, c-format -msgid "Error deleting share %s: %s\n" -msgstr "" - -#: ../utils/net_conf.c:801 -#, c-format -msgid "Error creating share '%s': %s\n" -msgstr "" - -#: ../utils/net_conf.c:810 -#, c-format -msgid "Error setting value '%s': %s\n" -msgstr "" - -#: ../utils/net_conf.c:874 ../utils/net_conf.c:930 -#, c-format -msgid "Error: given service '%s' does not exist.\n" -msgstr "" - -#: ../utils/net_conf.c:879 ../utils/net_conf.c:935 -#, c-format -msgid "Error: given parameter '%s' is not set.\n" -msgstr "" - -#: ../utils/net_conf.c:883 -#, c-format -msgid "Error getting value '%s': %s.\n" -msgstr "" - -#: ../utils/net_conf.c:939 -#, c-format -msgid "Error deleting value '%s': %s.\n" -msgstr "" - -#: ../utils/net_conf.c:977 -#, c-format -msgid "error getting includes: %s\n" -msgstr "" - -#: ../utils/net_conf.c:1023 -#, c-format -msgid "error setting includes: %s\n" -msgstr "" - -#: ../utils/net_conf.c:1056 -#, c-format -msgid "error deleting includes: %s\n" -msgstr "" - -#: ../utils/net_conf.c:1136 ../utils/net_help.c:36 -msgid "Usage:\n" -msgstr "" - -#: ../utils/net_conf.c:1160 -msgid "Dump the complete configuration in smb.conf like format." -msgstr "" - -#: ../utils/net_conf.c:1162 -msgid "" -"net conf list\n" -" Dump the complete configuration in smb.conf like format." -msgstr "" - -#: ../utils/net_conf.c:1171 -msgid "Import configuration from file in smb.conf format." -msgstr "" - -#: ../utils/net_conf.c:1173 -msgid "" -"net conf import\n" -" Import configuration from file in smb.conf format." -msgstr "" - -#: ../utils/net_conf.c:1181 -msgid "List the share names." -msgstr "" - -#: ../utils/net_conf.c:1182 -msgid "" -"net conf listshares\n" -" List the share names." -msgstr "" - -#: ../utils/net_conf.c:1189 -msgid "Delete the complete configuration." -msgstr "" - -#: ../utils/net_conf.c:1190 -msgid "" -"net conf drop\n" -" Delete the complete configuration." -msgstr "" - -#: ../utils/net_conf.c:1197 -msgid "Show the definition of a share." -msgstr "" - -#: ../utils/net_conf.c:1198 -msgid "" -"net conf showshare\n" -" Show the definition of a share." -msgstr "" - -#: ../utils/net_conf.c:1205 -#, fuzzy -msgid "Create a new share." -msgstr "Paylaşım Oluştur" - -#: ../utils/net_conf.c:1206 -msgid "" -"net conf addshare\n" -" Create a new share." -msgstr "" - -#: ../utils/net_conf.c:1213 -#, fuzzy -msgid "Delete a share." -msgstr "Paylaşım Kaldır" - -#: ../utils/net_conf.c:1214 -msgid "" -"net conf delshare\n" -" Delete a share." -msgstr "" - -#: ../utils/net_conf.c:1221 -#, fuzzy -msgid "Store a parameter." -msgstr "Paylaşım Parametreleri" - -#: ../utils/net_conf.c:1222 -msgid "" -"net conf setparm\n" -" Store a parameter." -msgstr "" - -#: ../utils/net_conf.c:1229 -msgid "Retrieve the value of a parameter." -msgstr "" - -#: ../utils/net_conf.c:1230 -msgid "" -"net conf getparm\n" -" Retrieve the value of a parameter." -msgstr "" - -#: ../utils/net_conf.c:1237 -#, fuzzy -msgid "Delete a parameter." -msgstr "Yazıcı Sil" - -#: ../utils/net_conf.c:1238 -msgid "" -"net conf delparm\n" -" Delete a parameter." -msgstr "" - -#: ../utils/net_conf.c:1245 -msgid "Show the includes of a share definition." -msgstr "" - -#: ../utils/net_conf.c:1246 -msgid "" -"net conf getincludes\n" -" Show the includes of a share definition." -msgstr "" - -#: ../utils/net_conf.c:1253 -msgid "Set includes for a share." -msgstr "" - -#: ../utils/net_conf.c:1254 -msgid "" -"net conf setincludes\n" -" Set includes for a share." -msgstr "" - -#: ../utils/net_conf.c:1261 -msgid "Delete includes from a share definition." -msgstr "" - -#: ../utils/net_conf.c:1262 -msgid "" -"net conf setincludes\n" -" Delete includes from a share definition." -msgstr "" - -#: ../utils/net_dom.c:25 -msgid "" -"usage: net dom join <domain=DOMAIN> <ou=OU> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Join a remote machine\n" -msgstr "" - -#: ../utils/net_dom.c:28 -msgid "" -"usage: net dom unjoin <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Unjoin a remote machine\n" -msgstr "" - -#: ../utils/net_dom.c:31 -msgid "" -"usage: net dom renamecomputer <newname=NEWNAME> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Rename joined computer\n" -msgstr "" - -#: ../utils/net_dom.c:91 -#, c-format -msgid "Failed to unjoin domain: %s\n" -msgstr "" - -#: ../utils/net_dom.c:97 ../utils/net_dom.c:204 -msgid "Shutting down due to a domain membership change" -msgstr "" - -#: ../utils/net_dom.c:290 -#, c-format -msgid "Failed to rename machine: " -msgstr "" - -#: ../utils/net_dom.c:292 -#, c-format -msgid "Computer is not joined to a Domain\n" -msgstr "" - -#: ../utils/net_dom.c:301 -msgid "Shutting down due to a computer rename" -msgstr "" - -#: ../utils/net_dom.c:338 -#, fuzzy -msgid "Join a remote machine" -msgstr " Uzak Makina" - -#: ../utils/net_dom.c:339 -msgid "" -"net dom join <domain=DOMAIN> <ou=OU> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Join a remote machine" -msgstr "" - -#: ../utils/net_dom.c:347 -#, fuzzy -msgid "Unjoin a remote machine" -msgstr " Uzak Makina" - -#: ../utils/net_dom.c:348 -msgid "" -"net dom unjoin <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Unjoin a remote machine" -msgstr "" - -#: ../utils/net_dom.c:356 -msgid "Rename a computer that is joined to a domain" -msgstr "" - -#: ../utils/net_dom.c:357 -msgid "" -"net dom renamecomputer <newname=NEWNAME> <account=ACCOUNT> <password=PASSWORD> <reboot>\n" -" Rename joined computer" -msgstr "" - -#: ../utils/net_eventlog.c:46 -msgid "usage: net eventlog dump <file.evt>\n" -msgstr "" - -#: ../utils/net_eventlog.c:52 ../utils/net_eventlog.c:108 -#, c-format -msgid "failed to load evt file: %s\n" -msgstr "" - -#: ../utils/net_eventlog.c:59 ../utils/net_eventlog.c:129 -#, fuzzy, c-format -msgid "evt pull failed: %s\n" -msgstr "Şifre Yönetimi" - -#: ../utils/net_eventlog.c:102 -msgid "usage: net eventlog import <file> <eventlog>\n" -msgstr "" - -#: ../utils/net_eventlog.c:116 -#, fuzzy, c-format -msgid "evt header pull failed: %s\n" -msgstr "Şifre Yönetimi" - -#: ../utils/net_eventlog.c:122 -msgid "input file is wrapped, cannot proceed\n" -msgstr "" - -#: ../utils/net_eventlog.c:138 ../utils/net_eventlog.c:203 -#, c-format -msgid "can't open the eventlog TDB (%s)\n" -msgstr "" - -#: ../utils/net_eventlog.c:158 -#, c-format -msgid "can't write to the eventlog: %s\n" -msgstr "" - -#: ../utils/net_eventlog.c:164 -#, c-format -msgid "wrote %d entries to tdb\n" -msgstr "" - -#: ../utils/net_eventlog.c:197 -msgid "usage: net eventlog export <file> <eventlog>\n" -msgstr "" - -#: ../utils/net_eventlog.c:214 -#, c-format -msgid "failed to save evt file: %s\n" -msgstr "" - -#: ../utils/net_eventlog.c:243 -msgid "Dump eventlog" -msgstr "" - -#: ../utils/net_eventlog.c:244 -msgid "" -"net eventlog dump\n" -" Dump win32 *.evt eventlog file" -msgstr "" - -#: ../utils/net_eventlog.c:251 -#, fuzzy -msgid "Import eventlog" -msgstr "Önemli Not:" - -#: ../utils/net_eventlog.c:252 -msgid "" -"net eventlog import\n" -" Import win32 *.evt eventlog file" -msgstr "" - -#: ../utils/net_eventlog.c:259 -msgid "Export eventlog" -msgstr "" - -#: ../utils/net_eventlog.c:260 -msgid "" -"net eventlog export\n" -" Export win32 *.evt eventlog file" -msgstr "" - -#: ../utils/net_file.c:27 -msgid "" -"net [<method>] file [misc. options] [targets]\n" -"\tlists all open files on file server\n" -msgstr "" - -#: ../utils/net_file.c:29 -msgid "" -"net [<method>] file USER <username> [misc. options] [targets]\n" -"\tlists all files opened by username on file server\n" -msgstr "" - -#: ../utils/net_file.c:32 -msgid "" -"net [<method>] file CLOSE <id> [misc. options] [targets]\n" -"\tcloses specified file on target server\n" -msgstr "" - -#: ../utils/net_file.c:34 -msgid "" -"net [rap] file INFO <id> [misc. options] [targets]\n" -"\tdisplays information about the specified open file\n" -msgstr "" - -#: ../utils/net_group.c:27 -msgid "" -"net [<method>] group [misc. options] [targets]\n" -"\tList user groups\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:29 -msgid "" -"net rpc group LIST [global|local|builtin]* [misc. options]\n" -"\tList specific user groups\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:31 -msgid "" -"net [<method>] group DELETE <name> [misc. options] [targets]\n" -"\tDelete specified group\n" -msgstr "" - -#: ../utils/net_group.c:34 -msgid "" -"\n" -"net [<method>] group ADD <name> [-C comment] [-c container] [misc. options] [targets]\n" -"\tCreate specified group\n" -msgstr "" - -#: ../utils/net_group.c:37 -msgid "" -"\n" -"net rpc group MEMBERS <name>\n" -"\tList Group Members\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:38 -msgid "" -"\n" -"net rpc group ADDMEM <group> <member>\n" -"\tAdd Group Members\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:40 -msgid "" -"\n" -"net rpc group DELMEM <group> <member>\n" -"\tDelete Group Members\n" -"\n" -msgstr "" - -#: ../utils/net_group.c:44 -msgid "\t-C or --comment=<comment>\tdescriptive comment (for add only)\n" -msgstr "" - -#: ../utils/net_group.c:46 -msgid "\t-c or --container=<container>\tLDAP container, defaults to cn=Users (for add in ADS only)\n" -msgstr "" - -#: ../utils/net_group.c:48 -msgid "\t-L or --localgroup\t\tWhen adding groups, create a local group (alias)\n" -msgstr "" - -#: ../utils/net_groupmap.c:38 -#, c-format -msgid "NT Group %s doesn't exist in mapping DB\n" -msgstr "" - -#: ../utils/net_groupmap.c:46 -#, c-format -msgid "converting sid %s from a string failed!\n" -msgstr "" - -#: ../utils/net_groupmap.c:65 -#, c-format -msgid "\tSID : %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:66 -#, c-format -msgid "\tUnix gid : %u\n" -msgstr "" - -#: ../utils/net_groupmap.c:67 -#, c-format -msgid "\tUnix group: %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:68 -#, c-format -msgid "\tGroup type: %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:70 -#, c-format -msgid "\tComment : %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:84 -msgid "" -"net groupmap list [verbose] [ntgroup=NT group] [sid=SID]\n" -" verbose\tPrint verbose list\n" -" ntgroup\tNT group to list\n" -" sid\tSID of group to list" -msgstr "" - -#: ../utils/net_groupmap.c:91 ../utils/net_groupmap.c:271 ../utils/net_groupmap.c:356 ../utils/net_groupmap.c:412 ../utils/net_groupmap.c:495 ../utils/net_groupmap.c:522 -#, fuzzy, c-format -msgid "" -"Usage:\n" -"%s\n" -msgstr " Kullanıcı Adı" - -#: ../utils/net_groupmap.c:106 ../utils/net_groupmap.c:213 ../utils/net_groupmap.c:220 ../utils/net_groupmap.c:365 ../utils/net_groupmap.c:372 ../utils/net_groupmap.c:504 -msgid "must supply a name\n" -msgstr "" - -#: ../utils/net_groupmap.c:113 ../utils/net_groupmap.c:227 ../utils/net_groupmap.c:511 -msgid "must supply a SID\n" -msgstr "" - -#: ../utils/net_groupmap.c:118 ../utils/net_groupmap.c:265 ../utils/net_groupmap.c:406 ../utils/net_groupmap.c:516 -#, fuzzy, c-format -msgid "Bad option: %s\n" -msgstr "Temel Seçenekler" - -#: ../utils/net_groupmap.c:139 -msgid "Failure to local group SID in the database\n" -msgstr "" - -#: ../utils/net_groupmap.c:181 -msgid "net groupmap add {rid=<int>|sid=<string>} unixgroup=<string> [type=<domain|local|builtin>] [ntgroup=<string>] [comment=<string>]" -msgstr "" - -#: ../utils/net_groupmap.c:195 -#, fuzzy, c-format -msgid "" -"Usage\n" -"%s\n" -msgstr " Kullanıcı Adı" - -#: ../utils/net_groupmap.c:205 -#, c-format -msgid "RID must be greater than %d\n" -msgstr "" - -#: ../utils/net_groupmap.c:235 ../utils/net_groupmap.c:380 -msgid "must supply a comment string\n" -msgstr "" - -#: ../utils/net_groupmap.c:259 -#, c-format -msgid "unknown group type %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:276 -#, c-format -msgid "Can't lookup UNIX group %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:282 -#, c-format -msgid "Unix group %s already mapped to SID %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:289 -msgid "No rid or sid specified, choosing a RID\n" -msgstr "" - -#: ../utils/net_groupmap.c:292 -msgid "Could not get new RID\n" -msgstr "" - -#: ../utils/net_groupmap.c:297 -#, c-format -msgid "Got RID %d\n" -msgstr "" - -#: ../utils/net_groupmap.c:328 -#, c-format -msgid "adding entry for group %s failed!\n" -msgstr "" - -#: ../utils/net_groupmap.c:332 -#, c-format -msgid "Successfully added group %s to the mapping db as a %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:349 -msgid "net groupmap modify {ntgroup=<string>|sid=<SID>} [comment=<string>] [unixgroup=<string>] [type=<domain|local>]" -msgstr "" - -#: ../utils/net_groupmap.c:388 -msgid "must supply a group name\n" -msgstr "" - -#: ../utils/net_groupmap.c:434 -msgid "Failed to find local group SID in the database\n" -msgstr "" - -#: ../utils/net_groupmap.c:443 -msgid "Can't map to an unknown group type.\n" -msgstr "" - -#: ../utils/net_groupmap.c:449 -msgid "You can only change between domain and local groups.\n" -msgstr "" - -#: ../utils/net_groupmap.c:466 -#, c-format -msgid "Unable to lookup UNIX group %s. Make sure the group exists.\n" -msgstr "" - -#: ../utils/net_groupmap.c:476 -msgid "Could not update group database\n" -msgstr "" - -#: ../utils/net_groupmap.c:480 -#, c-format -msgid "Updated mapping entry for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:491 -msgid "net groupmap delete {ntgroup=<string>|sid=<SID>}" -msgstr "" - -#: ../utils/net_groupmap.c:532 -#, c-format -msgid "Unable to resolve group %s to a SID\n" -msgstr "" - -#: ../utils/net_groupmap.c:539 -#, c-format -msgid "Failed to remove group %s from the mapping db!\n" -msgstr "" - -#: ../utils/net_groupmap.c:544 -#, c-format -msgid "Sucessfully removed %s from the mapping db\n" -msgstr "" - -#: ../utils/net_groupmap.c:557 -msgid "Usage: net groupmap set \"NT Group\" [\"unix group\"] [-C \"comment\"] [-L] [-D]\n" -msgstr "" - -#: ../utils/net_groupmap.c:563 -msgid "Can only specify -L or -D, not both\n" -msgstr "" - -#: ../utils/net_groupmap.c:573 -#, c-format -msgid "Could not find unix group %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:594 -#, c-format -msgid "Could not find group mapping for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:605 -msgid "Could not allocate new RID\n" -msgstr "" - -#: ../utils/net_groupmap.c:622 -#, c-format -msgid "Could not add mapping entry for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:633 -#, c-format -msgid "Can't change type of the BUILTIN group %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:660 -#, c-format -msgid "Could not update group mapping for %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:674 -msgid "" -"Usage:\n" -"net groupmap cleanup\n" -" Delete all group mappings\n" -msgstr "" - -#: ../utils/net_groupmap.c:682 -msgid "Could not list group mappings\n" -msgstr "" - -#: ../utils/net_groupmap.c:689 -#, c-format -msgid "Group %s is not mapped\n" -msgstr "" - -#: ../utils/net_groupmap.c:692 -#, c-format -msgid "Deleting mapping for NT Group %s, sid %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:712 -msgid "Usage: net groupmap addmem alias-sid member-sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:717 -#, c-format -msgid "Could not add sid %s to alias %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:733 -msgid "Usage: net groupmap delmem alias-sid member-sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:738 -#, c-format -msgid "Could not delete sid %s from alias %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:755 -msgid "Usage: net groupmap listmem alias-sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:764 -#, c-format -msgid "Could not list members for sid %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:791 -#, c-format -msgid "Could not list memberships for sid %s\n" -msgstr "" - -#: ../utils/net_groupmap.c:814 -msgid "Usage: net groupmap memberof sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:820 ../utils/net_idmap.c:345 -msgid "talloc_init failed\n" -msgstr "" - -#: ../utils/net_groupmap.c:827 -msgid "Could not get domain sid\n" -msgstr "" - -#: ../utils/net_groupmap.c:850 -msgid "Create a new group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:851 -msgid "" -"net groupmap add\n" -" Create a new group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:858 -msgid "Update a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:859 -msgid "" -"net groupmap modify\n" -" Modify an existing group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:866 -msgid "Remove a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:867 -msgid "" -"net groupmap delete\n" -" Remove a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:874 -msgid "Set group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:875 -msgid "" -"net groupmap set\n" -" Set a group mapping" -msgstr "" - -#: ../utils/net_groupmap.c:882 -msgid "Remove foreign group mapping entries" -msgstr "" - -#: ../utils/net_groupmap.c:883 -msgid "" -"net groupmap cleanup\n" -" Remove foreign group mapping entries" -msgstr "" - -#: ../utils/net_groupmap.c:890 -msgid "Add a foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:891 -msgid "" -"net groupmap addmem\n" -" Add a foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:898 -msgid "Delete foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:899 -msgid "" -"net groupmap delmem\n" -" Delete foreign alias member" -msgstr "" - -#: ../utils/net_groupmap.c:906 -msgid "List foreign group members" -msgstr "" - -#: ../utils/net_groupmap.c:907 -msgid "" -"net groupmap listmem\n" -" List foreign alias members" -msgstr "" - -#: ../utils/net_groupmap.c:914 -msgid "List foreign group memberships" -msgstr "" - -#: ../utils/net_groupmap.c:915 -msgid "" -"net groupmap memberships\n" -" List foreign group memberships" -msgstr "" - -#: ../utils/net_groupmap.c:922 -msgid "List current group map" -msgstr "" - -#: ../utils/net_groupmap.c:923 -msgid "" -"net groupmap list\n" -" List current group map" -msgstr "" - -#: ../utils/net_help.c:39 -#, c-format -msgid "net %s usage:\n" -msgstr "" - -#: ../utils/net_help_common.c:25 ../utils/net_join.c:28 -msgid "Valid methods: (auto-detected if not specified)\n" -msgstr "" - -#: ../utils/net_help_common.c:26 ../utils/net_join.c:29 -msgid "\tads\t\t\t\tActive Directory (LDAP/Kerberos)\n" -msgstr "" - -#: ../utils/net_help_common.c:27 ../utils/net_join.c:30 -msgid "\trpc\t\t\t\tDCE-RPC\n" -msgstr "" - -#: ../utils/net_help_common.c:28 -msgid "\trap\t\t\t\tRAP (older systems)\n" -msgstr "" - -#: ../utils/net_help_common.c:35 -msgid "Valid targets: choose one (none defaults to localhost)\n" -msgstr "" - -#: ../utils/net_help_common.c:36 -msgid "\t-S or --server=<server>\t\tserver name\n" -msgstr "" - -#: ../utils/net_help_common.c:37 -msgid "\t-I or --ipaddress=<ipaddr>\taddress of target server\n" -msgstr "" - -#: ../utils/net_help_common.c:38 -msgid "\t-w or --workgroup=<wg>\t\ttarget workgroup or domain\n" -msgstr "" - -#: ../utils/net_help_common.c:41 -#, fuzzy -msgid "Valid miscellaneous options are:\n" -msgstr "Diğer Seçenekler" - -#. misc options -#: ../utils/net_help_common.c:42 -msgid "\t-p or --port=<port>\t\tconnection port on target\n" -msgstr "" - -#: ../utils/net_help_common.c:43 -msgid "\t-W or --myworkgroup=<wg>\tclient workgroup\n" -msgstr "" - -#: ../utils/net_help_common.c:44 -msgid "\t-d or --debuglevel=<level>\tdebug level (0-10)\n" -msgstr "" - -#: ../utils/net_help_common.c:45 -msgid "\t-n or --myname=<name>\t\tclient name\n" -msgstr "" - -#: ../utils/net_help_common.c:46 -msgid "\t-U or --user=<name>\t\tuser name\n" -msgstr "" - -#: ../utils/net_help_common.c:47 -msgid "\t-s or --configfile=<path>\tpathname of smb.conf file\n" -msgstr "" - -#: ../utils/net_help_common.c:48 -msgid "\t-l or --long\t\t\tDisplay full information\n" -msgstr "" - -#: ../utils/net_help_common.c:49 -msgid "\t-V or --version\t\t\tPrint samba version information\n" -msgstr "" - -#: ../utils/net_help_common.c:50 -msgid "\t-P or --machine-pass\t\tAuthenticate as machine account\n" -msgstr "" - -#: ../utils/net_help_common.c:52 -msgid "\t-e or --encrypt\t\t\tEncrypt SMB transport (UNIX extended servers only)\n" -msgstr "" - -#: ../utils/net_help_common.c:54 -msgid "\t-k or --kerberos\t\tUse kerberos (active directory) authentication\n" -msgstr "" - -#: ../utils/net_idmap.c:25 -msgid "Out of memory!\n" -msgstr "" - -#: ../utils/net_idmap.c:39 -#, c-format -msgid "USER HWM %d\n" -msgstr "" - -#: ../utils/net_idmap.c:44 -#, c-format -msgid "GROUP HWM %d\n" -msgstr "" - -#: ../utils/net_idmap.c:63 -msgid "" -"Usage:\n" -"net idmap dump <inputfile>\n" -" Dump current ID mapping.\n" -" inputfile\tTDB file to read mappings from.\n" -msgstr "" - -#: ../utils/net_idmap.c:73 -#, c-format -msgid "Could not open idmap: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:94 -msgid "" -"Usage:\n" -"net idmap restore [inputfile]\n" -" Restore ID mappings from file\n" -" inputfile\tFile to load ID mappings from. If not given, load data from stdin.\n" -msgstr "" - -#: ../utils/net_idmap.c:104 -msgid "To use net idmap Winbindd must be running.\n" -msgstr "" - -#: ../utils/net_idmap.c:142 -#, c-format -msgid "Could not set USER HWM: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:151 -#, c-format -msgid "Could not set GROUP HWM: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:156 -#, c-format -msgid "ignoring invalid line [%s]\n" -msgstr "" - -#: ../utils/net_idmap.c:163 -#, c-format -msgid "ignoring invalid sid [%s]: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:175 -#, c-format -msgid "Could not set mapping of %s %lu to sid %s: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:196 ../utils/net_idmap.c:202 -msgid "Not Implemented yet\n" -msgstr "" - -#: ../utils/net_idmap.c:240 -msgid "" -"Usage:\n" -"net idmap secret {<DOMAIN>|alloc} <secret>\n" -" Set the secret for the specified domain (or alloc module)\n" -" DOMAIN\tDomain to set secret for.\n" -" alloc\tSet secret for the alloc module\n" -" secret\tNew secret to set.\n" -msgstr "" - -#: ../utils/net_idmap.c:271 -msgid "The only currently supported backend is LDAP\n" -msgstr "" - -#: ../utils/net_idmap.c:281 -#, c-format -msgid "Missing ldap_user_dn option for domain %s\n" -msgstr "" - -#: ../utils/net_idmap.c:292 -msgid "Missing ldap_user_dn option for alloc backend\n" -msgstr "" - -#: ../utils/net_idmap.c:302 -msgid "Failed to store secret\n" -msgstr "" - -#: ../utils/net_idmap.c:307 -msgid "Secret stored\n" -msgstr "" - -#: ../utils/net_idmap.c:313 -msgid "" -"net idmap dump <inputfile>\n" -" Dump current id mapping\n" -msgstr "" - -#: ../utils/net_idmap.c:316 -msgid "" -"net idmap restore\n" -" Restore entries from stdin\n" -msgstr "" - -#. Deliberately *not* document net idmap delete -#: ../utils/net_idmap.c:321 -msgid "" -"net idmap secret <DOMAIN>|alloc <secret>\n" -" Set the secret for the specified DOMAIN (or the alloc module)\n" -msgstr "" - -#: ../utils/net_idmap.c:339 -msgid "usage: net idmap aclmapset <tdb> <src-sid> <dst-sid>\n" -msgstr "" - -#: ../utils/net_idmap.c:351 -#, fuzzy, c-format -msgid "db_open failed: %s\n" -msgstr "Şifre Yönetimi" - -#: ../utils/net_idmap.c:356 ../utils/net_idmap.c:361 -#, c-format -msgid "%s is not a valid sid\n" -msgstr "" - -#: ../utils/net_idmap.c:367 -msgid "talloc_strdup failed\n" -msgstr "" - -#: ../utils/net_idmap.c:373 -msgid "could not fetch db record\n" -msgstr "" - -#: ../utils/net_idmap.c:381 -#, c-format -msgid "could not store record: %s\n" -msgstr "" - -#: ../utils/net_idmap.c:402 -msgid "Dump the current ID mappings" -msgstr "" - -#: ../utils/net_idmap.c:403 -msgid "" -"net idmap dump\n" -" Dump the current ID mappings" -msgstr "" - -#: ../utils/net_idmap.c:410 -msgid "Restore entries from stdin" -msgstr "" - -#: ../utils/net_idmap.c:411 -msgid "" -"net idmap restore\n" -" Restore entries from stdin" -msgstr "" - -#: ../utils/net_idmap.c:418 ../utils/net_idmap.c:426 -msgid "Not implemented yet" -msgstr "" - -#: ../utils/net_idmap.c:419 -msgid "" -"net idmap setmap\n" -" Not implemented yet" -msgstr "" - -#: ../utils/net_idmap.c:427 -msgid "" -"net idmap delete\n" -" Not implemented yet" -msgstr "" - -#: ../utils/net_idmap.c:434 -msgid "Set secret for specified domain" -msgstr "" - -#: ../utils/net_idmap.c:435 -msgid "" -"net idmap secret {<DOMAIN>|alloc} <secret>\n" -" Set secret for specified domain or alloc module" -msgstr "" - -#: ../utils/net_idmap.c:442 -msgid "Set acl map" -msgstr "" - -#: ../utils/net_idmap.c:443 -msgid "" -"net idmap aclmapset\n" -" Set acl map" -msgstr "" - -#: ../utils/net_join.c:26 -msgid "" -"\n" -"net [<method>] join [misc. options]\n" -"\tjoins this server to a domain\n" -msgstr "" - -#: ../utils/net_join.c:47 -msgid "ADS join did not work, falling back to RPC...\n" -msgstr "" - -#: ../utils/net_lookup.c:25 -msgid "" -" net lookup [host] HOSTNAME[#<type>]\n" -"\tgives IP for a hostname\n" -"\n" -" net lookup ldap [domain]\n" -"\tgives IP of domain's ldap server\n" -"\n" -" net lookup kdc [realm]\n" -"\tgives IP of realm's kerberos KDC\n" -"\n" -" net lookup pdc [domain|realm]\n" -"\tgives IP of realm's kerberos KDC\n" -"\n" -" net lookup dc [domain]\n" -"\tgives IP of domains Domain Controllers\n" -"\n" -" net lookup master [domain|wg]\n" -"\tgive IP of master browser\n" -"\n" -" net lookup name [name]\n" -"\tLookup name's sid and type\n" -"\n" -" net lookup sid [sid]\n" -"\tGive sid's name and type\n" -"\n" -" net lookup dsgetdcname [name] [flags] [sitename]\n" -"\n" -msgstr "" - -#: ../utils/net_lookup.c:112 -msgid "net_lookup_ldap: talloc_init() failed!\n" -msgstr "" - -#: ../utils/net_lookup.c:325 -msgid "usage: net lookup name <name>\n" -msgstr "" - -#: ../utils/net_lookup.c:331 ../utils/net_lookup.c:358 -#, c-format -msgid "Could not lookup name %s\n" -msgstr "" - -#: ../utils/net_lookup.c:347 -msgid "usage: net lookup sid <sid>\n" -msgstr "" - -#: ../utils/net_lookup.c:352 -#, c-format -msgid "Could not convert %s to SID\n" -msgstr "" - -#: ../utils/net_lookup.c:378 -msgid "usage: net lookup dsgetdcname <name> <flags> <sitename>\n" -msgstr "" - -#: ../utils/net_lookup.c:404 -#, c-format -msgid "failed with: %s\n" -msgstr "" - -#: ../utils/net_lookup.c:437 -msgid "" -"\n" -"Usage: \n" -msgstr "" - -#: ../utils/net_lua.c:60 -msgid "connect: Expected IP-Address" -msgstr "" - -#: ../utils/net_lua.c:65 -msgid "connect: Expected port" -msgstr "" - -#: ../utils/net_lua.c:84 -#, fuzzy, c-format -msgid "connect failed: %s" -msgstr "Şifre Yönetimi" - -#: ../utils/net_lua.c:132 -#, c-format -msgid "socket domain %s unknown" -msgstr "" - -#: ../utils/net_lua.c:144 -#, c-format -msgid "socket type %s unknown" -msgstr "" - -#: ../utils/net_lua.c:155 -#, fuzzy, c-format -msgid "socket() failed: %s" -msgstr "Şifre Yönetimi" - -#: ../utils/net_lua.c:278 -msgid "evt_reference_thread failed\n" -msgstr "" - -#: ../utils/net_lua.c:287 -msgid "event_add_timed failed" -msgstr "" - -#: ../utils/net_lua.c:300 -msgid "event_once called from non-base thread" -msgstr "" - -#: ../utils/net_lua.c:323 -msgid "event_context_init failed" -msgstr "" - -#: ../utils/net_lua.c:353 -msgid "lua_newstate failed\n" -msgstr "" - -#: ../utils/net_lua.c:371 -msgid "luaL_dofile returned an error\n" -msgstr "" - -#: ../utils/net_lua.c:376 -msgid "luaL_dostring returned an error\n" -msgstr "" diff --git a/source3/printing/nt_printing.c b/source3/printing/nt_printing.c index 26b8d9d81d..b2815c221d 100644 --- a/source3/printing/nt_printing.c +++ b/source3/printing/nt_printing.c @@ -1590,7 +1590,7 @@ static uint32 get_correct_cversion(struct pipes_struct *p, } if (conn != NULL) { vfs_ChDir(conn, oldcwd); - conn_free_internal(conn); + conn_free(conn); } if (cversion != -1) { *perr = WERR_OK; @@ -2072,7 +2072,7 @@ WERROR move_driver_to_download_area(struct pipes_struct *p, if (conn != NULL) { vfs_ChDir(conn, oldcwd); - conn_free_internal(conn); + conn_free(conn); } if (W_ERROR_EQUAL(*perr, WERR_OK)) { @@ -5267,7 +5267,7 @@ static bool delete_driver_files(struct pipes_struct *rpc_pipe, done: if (conn != NULL) { vfs_ChDir(conn, oldcwd); - conn_free_internal(conn); + conn_free(conn); } return ret; } diff --git a/source3/rpc_server/srv_srvsvc_nt.c b/source3/rpc_server/srv_srvsvc_nt.c index 15b2290805..01ffcd837a 100644 --- a/source3/rpc_server/srv_srvsvc_nt.c +++ b/source3/rpc_server/srv_srvsvc_nt.c @@ -2133,7 +2133,7 @@ WERROR _srvsvc_NetGetFileSecurity(pipes_struct *p, close_file(NULL, fsp, NORMAL_CLOSE); vfs_ChDir(conn, oldcwd); - conn_free_internal(conn); + conn_free(conn); werr = WERR_OK; goto done; @@ -2148,7 +2148,7 @@ error_exit: } if (conn) { - conn_free_internal(conn); + conn_free(conn); } done: @@ -2267,7 +2267,7 @@ WERROR _srvsvc_NetSetFileSecurity(pipes_struct *p, close_file(NULL, fsp, NORMAL_CLOSE); vfs_ChDir(conn, oldcwd); - conn_free_internal(conn); + conn_free(conn); werr = WERR_OK; goto done; @@ -2282,7 +2282,7 @@ error_exit: } if (conn) { - conn_free_internal(conn); + conn_free(conn); } done: diff --git a/source3/rpc_server/srv_wkssvc_nt.c b/source3/rpc_server/srv_wkssvc_nt.c index acc1fb3b03..ab09e8632f 100644 --- a/source3/rpc_server/srv_wkssvc_nt.c +++ b/source3/rpc_server/srv_wkssvc_nt.c @@ -306,7 +306,7 @@ WERROR _wkssvc_NetrJoinDomain2(pipes_struct *p, if (!user_has_privileges(token, &se_machine_account) && !nt_token_check_domain_rid(token, DOMAIN_GROUP_RID_ADMINS) && - !nt_token_check_domain_rid(token, BUILTIN_ALIAS_RID_ADMINS)) { + !nt_token_check_sid(&global_sid_Builtin_Administrators, token)) { DEBUG(5,("_wkssvc_NetrJoinDomain2: account doesn't have " "sufficient privileges\n")); return WERR_ACCESS_DENIED; @@ -377,7 +377,7 @@ WERROR _wkssvc_NetrUnjoinDomain2(pipes_struct *p, if (!user_has_privileges(token, &se_machine_account) && !nt_token_check_domain_rid(token, DOMAIN_GROUP_RID_ADMINS) && - !nt_token_check_domain_rid(token, BUILTIN_ALIAS_RID_ADMINS)) { + !nt_token_check_sid(&global_sid_Builtin_Administrators, token)) { DEBUG(5,("_wkssvc_NetrUnjoinDomain2: account doesn't have " "sufficient privileges\n")); return WERR_ACCESS_DENIED; diff --git a/source3/samba4.mk b/source3/samba4.mk index 653ae25464..a8cebf5a39 100644 --- a/source3/samba4.mk +++ b/source3/samba4.mk @@ -88,6 +88,7 @@ libcmdlinesrcdir := $(samba4srcdir)/lib/cmdline poptsrcdir := $(samba4srcdir)/../lib/popt socketwrappersrcdir := $(samba4srcdir)/../lib/socket_wrapper nsswrappersrcdir := $(samba4srcdir)/../lib/nss_wrapper +uidwrappersrcdir := $(samba4srcdir)/../lib/uid_wrapper libstreamsrcdir := $(samba4srcdir)/lib/stream libutilsrcdir := $(samba4srcdir)/../lib/util libtdrsrcdir := ../lib/tdr diff --git a/source3/smbd/conn.c b/source3/smbd/conn.c index af6e0919a4..959fcd7754 100644 --- a/source3/smbd/conn.c +++ b/source3/smbd/conn.c @@ -101,6 +101,7 @@ connection_struct *conn_new(struct smbd_server_connection *sconn) TALLOC_FREE(conn); return NULL; } + conn->sconn = sconn; return conn; } @@ -154,6 +155,7 @@ find_again: TALLOC_FREE(conn); return NULL; } + conn->sconn = sconn; conn->cnum = i; conn->force_group_gid = (gid_t)-1; @@ -161,7 +163,6 @@ find_again: sconn->smb1.tcons.num_open++; - string_set(&conn->dirpath,""); string_set(&conn->connectpath,""); string_set(&conn->origpath,""); @@ -181,7 +182,7 @@ bool conn_close_all(struct smbd_server_connection *sconn) for (conn=sconn->smb1.tcons.Connections;conn;conn=next) { next=conn->next; set_current_service(conn, 0, True); - close_cnum(sconn, conn, conn->vuid); + close_cnum(conn, conn->vuid); ret = true; } return ret; @@ -255,9 +256,9 @@ void conn_clear_vuid_caches(struct smbd_server_connection *sconn,uint16_t vuid) Free a conn structure - internal part. ****************************************************************************/ -void conn_free_internal(connection_struct *conn) +static void conn_free_internal(connection_struct *conn) { - vfs_handle_struct *handle = NULL, *thandle = NULL; + vfs_handle_struct *handle = NULL, *thandle = NULL; struct trans_state *state = NULL; /* Free vfs_connection_struct */ @@ -282,7 +283,6 @@ void conn_free_internal(connection_struct *conn) free_namearray(conn->veto_oplock_list); free_namearray(conn->aio_write_behind_list); - string_free(&conn->dirpath); string_free(&conn->connectpath); string_free(&conn->origpath); @@ -294,19 +294,24 @@ void conn_free_internal(connection_struct *conn) Free a conn structure. ****************************************************************************/ -void conn_free(struct smbd_server_connection *sconn, connection_struct *conn) +void conn_free(connection_struct *conn) { - if (sconn->allow_smb2) { + if (conn->sconn == NULL) { + conn_free_internal(conn); + return; + } + + if (conn->sconn->allow_smb2) { conn_free_internal(conn); return; } - DLIST_REMOVE(sconn->smb1.tcons.Connections, conn); + DLIST_REMOVE(conn->sconn->smb1.tcons.Connections, conn); - bitmap_clear(sconn->smb1.tcons.bmap, conn->cnum); + bitmap_clear(conn->sconn->smb1.tcons.bmap, conn->cnum); - SMB_ASSERT(sconn->smb1.tcons.num_open > 0); - sconn->smb1.tcons.num_open--; + SMB_ASSERT(conn->sconn->smb1.tcons.num_open > 0); + conn->sconn->smb1.tcons.num_open--; conn_free_internal(conn); } @@ -340,7 +345,7 @@ void msg_force_tdis(struct messaging_context *msg, if (strequal(lp_servicename(SNUM(conn)), sharename)) { DEBUG(1,("Forcing close of share %s cnum=%d\n", sharename, conn->cnum)); - close_cnum(sconn, conn, (uint16)-1); + close_cnum(conn, (uint16)-1); } } } diff --git a/source3/smbd/dir.c b/source3/smbd/dir.c index 642fb09362..73c4cbb3e7 100644 --- a/source3/smbd/dir.c +++ b/source3/smbd/dir.c @@ -115,15 +115,19 @@ bool make_dir_struct(TALLOC_CTX *ctx, Initialise the dir bitmap. ****************************************************************************/ -void init_dptrs(void) +bool init_dptrs(struct smbd_server_connection *sconn) { - if (dptr_bmap) - return; + if (sconn->smb1.searches.dptr_bmap) { + return true; + } + + sconn->smb1.searches.dptr_bmap = bitmap_allocate(MAX_DIRECTORY_HANDLES); - dptr_bmap = bitmap_allocate(MAX_DIRECTORY_HANDLES); + if (sconn->smb1.searches.dptr_bmap == NULL) { + return false; + } - if (!dptr_bmap) - exit_server("out of memory in init_dptrs"); + return true; } /**************************************************************************** @@ -142,14 +146,14 @@ static void dptr_idle(struct dptr_struct *dptr) Idle the oldest dptr. ****************************************************************************/ -static void dptr_idleoldest(void) +static void dptr_idleoldest(struct smbd_server_connection *sconn) { struct dptr_struct *dptr; /* * Go to the end of the list. */ - for(dptr = dirptrs; dptr && dptr->next; dptr = dptr->next) + for(dptr = sconn->smb1.searches.dirptrs; dptr && dptr->next; dptr = dptr->next) ; if(!dptr) { @@ -173,15 +177,16 @@ static void dptr_idleoldest(void) Get the struct dptr_struct for a dir index. ****************************************************************************/ -static struct dptr_struct *dptr_get(int key, bool forclose) +static struct dptr_struct *dptr_get(struct smbd_server_connection *sconn, + int key, bool forclose) { struct dptr_struct *dptr; - for(dptr = dirptrs; dptr; dptr = dptr->next) { + for(dptr = sconn->smb1.searches.dirptrs; dptr; dptr = dptr->next) { if(dptr->dnum == key) { if (!forclose && !dptr->dir_hnd) { - if (dirhandles_open >= MAX_OPEN_DIRECTORIES) - dptr_idleoldest(); + if (sconn->smb1.searches.dirhandles_open >= MAX_OPEN_DIRECTORIES) + dptr_idleoldest(sconn); DEBUG(4,("dptr_get: Reopening dptr key %d\n",key)); if (!(dptr->dir_hnd = OpenDir( NULL, dptr->conn, dptr->path, @@ -191,7 +196,7 @@ static struct dptr_struct *dptr_get(int key, bool forclose) return False; } } - DLIST_PROMOTE(dirptrs,dptr); + DLIST_PROMOTE(sconn->smb1.searches.dirptrs,dptr); return dptr; } } @@ -202,9 +207,9 @@ static struct dptr_struct *dptr_get(int key, bool forclose) Get the dir path for a dir index. ****************************************************************************/ -char *dptr_path(int key) +char *dptr_path(struct smbd_server_connection *sconn, int key) { - struct dptr_struct *dptr = dptr_get(key, False); + struct dptr_struct *dptr = dptr_get(sconn, key, false); if (dptr) return(dptr->path); return(NULL); @@ -214,9 +219,9 @@ char *dptr_path(int key) Get the dir wcard for a dir index. ****************************************************************************/ -char *dptr_wcard(int key) +char *dptr_wcard(struct smbd_server_connection *sconn, int key) { - struct dptr_struct *dptr = dptr_get(key, False); + struct dptr_struct *dptr = dptr_get(sconn, key, false); if (dptr) return(dptr->wcard); return(NULL); @@ -226,9 +231,9 @@ char *dptr_wcard(int key) Get the dir attrib for a dir index. ****************************************************************************/ -uint16 dptr_attr(int key) +uint16 dptr_attr(struct smbd_server_connection *sconn, int key) { - struct dptr_struct *dptr = dptr_get(key, False); + struct dptr_struct *dptr = dptr_get(sconn, key, false); if (dptr) return(dptr->attr); return(0); @@ -240,22 +245,29 @@ uint16 dptr_attr(int key) static void dptr_close_internal(struct dptr_struct *dptr) { + struct smbd_server_connection *sconn = dptr->conn->sconn; + DEBUG(4,("closing dptr key %d\n",dptr->dnum)); - DLIST_REMOVE(dirptrs, dptr); + if (sconn == NULL) { + goto done; + } + + DLIST_REMOVE(sconn->smb1.searches.dirptrs, dptr); /* * Free the dnum in the bitmap. Remember the dnum value is always * biased by one with respect to the bitmap. */ - if(bitmap_query( dptr_bmap, dptr->dnum - 1) != True) { + if(bitmap_query(sconn->smb1.searches.dptr_bmap, dptr->dnum - 1) != true) { DEBUG(0,("dptr_close_internal : Error - closing dnum = %d and bitmap not set !\n", dptr->dnum )); } - bitmap_clear(dptr_bmap, dptr->dnum - 1); + bitmap_clear(sconn->smb1.searches.dptr_bmap, dptr->dnum - 1); +done: TALLOC_FREE(dptr->dir_hnd); /* Lanman 2 specific code */ @@ -268,7 +280,7 @@ static void dptr_close_internal(struct dptr_struct *dptr) Close a dptr given a key. ****************************************************************************/ -void dptr_close(int *key) +void dptr_close(struct smbd_server_connection *sconn, int *key) { struct dptr_struct *dptr; @@ -278,7 +290,7 @@ void dptr_close(int *key) /* OS/2 seems to use -1 to indicate "close all directories" */ if (*key == -1) { struct dptr_struct *next; - for(dptr = dirptrs; dptr; dptr = next) { + for(dptr = sconn->smb1.searches.dirptrs; dptr; dptr = next) { next = dptr->next; dptr_close_internal(dptr); } @@ -286,7 +298,7 @@ void dptr_close(int *key) return; } - dptr = dptr_get(*key, True); + dptr = dptr_get(sconn, *key, true); if (!dptr) { DEBUG(0,("Invalid key %d given to dptr_close\n", *key)); @@ -305,10 +317,17 @@ void dptr_close(int *key) void dptr_closecnum(connection_struct *conn) { struct dptr_struct *dptr, *next; - for(dptr = dirptrs; dptr; dptr = next) { + struct smbd_server_connection *sconn = conn->sconn; + + if (sconn == NULL) { + return; + } + + for(dptr = sconn->smb1.searches.dirptrs; dptr; dptr = next) { next = dptr->next; - if (dptr->conn == conn) + if (dptr->conn == conn) { dptr_close_internal(dptr); + } } } @@ -319,9 +338,16 @@ void dptr_closecnum(connection_struct *conn) void dptr_idlecnum(connection_struct *conn) { struct dptr_struct *dptr; - for(dptr = dirptrs; dptr; dptr = dptr->next) { - if (dptr->conn == conn && dptr->dir_hnd) + struct smbd_server_connection *sconn = conn->sconn; + + if (sconn == NULL) { + return; + } + + for(dptr = sconn->smb1.searches.dirptrs; dptr; dptr = dptr->next) { + if (dptr->conn == conn && dptr->dir_hnd) { dptr_idle(dptr); + } } } @@ -329,10 +355,11 @@ void dptr_idlecnum(connection_struct *conn) Close a dptr that matches a given path, only if it matches the spid also. ****************************************************************************/ -void dptr_closepath(char *path,uint16 spid) +void dptr_closepath(struct smbd_server_connection *sconn, + char *path,uint16 spid) { struct dptr_struct *dptr, *next; - for(dptr = dirptrs; dptr; dptr = next) { + for(dptr = sconn->smb1.searches.dirptrs; dptr; dptr = next) { next = dptr->next; if (spid == dptr->spid && strequal(dptr->path,path)) dptr_close_internal(dptr); @@ -345,14 +372,15 @@ void dptr_closepath(char *path,uint16 spid) finished with that one. ****************************************************************************/ -static void dptr_close_oldest(bool old) +static void dptr_close_oldest(struct smbd_server_connection *sconn, + bool old) { struct dptr_struct *dptr; /* * Go to the end of the list. */ - for(dptr = dirptrs; dptr && dptr->next; dptr = dptr->next) + for(dptr = sconn->smb1.searches.dirptrs; dptr && dptr->next; dptr = dptr->next) ; if(!dptr) { @@ -387,12 +415,18 @@ static void dptr_close_oldest(bool old) NTSTATUS dptr_create(connection_struct *conn, const char *path, bool old_handle, bool expect_close,uint16 spid, const char *wcard, bool wcard_has_wild, uint32 attr, struct dptr_struct **dptr_ret) { + struct smbd_server_connection *sconn = conn->sconn; struct dptr_struct *dptr = NULL; struct smb_Dir *dir_hnd; NTSTATUS status; DEBUG(5,("dptr_create dir=%s\n", path)); + if (sconn == NULL) { + DEBUG(0,("dptr_create: called with fake connection_struct\n")); + return NT_STATUS_INTERNAL_ERROR; + } + if (!wcard) { return NT_STATUS_INVALID_PARAMETER; } @@ -407,10 +441,8 @@ NTSTATUS dptr_create(connection_struct *conn, const char *path, bool old_handle, return map_nt_error_from_unix(errno); } - string_set(&conn->dirpath,path); - - if (dirhandles_open >= MAX_OPEN_DIRECTORIES) { - dptr_idleoldest(); + if (sconn->smb1.searches.dirhandles_open >= MAX_OPEN_DIRECTORIES) { + dptr_idleoldest(sconn); } dptr = SMB_MALLOC_P(struct dptr_struct); @@ -429,7 +461,7 @@ NTSTATUS dptr_create(connection_struct *conn, const char *path, bool old_handle, * value we return will fit in the range 1-255. */ - dptr->dnum = bitmap_find(dptr_bmap, 0); + dptr->dnum = bitmap_find(sconn->smb1.searches.dptr_bmap, 0); if(dptr->dnum == -1 || dptr->dnum > 254) { @@ -439,10 +471,10 @@ NTSTATUS dptr_create(connection_struct *conn, const char *path, bool old_handle, * finished with that one. */ - dptr_close_oldest(True); + dptr_close_oldest(sconn, true); /* Now try again... */ - dptr->dnum = bitmap_find(dptr_bmap, 0); + dptr->dnum = bitmap_find(sconn->smb1.searches.dptr_bmap, 0); if(dptr->dnum == -1 || dptr->dnum > 254) { DEBUG(0,("dptr_create: returned %d: Error - all old dirptrs in use ?\n", dptr->dnum)); SAFE_FREE(dptr); @@ -457,7 +489,7 @@ NTSTATUS dptr_create(connection_struct *conn, const char *path, bool old_handle, * a range that will return 256 - MAX_DIRECTORY_HANDLES. */ - dptr->dnum = bitmap_find(dptr_bmap, 255); + dptr->dnum = bitmap_find(sconn->smb1.searches.dptr_bmap, 255); if(dptr->dnum == -1 || dptr->dnum < 255) { @@ -468,10 +500,10 @@ NTSTATUS dptr_create(connection_struct *conn, const char *path, bool old_handle, * directory handles. */ - dptr_close_oldest(False); + dptr_close_oldest(sconn, false); /* Now try again... */ - dptr->dnum = bitmap_find(dptr_bmap, 255); + dptr->dnum = bitmap_find(sconn->smb1.searches.dptr_bmap, 255); if(dptr->dnum == -1 || dptr->dnum < 255) { DEBUG(0,("dptr_create: returned %d: Error - all new dirptrs in use ?\n", dptr->dnum)); @@ -482,7 +514,7 @@ NTSTATUS dptr_create(connection_struct *conn, const char *path, bool old_handle, } } - bitmap_set(dptr_bmap, dptr->dnum); + bitmap_set(sconn->smb1.searches.dptr_bmap, dptr->dnum); dptr->dnum += 1; /* Always bias the dnum by one - no zero dnums allowed. */ @@ -493,7 +525,7 @@ NTSTATUS dptr_create(connection_struct *conn, const char *path, bool old_handle, dptr->expect_close = expect_close; dptr->wcard = SMB_STRDUP(wcard); if (!dptr->wcard) { - bitmap_clear(dptr_bmap, dptr->dnum - 1); + bitmap_clear(sconn->smb1.searches.dptr_bmap, dptr->dnum - 1); SAFE_FREE(dptr); TALLOC_FREE(dir_hnd); return NT_STATUS_NO_MEMORY; @@ -506,7 +538,7 @@ NTSTATUS dptr_create(connection_struct *conn, const char *path, bool old_handle, dptr->attr = attr; - DLIST_ADD(dirptrs, dptr); + DLIST_ADD(sconn->smb1.searches.dirptrs, dptr); DEBUG(3,("creating new dirptr %d for path %s, expect_close = %d\n", dptr->dnum,path,expect_close)); @@ -523,7 +555,8 @@ NTSTATUS dptr_create(connection_struct *conn, const char *path, bool old_handle, int dptr_CloseDir(struct dptr_struct *dptr) { - DLIST_REMOVE(dirptrs, dptr); + struct smbd_server_connection *sconn = dptr->conn->sconn; + DLIST_REMOVE(sconn->smb1.searches.dirptrs, dptr); TALLOC_FREE(dptr->dir_hnd); return 0; } @@ -726,10 +759,11 @@ void dptr_init_search_op(struct dptr_struct *dptr) Fill the 5 byte server reserved dptr field. ****************************************************************************/ -bool dptr_fill(char *buf1,unsigned int key) +bool dptr_fill(struct smbd_server_connection *sconn, + char *buf1,unsigned int key) { unsigned char *buf = (unsigned char *)buf1; - struct dptr_struct *dptr = dptr_get(key, False); + struct dptr_struct *dptr = dptr_get(sconn, key, false); uint32 offset; if (!dptr) { DEBUG(1,("filling null dirptr %d\n",key)); @@ -747,10 +781,11 @@ bool dptr_fill(char *buf1,unsigned int key) Fetch the dir ptr and seek it given the 5 byte server field. ****************************************************************************/ -struct dptr_struct *dptr_fetch(char *buf,int *num) +struct dptr_struct *dptr_fetch(struct smbd_server_connection *sconn, + char *buf, int *num) { unsigned int key = *(unsigned char *)buf; - struct dptr_struct *dptr = dptr_get(key, False); + struct dptr_struct *dptr = dptr_get(sconn, key, false); uint32 offset; long seekoff; @@ -767,7 +802,7 @@ struct dptr_struct *dptr_fetch(char *buf,int *num) } SeekDir(dptr->dir_hnd,seekoff); DEBUG(3,("fetching dirptr %d for path %s at offset %d\n", - key,dptr_path(key),(int)seekoff)); + key, dptr->path, (int)seekoff)); return(dptr); } @@ -775,15 +810,16 @@ struct dptr_struct *dptr_fetch(char *buf,int *num) Fetch the dir ptr. ****************************************************************************/ -struct dptr_struct *dptr_fetch_lanman2(int dptr_num) +struct dptr_struct *dptr_fetch_lanman2(struct smbd_server_connection *sconn, + int dptr_num) { - struct dptr_struct *dptr = dptr_get(dptr_num, False); + struct dptr_struct *dptr = dptr_get(sconn, dptr_num, false); if (!dptr) { DEBUG(3,("fetched null dirptr %d\n",dptr_num)); return(NULL); } - DEBUG(3,("fetching dirptr %d for path %s\n",dptr_num,dptr_path(dptr_num))); + DEBUG(3,("fetching dirptr %d for path %s\n",dptr_num,dptr->path)); return(dptr); } @@ -825,156 +861,251 @@ static bool mangle_mask_match(connection_struct *conn, return mask_match_search(mname,mask,False); } -/**************************************************************************** - Get an 8.3 directory entry. -****************************************************************************/ - -bool get_dir_entry(TALLOC_CTX *ctx, - connection_struct *conn, - const char *mask, - uint32 dirtype, - char **pp_fname_out, - SMB_OFF_T *size, - uint32 *mode, - struct timespec *date, - bool check_descend, - bool ask_sharemode) +bool smbd_dirptr_get_entry(TALLOC_CTX *ctx, + struct dptr_struct *dirptr, + const char *mask, + uint32_t dirtype, + bool dont_descend, + bool ask_sharemode, + bool (*match_fn)(TALLOC_CTX *ctx, + void *private_data, + const char *dname, + const char *mask, + char **_fname), + bool (*mode_fn)(TALLOC_CTX *ctx, + void *private_data, + struct smb_filename *smb_fname, + uint32_t *_mode), + void *private_data, + char **_fname, + struct smb_filename **_smb_fname, + uint32_t *_mode, + long *_prev_offset) { - char *dname = NULL; - bool found = False; - SMB_STRUCT_STAT sbuf; - char *pathreal = NULL; - char *filename = NULL; + connection_struct *conn = dirptr->conn; bool needslash; - *pp_fname_out = NULL; + *_smb_fname = NULL; + *_mode = 0; - needslash = ( conn->dirpath[strlen(conn->dirpath) -1] != '/'); + needslash = ( dirptr->path[strlen(dirptr->path) -1] != '/'); - if (!conn->dirptr) { - return(False); - } + while (true) { + long cur_offset; + long prev_offset; + SMB_STRUCT_STAT sbuf; + char *dname = NULL; + bool isdots; + char *fname = NULL; + char *pathreal = NULL; + struct smb_filename *smb_fname = NULL; + uint32_t mode = 0; + bool ok; + NTSTATUS status; - while (!found) { - long curoff = dptr_TellDir(conn->dirptr); - dname = dptr_ReadDirName(ctx, conn->dirptr, &curoff, &sbuf); + cur_offset = dptr_TellDir(dirptr); + prev_offset = cur_offset; + dname = dptr_ReadDirName(ctx, dirptr, &cur_offset, &sbuf); - DEBUG(6,("readdir on dirptr 0x%lx now at offset %ld\n", - (long)conn->dirptr,TellDir(conn->dirptr->dir_hnd))); + DEBUG(6,("smbd_dirptr_get_entry: dirptr 0x%lx now at offset %ld\n", + (long)dirptr, cur_offset)); if (dname == NULL) { - return(False); + return false; } - filename = dname; - - /* notice the special *.* handling. This appears to be the only difference - between the wildcard handling in this routine and in the trans2 routines. - see masktest for a demo - */ - if ((strcmp(mask,"*.*") == 0) || - mask_match_search(filename,mask,False) || - mangle_mask_match(conn,filename,mask)) { - char mname[13]; - struct smb_filename *smb_fname = NULL; - NTSTATUS status; - - if (!mangle_is_8_3(filename, False, conn->params)) { - if (!name_to_8_3(filename,mname,False, - conn->params)) { - TALLOC_FREE(filename); - continue; - } - filename = talloc_strdup(ctx, mname); - if (!filename) { - return False; - } - } + isdots = (ISDOT(dname) || ISDOTDOT(dname)); + if (dont_descend && !isdots) { + TALLOC_FREE(dname); + continue; + } - if (needslash) { - pathreal = talloc_asprintf(ctx, - "%s/%s", - conn->dirpath, - dname); - } else { - pathreal = talloc_asprintf(ctx, - "%s%s", - conn->dirpath, - dname); - } - if (!pathreal) { - TALLOC_FREE(filename); - return False; - } + /* + * fname may get mangled, dname is never mangled. + * Whenever we're accessing the filesystem we use + * pathreal which is composed from dname. + */ - /* Create smb_fname with NULL stream_name. */ - status = create_synthetic_smb_fname(ctx, pathreal, - NULL, &sbuf, - &smb_fname); + ok = match_fn(ctx, private_data, dname, mask, &fname); + if (!ok) { + TALLOC_FREE(dname); + continue; + } - TALLOC_FREE(pathreal); - if (!NT_STATUS_IS_OK(status)) { - TALLOC_FREE(filename); - return false; - } + pathreal = talloc_asprintf(ctx, "%s%s%s", + dirptr->path, + needslash?"/":"", + dname); + if (!pathreal) { + TALLOC_FREE(dname); + TALLOC_FREE(fname); + return false; + } - if (!VALID_STAT(smb_fname->st)) { - if ((SMB_VFS_STAT(conn, smb_fname)) != 0) { - DEBUG(5,("Couldn't stat 1 [%s]. Error " - "= %s\n", - smb_fname_str_dbg(smb_fname), - strerror(errno))); - TALLOC_FREE(smb_fname); - TALLOC_FREE(filename); - continue; - } - } + /* Create smb_fname with NULL stream_name. */ + status = create_synthetic_smb_fname(ctx, pathreal, + NULL, &sbuf, + &smb_fname); + TALLOC_FREE(pathreal); + if (!NT_STATUS_IS_OK(status)) { + TALLOC_FREE(dname); + TALLOC_FREE(fname); + return false; + } - *mode = dos_mode(conn, smb_fname); + ok = mode_fn(ctx, private_data, smb_fname, &mode); + if (!ok) { + TALLOC_FREE(dname); + TALLOC_FREE(fname); + TALLOC_FREE(smb_fname); + continue; + } - if (!dir_check_ftype(conn,*mode,dirtype)) { - DEBUG(5,("[%s] attribs 0x%x didn't match 0x%x\n",filename,(unsigned int)*mode,(unsigned int)dirtype)); - TALLOC_FREE(smb_fname); - TALLOC_FREE(filename); - continue; + if (!dir_check_ftype(conn, mode, dirtype)) { + DEBUG(5,("[%s] attribs 0x%x didn't match 0x%x\n", + fname, (unsigned int)mode, (unsigned int)dirtype)); + TALLOC_FREE(dname); + TALLOC_FREE(fname); + TALLOC_FREE(smb_fname); + continue; + } + + if (ask_sharemode) { + struct timespec write_time_ts; + struct file_id fileid; + + fileid = vfs_file_id_from_sbuf(conn, + &smb_fname->st); + get_file_infos(fileid, NULL, &write_time_ts); + if (!null_timespec(write_time_ts)) { + update_stat_ex_mtime(&smb_fname->st, + write_time_ts); } + } - *size = smb_fname->st.st_ex_size; - *date = smb_fname->st.st_ex_mtime; + DEBUG(3,("smbd_dirptr_get_entry mask=[%s] found %s " + "fname=%s (%s)\n", + mask, smb_fname_str_dbg(smb_fname), + dname, fname)); - if (ask_sharemode) { - struct timespec write_time_ts; - struct file_id fileid; + DirCacheAdd(dirptr->dir_hnd, dname, cur_offset); - fileid = vfs_file_id_from_sbuf(conn, - &smb_fname->st); - get_file_infos(fileid, NULL, &write_time_ts); - if (!null_timespec(write_time_ts)) { - *date = write_time_ts; - } + TALLOC_FREE(dname); + + *_fname = fname; + *_smb_fname = smb_fname; + *_mode = mode; + *_prev_offset = prev_offset; + + return true; + } + + return false; +} + +/**************************************************************************** + Get an 8.3 directory entry. +****************************************************************************/ + +static bool smbd_dirptr_8_3_match_fn(TALLOC_CTX *ctx, + void *private_data, + const char *dname, + const char *mask, + char **_fname) +{ + connection_struct *conn = (connection_struct *)private_data; + + if ((strcmp(mask,"*.*") == 0) || + mask_match_search(dname, mask, false) || + mangle_mask_match(conn, dname, mask)) { + char mname[13]; + const char *fname; + + if (!mangle_is_8_3(dname, false, conn->params)) { + bool ok = name_to_8_3(dname, mname, false, + conn->params); + if (!ok) { + return false; } + fname = mname; + } else { + fname = dname; + } - DEBUG(3,("get_dir_entry mask=[%s] found %s " - "fname=%s (%s)\n", - mask, - smb_fname_str_dbg(smb_fname), - dname, - filename)); + *_fname = talloc_strdup(ctx, fname); + if (*_fname == NULL) { + return false; + } - found = True; + return true; + } - SMB_ASSERT(filename != NULL); - *pp_fname_out = filename; + return false; +} - DirCacheAdd(conn->dirptr->dir_hnd, dname, curoff); - TALLOC_FREE(smb_fname); +static bool smbd_dirptr_8_3_mode_fn(TALLOC_CTX *ctx, + void *private_data, + struct smb_filename *smb_fname, + uint32_t *_mode) +{ + connection_struct *conn = (connection_struct *)private_data; + + if (!VALID_STAT(smb_fname->st)) { + if ((SMB_VFS_STAT(conn, smb_fname)) != 0) { + DEBUG(5,("smbd_dirptr_8_3_mode_fn: " + "Couldn't stat [%s]. Error " + "= %s\n", + smb_fname_str_dbg(smb_fname), + strerror(errno))); + return false; } + } + + *_mode = dos_mode(conn, smb_fname); + return true; +} - if (!found) - TALLOC_FREE(filename); +bool get_dir_entry(TALLOC_CTX *ctx, + struct dptr_struct *dirptr, + const char *mask, + uint32_t dirtype, + char **_fname, + SMB_OFF_T *_size, + uint32_t *_mode, + struct timespec *_date, + bool check_descend, + bool ask_sharemode) +{ + connection_struct *conn = dirptr->conn; + char *fname = NULL; + struct smb_filename *smb_fname = NULL; + uint32_t mode = 0; + long prev_offset; + bool ok; + + ok = smbd_dirptr_get_entry(ctx, + dirptr, + mask, + dirtype, + check_descend, + ask_sharemode, + smbd_dirptr_8_3_match_fn, + smbd_dirptr_8_3_mode_fn, + conn, + &fname, + &smb_fname, + &mode, + &prev_offset); + if (!ok) { + return false; } - return(found); + *_fname = talloc_move(ctx, &fname); + *_size = smb_fname->st.st_ex_size; + *_mode = mode; + *_date = smb_fname->st.st_ex_mtime; + TALLOC_FREE(smb_fname); + return true; } /******************************************************************* @@ -1152,7 +1283,9 @@ static int smb_Dir_destructor(struct smb_Dir *dirp) if (dirp->dir) { SMB_VFS_CLOSEDIR(dirp->conn,dirp->dir); } - dirhandles_open--; + if (dirp->conn->sconn) { + dirp->conn->sconn->smb1.searches.dirhandles_open--; + } return 0; } @@ -1164,6 +1297,7 @@ struct smb_Dir *OpenDir(TALLOC_CTX *mem_ctx, connection_struct *conn, const char *name, const char *mask, uint32 attr) { struct smb_Dir *dirp = TALLOC_ZERO_P(mem_ctx, struct smb_Dir); + struct smbd_server_connection *sconn = conn->sconn; if (!dirp) { return NULL; @@ -1178,7 +1312,9 @@ struct smb_Dir *OpenDir(TALLOC_CTX *mem_ctx, connection_struct *conn, goto fail; } - dirhandles_open++; + if (sconn) { + sconn->smb1.searches.dirhandles_open++; + } talloc_set_destructor(dirp, smb_Dir_destructor); dirp->dir = SMB_VFS_OPENDIR(conn, dirp->dir_path, mask, attr); diff --git a/source3/smbd/files.c b/source3/smbd/files.c index a170f774fe..146d809738 100644 --- a/source3/smbd/files.c +++ b/source3/smbd/files.c @@ -404,14 +404,15 @@ bool file_find_subpath(files_struct *dir_fsp) { files_struct *fsp; size_t dlen; - char *d_fullname; + char *d_fullname = NULL; + bool ret = false; d_fullname = talloc_asprintf(talloc_tos(), "%s/%s", dir_fsp->conn->connectpath, dir_fsp->fsp_name->base_name); if (!d_fullname) { - return false; + goto out; } dlen = strlen(d_fullname); @@ -429,15 +430,27 @@ bool file_find_subpath(files_struct *dir_fsp) fsp->fsp_name->base_name); if (strnequal(d_fullname, d1_fullname, dlen)) { - TALLOC_FREE(d_fullname); + int d1_len = strlen(d1_fullname); + + /* + * If the open file is a second file handle to the + * same name or is a stream on the original file, then + * don't return true. + */ + if (d1_len == dlen) { + TALLOC_FREE(d1_fullname); + continue; + } + TALLOC_FREE(d1_fullname); - return true; + ret = true; + goto out; } TALLOC_FREE(d1_fullname); } - + out: TALLOC_FREE(d_fullname); - return false; + return ret; } /**************************************************************************** diff --git a/source3/smbd/globals.c b/source3/smbd/globals.c index 317304a86d..f680b76369 100644 --- a/source3/smbd/globals.c +++ b/source3/smbd/globals.c @@ -46,10 +46,6 @@ struct smbd_dmapi_context *dmapi_ctx = NULL; bool dfree_broken = false; -struct bitmap *dptr_bmap = NULL; -struct dptr_struct *dirptrs = NULL; -int dirhandles_open = 0; - /* how many write cache buffers have been allocated */ unsigned int allocated_write_caches = 0; diff --git a/source3/smbd/globals.h b/source3/smbd/globals.h index 434204b60d..338398968a 100644 --- a/source3/smbd/globals.h +++ b/source3/smbd/globals.h @@ -44,11 +44,6 @@ extern struct smbd_dmapi_context *dmapi_ctx; extern bool dfree_broken; -extern struct bitmap *dptr_bmap; -//struct dptr_struct; -extern struct dptr_struct *dirptrs; -extern int dirhandles_open; - /* how many write cache buffers have been allocated */ extern unsigned int allocated_write_caches; @@ -218,6 +213,27 @@ NTSTATUS smbd_do_qfsinfo(connection_struct *conn, char **ppdata, int *ret_data_len); +bool smbd_dirptr_get_entry(TALLOC_CTX *ctx, + struct dptr_struct *dirptr, + const char *mask, + uint32_t dirtype, + bool dont_descend, + bool ask_sharemode, + bool (*match_fn)(TALLOC_CTX *ctx, + void *private_data, + const char *dname, + const char *mask, + char **_fname), + bool (*mode_fn)(TALLOC_CTX *ctx, + void *private_data, + struct smb_filename *smb_fname, + uint32_t *_mode), + void *private_data, + char **_fname, + struct smb_filename **_smb_fname, + uint32_t *_mode, + long *_prev_offset); + void smbd_server_connection_terminate_ex(struct smbd_server_connection *sconn, const char *reason, const char *location); @@ -432,6 +448,12 @@ struct smbd_server_connection { struct pending_auth_data *pd_list; struct notify_mid_map *notify_mid_maps; + + struct { + struct bitmap *dptr_bmap; + struct dptr_struct *dirptrs; + int dirhandles_open; + } searches; } smb1; struct { struct tevent_context *event_ctx; diff --git a/source3/smbd/ipc.c b/source3/smbd/ipc.c index 96a411dd70..12d4922844 100644 --- a/source3/smbd/ipc.c +++ b/source3/smbd/ipc.c @@ -534,7 +534,6 @@ static void named_pipe(connection_struct *conn, uint16 vuid, static void handle_trans(connection_struct *conn, struct smb_request *req, struct trans_state *state) { - struct smbd_server_connection *sconn = smbd_server_conn; char *local_machine_name; int name_offset = 0; @@ -585,7 +584,7 @@ static void handle_trans(connection_struct *conn, struct smb_request *req, state->max_param_return); if (state->close_on_completion) { - close_cnum(sconn, conn,state->vuid); + close_cnum(conn,state->vuid); req->conn = NULL; } diff --git a/source3/smbd/msdfs.c b/source3/smbd/msdfs.c index 22fb8c3ad6..767c8fe297 100644 --- a/source3/smbd/msdfs.c +++ b/source3/smbd/msdfs.c @@ -268,7 +268,7 @@ NTSTATUS create_conn_struct(TALLOC_CTX *ctx, if (!smbd_vfs_init(conn)) { NTSTATUS status = map_nt_error_from_unix(errno); DEBUG(0,("create_conn_struct: smbd_vfs_init failed.\n")); - conn_free_internal(conn); + conn_free(conn); return status; } @@ -284,7 +284,7 @@ NTSTATUS create_conn_struct(TALLOC_CTX *ctx, if (oldcwd == NULL) { NTSTATUS status = map_nt_error_from_unix(errno); DEBUG(3, ("vfs_GetWd failed: %s\n", strerror(errno))); - conn_free_internal(conn); + conn_free(conn); return status; } @@ -293,7 +293,7 @@ NTSTATUS create_conn_struct(TALLOC_CTX *ctx, DEBUG(3,("create_conn_struct: Can't ChDir to new conn path %s. " "Error was %s\n", conn->connectpath, strerror(errno) )); - conn_free_internal(conn); + conn_free(conn); return status; } @@ -939,7 +939,7 @@ NTSTATUS get_referred_path(TALLOC_CTX *ctx, DEBUG(3,("get_referred_path: No valid referrals for path %s\n", dfs_path)); vfs_ChDir(conn, oldpath); - conn_free_internal(conn); + conn_free(conn); TALLOC_FREE(pdp); return status; } @@ -951,13 +951,13 @@ NTSTATUS get_referred_path(TALLOC_CTX *ctx, DEBUG(3,("get_referred_path: failed to parse symlink " "target %s\n", targetpath )); vfs_ChDir(conn, oldpath); - conn_free_internal(conn); + conn_free(conn); TALLOC_FREE(pdp); return NT_STATUS_NOT_FOUND; } vfs_ChDir(conn, oldpath); - conn_free_internal(conn); + conn_free(conn); TALLOC_FREE(pdp); return NT_STATUS_OK; } @@ -1374,7 +1374,7 @@ static bool junction_to_local_path(const struct junction_map *jucn, jucn->volume_name); if (!*pp_path_out) { vfs_ChDir(*conn_out, *oldpath); - conn_free_internal(*conn_out); + conn_free(*conn_out); return False; } return True; @@ -1462,7 +1462,7 @@ bool create_msdfs_link(const struct junction_map *jucn) out: vfs_ChDir(conn, cwd); - conn_free_internal(conn); + conn_free(conn); return ret; } @@ -1493,7 +1493,7 @@ bool remove_msdfs_link(const struct junction_map *jucn) TALLOC_FREE(smb_fname); vfs_ChDir(conn, cwd); - conn_free_internal(conn); + conn_free(conn); return ret; } @@ -1554,7 +1554,7 @@ static int count_dfs_links(TALLOC_CTX *ctx, int snum) out: vfs_ChDir(conn, cwd); - conn_free_internal(conn); + conn_free(conn); return cnt; } @@ -1680,7 +1680,7 @@ out: } vfs_ChDir(conn, cwd); - conn_free_internal(conn); + conn_free(conn); return cnt; } diff --git a/source3/smbd/posix_acls.c b/source3/smbd/posix_acls.c index 0a3b0dff75..b61421dc8f 100644 --- a/source3/smbd/posix_acls.c +++ b/source3/smbd/posix_acls.c @@ -4360,7 +4360,7 @@ static SMB_ACL_T create_posix_acl_from_wire(connection_struct *conn, uint16 num_ on the directory. ****************************************************************************/ -bool set_unix_posix_default_acl(connection_struct *conn, const char *fname, SMB_STRUCT_STAT *psbuf, +bool set_unix_posix_default_acl(connection_struct *conn, const char *fname, const SMB_STRUCT_STAT *psbuf, uint16 num_def_acls, const char *pdata) { SMB_ACL_T def_acl = NULL; @@ -4616,7 +4616,7 @@ SEC_DESC *get_nt_acl_no_snum( TALLOC_CTX *ctx, const char *fname) if (!smbd_vfs_init(conn)) { DEBUG(0,("get_nt_acl_no_snum: Unable to create a fake connection struct!\n")); - conn_free_internal( conn ); + conn_free(conn); return NULL; } @@ -4631,21 +4631,21 @@ SEC_DESC *get_nt_acl_no_snum( TALLOC_CTX *ctx, const char *fname) status = create_synthetic_smb_fname(talloc_tos(), fname, NULL, NULL, &finfo.fsp_name); if (!NT_STATUS_IS_OK(status)) { - conn_free_internal( conn ); + conn_free(conn); return NULL; } if (!NT_STATUS_IS_OK(SMB_VFS_FGET_NT_ACL( &finfo, DACL_SECURITY_INFORMATION, &psd))) { DEBUG(0,("get_nt_acl_no_snum: get_nt_acl returned zero.\n")); TALLOC_FREE(finfo.fsp_name); - conn_free_internal( conn ); + conn_free(conn); return NULL; } ret_sd = dup_sec_desc( ctx, psd ); TALLOC_FREE(finfo.fsp_name); - conn_free_internal( conn ); + conn_free(conn); return ret_sd; } diff --git a/source3/smbd/process.c b/source3/smbd/process.c index 99c862300d..6ec46071ff 100644 --- a/source3/smbd/process.c +++ b/source3/smbd/process.c @@ -2206,6 +2206,9 @@ void smbd_process(void) #endif conn_init(smbd_server_conn); + if (!init_dptrs(smbd_server_conn)) { + exit_server("init_dptrs() failed"); + } smbd_server_conn->smb1.fde = event_add_fd(smbd_event_context(), smbd_server_conn, diff --git a/source3/smbd/reply.c b/source3/smbd/reply.c index 77e122a90c..3498109f12 100644 --- a/source3/smbd/reply.c +++ b/source3/smbd/reply.c @@ -703,7 +703,7 @@ void reply_tcon_and_X(struct smb_request *req) /* we might have to close an old one */ if ((tcon_flags & 0x1) && conn) { - close_cnum(sconn, conn,req->vuid); + close_cnum(conn,req->vuid); req->conn = NULL; conn = NULL; } @@ -1366,6 +1366,8 @@ void reply_search(struct smb_request *req) bool allow_long_path_components = (req->flags2 & FLAGS2_LONG_PATH_COMPONENTS) ? True : False; TALLOC_CTX *ctx = talloc_tos(); bool ask_sharemode = lp_parm_bool(SNUM(conn), "smbd", "search ask sharemode", true); + struct dptr_struct *dirptr = NULL; + struct smbd_server_connection *sconn = smbd_server_conn; START_PROFILE(SMBsearch); @@ -1446,14 +1448,15 @@ void reply_search(struct smb_request *req) mask, mask_contains_wcard, dirtype, - &conn->dirptr); + &dirptr); if (!NT_STATUS_IS_OK(nt_status)) { reply_nterror(req, nt_status); goto out; } - dptr_num = dptr_dnum(conn->dirptr); + dptr_num = dptr_dnum(dirptr); } else { int status_dirtype; + const char *dirpath; memcpy(status,p,21); status_dirtype = CVAL(status,0) & 0x1F; @@ -1461,12 +1464,18 @@ void reply_search(struct smb_request *req) dirtype = status_dirtype; } - conn->dirptr = dptr_fetch(status+12,&dptr_num); - if (!conn->dirptr) { + dirptr = dptr_fetch(sconn, status+12,&dptr_num); + if (!dirptr) { goto SearchEmpty; } - string_set(&conn->dirpath,dptr_path(dptr_num)); - mask = dptr_wcard(dptr_num); + dirpath = dptr_path(sconn, dptr_num); + directory = talloc_strdup(ctx, dirpath); + if (!directory) { + reply_nterror(req, NT_STATUS_NO_MEMORY); + goto out; + } + + mask = dptr_wcard(sconn, dptr_num); if (!mask) { goto SearchEmpty; } @@ -1475,13 +1484,13 @@ void reply_search(struct smb_request *req) * check from the initial saved string. */ mask_contains_wcard = ms_has_wild(mask); - dirtype = dptr_attr(dptr_num); + dirtype = dptr_attr(sconn, dptr_num); } DEBUG(4,("dptr_num is %d\n",dptr_num)); /* Initialize per SMBsearch/SMBffirst/SMBfunique operation data */ - dptr_init_search_op(conn->dirptr); + dptr_init_search_op(dirptr); if ((dirtype&0x1F) == aVOLID) { char buf[DIR_STRUCT_SIZE]; @@ -1491,7 +1500,7 @@ void reply_search(struct smb_request *req) reply_nterror(req, NT_STATUS_NO_MEMORY); goto out; } - dptr_fill(buf+12,dptr_num); + dptr_fill(sconn, buf+12,dptr_num); if (dptr_zero(buf+12) && (status_len==0)) { numentries = 1; } else { @@ -1512,14 +1521,14 @@ void reply_search(struct smb_request *req) /DIR_STRUCT_SIZE)); DEBUG(8,("dirpath=<%s> dontdescend=<%s>\n", - conn->dirpath,lp_dontdescend(SNUM(conn)))); - if (in_list(conn->dirpath, lp_dontdescend(SNUM(conn)),True)) { + directory,lp_dontdescend(SNUM(conn)))); + if (in_list(directory, lp_dontdescend(SNUM(conn)),True)) { check_descend = True; } for (i=numentries;(i<maxentries) && !finished;i++) { finished = !get_dir_entry(ctx, - conn, + dirptr, mask, dirtype, &fname, @@ -1542,7 +1551,7 @@ void reply_search(struct smb_request *req) reply_nterror(req, NT_STATUS_NO_MEMORY); goto out; } - if (!dptr_fill(buf+12,dptr_num)) { + if (!dptr_fill(sconn, buf+12,dptr_num)) { break; } if (message_push_blob(&req->outbuf, @@ -1563,15 +1572,15 @@ void reply_search(struct smb_request *req) (X/Open spec) */ if (numentries == 0) { - dptr_close(&dptr_num); + dptr_close(sconn, &dptr_num); } else if(expect_close && status_len == 0) { /* Close the dptr - we know it's gone */ - dptr_close(&dptr_num); + dptr_close(sconn, &dptr_num); } /* If we were called as SMBfunique, then we can close the dirptr now ! */ if(dptr_num >= 0 && req->cmd == SMBfunique) { - dptr_close(&dptr_num); + dptr_close(sconn, &dptr_num); } if ((numentries == 0) && !mask_contains_wcard) { @@ -1597,18 +1606,15 @@ void reply_search(struct smb_request *req) SSVAL(req->outbuf, smb_flg2, (SVAL(req->outbuf, smb_flg2) & (~FLAGS2_UNICODE_STRINGS))); - if (!directory) { - directory = dptr_path(dptr_num); - } - DEBUG(4,("%s mask=%s path=%s dtype=%d nument=%u of %u\n", smb_fn_name(req->cmd), mask, - directory ? directory : "./", + directory, dirtype, numentries, maxentries )); out: + TALLOC_FREE(directory); TALLOC_FREE(smb_fname); END_PROFILE(SMBsearch); return; @@ -1628,6 +1634,7 @@ void reply_fclose(struct smb_request *req) NTSTATUS err; bool path_contains_wcard = False; TALLOC_CTX *ctx = talloc_tos(); + struct smbd_server_connection *sconn = smbd_server_conn; START_PROFILE(SMBfclose); @@ -1657,9 +1664,9 @@ void reply_fclose(struct smb_request *req) memcpy(status,p,21); - if(dptr_fetch(status+12,&dptr_num)) { + if(dptr_fetch(sconn, status+12,&dptr_num)) { /* Close the dptr - we know it's gone */ - dptr_close(&dptr_num); + dptr_close(sconn, &dptr_num); } reply_outbuf(req, 1, 0); @@ -4868,7 +4875,6 @@ void reply_unlock(struct smb_request *req) void reply_tdis(struct smb_request *req) { - struct smbd_server_connection *sconn = smbd_server_conn; connection_struct *conn = req->conn; START_PROFILE(SMBtdis); @@ -4881,7 +4887,7 @@ void reply_tdis(struct smb_request *req) conn->used = False; - close_cnum(sconn, conn,req->vuid); + close_cnum(conn,req->vuid); req->conn = NULL; reply_outbuf(req, 0, 0); @@ -5528,6 +5534,7 @@ void reply_rmdir(struct smb_request *req) char *directory = NULL; NTSTATUS status; TALLOC_CTX *ctx = talloc_tos(); + struct smbd_server_connection *sconn = smbd_server_conn; START_PROFILE(SMBrmdir); @@ -5559,7 +5566,7 @@ void reply_rmdir(struct smb_request *req) goto out; } - dptr_closepath(smb_dname->base_name, req->smbpid); + dptr_closepath(sconn, smb_dname->base_name, req->smbpid); status = rmdir_internals(ctx, conn, smb_dname); if (!NT_STATUS_IS_OK(status)) { reply_nterror(req, status); diff --git a/source3/smbd/server.c b/source3/smbd/server.c index 4b1c803d75..ace3124842 100644 --- a/source3/smbd/server.c +++ b/source3/smbd/server.c @@ -914,8 +914,6 @@ static bool init_structs(void ) file_init(); - init_dptrs(); - if (!secrets_init()) return False; diff --git a/source3/smbd/service.c b/source3/smbd/service.c index a043288bc9..fc56105adf 100644 --- a/source3/smbd/service.c +++ b/source3/smbd/service.c @@ -673,7 +673,7 @@ connection_struct *make_connection_snum(struct smbd_server_connection *sconn, DEBUG(1, ("create_connection_server_info failed: %s\n", nt_errstr(status))); *pstatus = status; - conn_free(sconn, conn); + conn_free(conn); return NULL; } @@ -692,7 +692,6 @@ connection_struct *make_connection_snum(struct smbd_server_connection *sconn, conn->printer = (strncmp(dev,"LPT",3) == 0); conn->ipc = ( (strncmp(dev,"IPC",3) == 0) || ( lp_enable_asu_support() && strequal(dev,"ADMIN$")) ); - conn->dirptr = NULL; /* Case options for the share. */ if (lp_casesensitive(snum) == Auto) { @@ -712,7 +711,6 @@ connection_struct *make_connection_snum(struct smbd_server_connection *sconn, conn->hide_list = NULL; conn->veto_oplock_list = NULL; conn->aio_write_behind_list = NULL; - string_set(&conn->dirpath,""); conn->read_only = lp_readonly(SNUM(conn)); conn->admin_user = False; @@ -730,7 +728,7 @@ connection_struct *make_connection_snum(struct smbd_server_connection *sconn, fuser = talloc_string_sub(conn, lp_force_user(snum), "%S", lp_servicename(snum)); if (fuser == NULL) { - conn_free(sconn, conn); + conn_free(conn); *pstatus = NT_STATUS_NO_MEMORY; return NULL; } @@ -739,7 +737,7 @@ connection_struct *make_connection_snum(struct smbd_server_connection *sconn, conn, fuser, conn->server_info->guest, &forced_serverinfo); if (!NT_STATUS_IS_OK(status)) { - conn_free(sconn, conn); + conn_free(conn); *pstatus = status; return NULL; } @@ -764,7 +762,7 @@ connection_struct *make_connection_snum(struct smbd_server_connection *sconn, &conn->server_info->utok.gid); if (!NT_STATUS_IS_OK(status)) { - conn_free(sconn, conn); + conn_free(conn); *pstatus = status; return NULL; } @@ -790,14 +788,14 @@ connection_struct *make_connection_snum(struct smbd_server_connection *sconn, pdb_get_domain(conn->server_info->sam_account), lp_pathname(snum)); if (!s) { - conn_free(sconn, conn); + conn_free(conn); *pstatus = NT_STATUS_NO_MEMORY; return NULL; } if (!set_conn_connectpath(conn,s)) { TALLOC_FREE(s); - conn_free(sconn, conn); + conn_free(conn); *pstatus = NT_STATUS_NO_MEMORY; return NULL; } @@ -829,7 +827,7 @@ connection_struct *make_connection_snum(struct smbd_server_connection *sconn, "denied due to security " "descriptor.\n", lp_servicename(snum))); - conn_free(sconn, conn); + conn_free(conn); *pstatus = NT_STATUS_ACCESS_DENIED; return NULL; } else { @@ -842,7 +840,7 @@ connection_struct *make_connection_snum(struct smbd_server_connection *sconn, if (!smbd_vfs_init(conn)) { DEBUG(0, ("vfs_init failed for service %s\n", lp_servicename(snum))); - conn_free(sconn, conn); + conn_free(conn); *pstatus = NT_STATUS_BAD_NETWORK_NAME; return NULL; } @@ -860,7 +858,7 @@ connection_struct *make_connection_snum(struct smbd_server_connection *sconn, "for service %s, path %s\n", lp_servicename(snum), conn->connectpath)); - conn_free(sconn, conn); + conn_free(conn); *pstatus = NT_STATUS_BAD_NETWORK_NAME; return NULL; } @@ -884,7 +882,7 @@ connection_struct *make_connection_snum(struct smbd_server_connection *sconn, DEBUG(1, ("Max connections (%d) exceeded for %s\n", lp_max_connections(snum), lp_servicename(snum))); - conn_free(sconn, conn); + conn_free(conn); *pstatus = NT_STATUS_INSUFFICIENT_RESOURCES; return NULL; } @@ -894,7 +892,7 @@ connection_struct *make_connection_snum(struct smbd_server_connection *sconn, */ if (!claim_connection(conn, lp_servicename(snum), 0)) { DEBUG(1, ("Could not store connections entry\n")); - conn_free(sconn, conn); + conn_free(conn); *pstatus = NT_STATUS_INTERNAL_DB_ERROR; return NULL; } @@ -918,7 +916,7 @@ connection_struct *make_connection_snum(struct smbd_server_connection *sconn, DEBUG(1,("root preexec gave %d - failing " "connection\n", ret)); yield_connection(conn, lp_servicename(snum)); - conn_free(sconn, conn); + conn_free(conn); *pstatus = NT_STATUS_ACCESS_DENIED; return NULL; } @@ -929,7 +927,7 @@ connection_struct *make_connection_snum(struct smbd_server_connection *sconn, /* No point continuing if they fail the basic checks */ DEBUG(0,("Can't become connected user!\n")); yield_connection(conn, lp_servicename(snum)); - conn_free(sconn, conn); + conn_free(conn); *pstatus = NT_STATUS_LOGON_FAILURE; return NULL; } @@ -1072,7 +1070,7 @@ connection_struct *make_connection_snum(struct smbd_server_connection *sconn, SMB_VFS_DISCONNECT(conn); } yield_connection(conn, lp_servicename(snum)); - conn_free(sconn, conn); + conn_free(conn); return NULL; } @@ -1219,8 +1217,7 @@ connection_struct *make_connection(struct smbd_server_connection *sconn, Close a cnum. ****************************************************************************/ -void close_cnum(struct smbd_server_connection *sconn, - connection_struct *conn, uint16 vuid) +void close_cnum(connection_struct *conn, uint16 vuid) { file_close_conn(conn); @@ -1274,5 +1271,5 @@ void close_cnum(struct smbd_server_connection *sconn, TALLOC_FREE(cmd); } - conn_free(sconn, conn); + conn_free(conn); } diff --git a/source3/smbd/smb2_tcon.c b/source3/smbd/smb2_tcon.c index 8c4b1f1b6f..090f9b7908 100644 --- a/source3/smbd/smb2_tcon.c +++ b/source3/smbd/smb2_tcon.c @@ -127,7 +127,7 @@ static int smbd_smb2_tcon_destructor(struct smbd_smb2_tcon *tcon) idr_remove(tcon->session->tcons.idtree, tcon->tid); DLIST_REMOVE(tcon->session->tcons.list, tcon); - conn_free(tcon->session->conn, tcon->compat_conn); + conn_free(tcon->compat_conn); tcon->compat_conn = NULL; tcon->tid = 0; diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index 184a858097..2e47eab4f0 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -1165,19 +1165,24 @@ static void call_trans2open(connection_struct *conn, Case can be significant or not. **********************************************************/ -static bool exact_match(connection_struct *conn, - const char *str, - const char *mask) +static bool exact_match(bool has_wild, + bool case_sensitive, + const char *str, + const char *mask) { - if (mask[0] == '.' && mask[1] == 0) - return False; - if (dptr_has_wild(conn->dirptr)) { - return False; + if (mask[0] == '.' && mask[1] == 0) { + return false; + } + + if (has_wild) { + return false; } - if (conn->case_sensitive) + + if (case_sensitive) { return strcmp(str,mask)==0; - else + } else { return StrCaseCmp(str,mask) == 0; + } } /**************************************************************************** @@ -1317,671 +1322,589 @@ static bool check_msdfs_link(connection_struct *conn, Get a level dependent lanman2 dir entry. ****************************************************************************/ -static bool get_lanman2_dir_entry(TALLOC_CTX *ctx, - connection_struct *conn, - uint16 flags2, - const char *path_mask, - uint32 dirtype, - int info_level, - int requires_resume_key, - bool dont_descend, - bool ask_sharemode, - char **ppdata, - char *base_data, - char *end_data, - int space_remaining, - bool *out_of_space, - bool *got_exact_match, - int *last_entry_off, - struct ea_list *name_list) +struct smbd_dirptr_lanman2_state { + connection_struct *conn; + uint32_t info_level; + bool check_mangled_names; + bool has_wild; + bool got_exact_match; +}; + +static bool smbd_dirptr_lanman2_match_fn(TALLOC_CTX *ctx, + void *private_data, + const char *dname, + const char *mask, + char **_fname) { - char *dname; - bool found = False; - SMB_STRUCT_STAT sbuf; - const char *mask = NULL; - char *pathreal = NULL; - char *fname = NULL; - char *p, *q, *pdata = *ppdata; - uint32 reskey=0; - long prev_dirpos=0; - uint32 mode=0; - SMB_OFF_T file_size = 0; - uint64_t allocation_size = 0; - uint32 len; - struct timespec mdate_ts, adate_ts, create_date_ts; - time_t mdate = (time_t)0, adate = (time_t)0, create_date = (time_t)0; - char *nameptr; - char *last_entry_ptr; - bool was_8_3; - uint32 nt_extmode; /* Used for NT connections instead of mode */ - bool needslash = ( conn->dirpath[strlen(conn->dirpath) -1] != '/'); - bool check_mangled_names = lp_manglednames(conn->params); + struct smbd_dirptr_lanman2_state *state = + (struct smbd_dirptr_lanman2_state *)private_data; + bool ok; char mangled_name[13]; /* mangled 8.3 name. */ + bool got_match; + const char *fname; - *out_of_space = False; - *got_exact_match = False; - - ZERO_STRUCT(mdate_ts); - ZERO_STRUCT(adate_ts); - ZERO_STRUCT(create_date_ts); - - if (!conn->dirptr) { - return(False); - } - - p = strrchr_m(path_mask,'/'); - if(p != NULL) { - if(p[1] == '\0') { - mask = talloc_strdup(ctx,"*.*"); - } else { - mask = p+1; + /* Mangle fname if it's an illegal name. */ + if (mangle_must_mangle(dname, state->conn->params)) { + ok = name_to_8_3(dname, mangled_name, + true, state->conn->params); + if (!ok) { + return false; } + fname = mangled_name; } else { - mask = path_mask; + fname = dname; } - while (!found) { - bool got_match; - bool ms_dfs_link = False; - - /* Needed if we run out of space */ - long curr_dirpos = prev_dirpos = dptr_TellDir(conn->dirptr); - dname = dptr_ReadDirName(ctx,conn->dirptr,&curr_dirpos,&sbuf); - - /* - * Due to bugs in NT client redirectors we are not using - * resume keys any more - set them to zero. - * Check out the related comments in findfirst/findnext. - * JRA. - */ - - reskey = 0; - - DEBUG(8,("get_lanman2_dir_entry:readdir on dirptr 0x%lx now at offset %ld\n", - (long)conn->dirptr,curr_dirpos)); - - if (!dname) { - return(False); - } + got_match = exact_match(state->has_wild, + state->conn->case_sensitive, + fname, mask); + state->got_exact_match = got_match; + if (!got_match) { + got_match = mask_match(fname, mask, + state->conn->case_sensitive); + } + if(!got_match && state->check_mangled_names && + !mangle_is_8_3(fname, false, state->conn->params)) { /* - * fname may get mangled, dname is never mangled. - * Whenever we're accessing the filesystem we use - * pathreal which is composed from dname. + * It turns out that NT matches wildcards against + * both long *and* short names. This may explain some + * of the wildcard wierdness from old DOS clients + * that some people have been seeing.... JRA. */ - - pathreal = NULL; - fname = dname; - - /* Mangle fname if it's an illegal name. */ - if (mangle_must_mangle(dname,conn->params)) { - if (!name_to_8_3(dname,mangled_name,True,conn->params)) { - TALLOC_FREE(fname); - continue; /* Error - couldn't mangle. */ - } - fname = talloc_strdup(ctx, mangled_name); - if (!fname) { - return False; - } + /* Force the mangling into 8.3. */ + ok = name_to_8_3(fname, mangled_name, + false, state->conn->params); + if (!ok) { + return false; } - if(!(got_match = *got_exact_match = exact_match(conn, fname, mask))) { - got_match = mask_match(fname, mask, conn->case_sensitive); + got_match = exact_match(state->has_wild, + state->conn->case_sensitive, + mangled_name, mask); + state->got_exact_match = got_match; + if (!got_match) { + got_match = mask_match(mangled_name, mask, + state->conn->case_sensitive); } + } - if(!got_match && check_mangled_names && - !mangle_is_8_3(fname, False, conn->params)) { - /* - * It turns out that NT matches wildcards against - * both long *and* short names. This may explain some - * of the wildcard wierdness from old DOS clients - * that some people have been seeing.... JRA. - */ - /* Force the mangling into 8.3. */ - if (!name_to_8_3( fname, mangled_name, False, conn->params)) { - TALLOC_FREE(fname); - continue; /* Error - couldn't mangle. */ - } - - if(!(got_match = *got_exact_match = exact_match(conn, mangled_name, mask))) { - got_match = mask_match(mangled_name, mask, conn->case_sensitive); - } - } - - if (got_match) { - bool isdots = (ISDOT(dname) || ISDOTDOT(dname)); - struct smb_filename *smb_fname = NULL; - NTSTATUS status; - - if (dont_descend && !isdots) { - TALLOC_FREE(fname); - continue; - } - - if (needslash) { - pathreal = NULL; - pathreal = talloc_asprintf(ctx, - "%s/%s", - conn->dirpath, - dname); - } else { - pathreal = talloc_asprintf(ctx, - "%s%s", - conn->dirpath, - dname); - } - - if (!pathreal) { - TALLOC_FREE(fname); - return False; - } - - /* A dirent from dptr_ReadDirName isn't a stream. */ - status = create_synthetic_smb_fname(ctx, pathreal, - NULL, &sbuf, - &smb_fname); - if (!NT_STATUS_IS_OK(status)) { - TALLOC_FREE(fname); - return false; - } + if (!got_match) { + return false; + } - if (INFO_LEVEL_IS_UNIX(info_level)) { - if (SMB_VFS_LSTAT(conn, smb_fname) != 0) { - DEBUG(5,("get_lanman2_dir_entry: " - "Couldn't lstat [%s] (%s)\n", - smb_fname_str_dbg(smb_fname), - strerror(errno))); - TALLOC_FREE(smb_fname); - TALLOC_FREE(pathreal); - TALLOC_FREE(fname); - continue; - } - } else if (!VALID_STAT(smb_fname->st) && - SMB_VFS_STAT(conn, smb_fname) != 0) { - /* Needed to show the msdfs symlinks as - * directories */ - - ms_dfs_link = - check_msdfs_link(conn, - smb_fname->base_name, - &smb_fname->st); - if (!ms_dfs_link) { - DEBUG(5,("get_lanman2_dir_entry: " - "Couldn't stat [%s] (%s)\n", - smb_fname_str_dbg(smb_fname), - strerror(errno))); - TALLOC_FREE(smb_fname); - TALLOC_FREE(pathreal); - TALLOC_FREE(fname); - continue; - } - } + *_fname = talloc_strdup(ctx, fname); + if (*_fname == NULL) { + return false; + } - if (ms_dfs_link) { - mode = dos_mode_msdfs(conn, smb_fname); - } else { - mode = dos_mode(conn, smb_fname); - } + return true; +} - if (!dir_check_ftype(conn,mode,dirtype)) { - DEBUG(5,("get_lanman2_dir_entry: [%s] attribs didn't match %x\n",fname,dirtype)); - TALLOC_FREE(smb_fname); - TALLOC_FREE(pathreal); - TALLOC_FREE(fname); - continue; - } +static bool smbd_dirptr_lanman2_mode_fn(TALLOC_CTX *ctx, + void *private_data, + struct smb_filename *smb_fname, + uint32_t *_mode) +{ + struct smbd_dirptr_lanman2_state *state = + (struct smbd_dirptr_lanman2_state *)private_data; + bool ms_dfs_link = false; + uint32_t mode = 0; - if (!(mode & aDIR)) { - file_size = get_file_size_stat(&smb_fname->st); - } - allocation_size = - SMB_VFS_GET_ALLOC_SIZE(conn, NULL, &smb_fname->st); - - if (ask_sharemode) { - struct timespec write_time_ts; - struct file_id fileid; - - ZERO_STRUCT(write_time_ts); - fileid = vfs_file_id_from_sbuf(conn, - &smb_fname->st); - get_file_infos(fileid, NULL, &write_time_ts); - if (!null_timespec(write_time_ts)) { - update_stat_ex_mtime(&smb_fname->st, - write_time_ts); - } - } + if (INFO_LEVEL_IS_UNIX(state->info_level)) { + if (SMB_VFS_LSTAT(state->conn, smb_fname) != 0) { + DEBUG(5,("smbd_dirptr_lanman2_mode_fn: " + "Couldn't lstat [%s] (%s)\n", + smb_fname_str_dbg(smb_fname), + strerror(errno))); + return false; + } + } else if (!VALID_STAT(smb_fname->st) && + SMB_VFS_STAT(state->conn, smb_fname) != 0) { + /* Needed to show the msdfs symlinks as + * directories */ + + ms_dfs_link = check_msdfs_link(state->conn, + smb_fname->base_name, + &smb_fname->st); + if (!ms_dfs_link) { + DEBUG(5,("smbd_dirptr_lanman2_mode_fn: " + "Couldn't stat [%s] (%s)\n", + smb_fname_str_dbg(smb_fname), + strerror(errno))); + return false; + } + } - mdate_ts = smb_fname->st.st_ex_mtime; - adate_ts = smb_fname->st.st_ex_atime; - create_date_ts = smb_fname->st.st_ex_btime; + if (ms_dfs_link) { + mode = dos_mode_msdfs(state->conn, smb_fname); + } else { + mode = dos_mode(state->conn, smb_fname); + } - if (lp_dos_filetime_resolution(SNUM(conn))) { - dos_filetime_timespec(&create_date_ts); - dos_filetime_timespec(&mdate_ts); - dos_filetime_timespec(&adate_ts); - } + *_mode = mode; + return true; +} - create_date = convert_timespec_to_time_t(create_date_ts); - mdate = convert_timespec_to_time_t(mdate_ts); - adate = convert_timespec_to_time_t(adate_ts); +static bool smbd_marshall_dir_entry(TALLOC_CTX *ctx, + connection_struct *conn, + uint16_t flags2, + uint32_t info_level, + struct ea_list *name_list, + bool check_mangled_names, + bool requires_resume_key, + uint32_t mode, + const char *fname, + const struct smb_filename *smb_fname, + uint64_t space_remaining, + char *base_data, + char **ppdata, + char *end_data, + bool *out_of_space, + uint64_t *last_entry_off) +{ + char *p, *q, *pdata = *ppdata; + uint32_t reskey=0; + uint64_t file_size = 0; + uint64_t allocation_size = 0; + uint32_t len; + struct timespec mdate_ts, adate_ts, create_date_ts; + time_t mdate = (time_t)0, adate = (time_t)0, create_date = (time_t)0; + char *nameptr; + char *last_entry_ptr; + bool was_8_3; + uint32_t nt_extmode; /* Used for NT connections instead of mode */ - DEBUG(5,("get_lanman2_dir_entry: found %s fname=%s\n", - smb_fname_str_dbg(smb_fname), fname)); + *out_of_space = false; - found = True; + ZERO_STRUCT(mdate_ts); + ZERO_STRUCT(adate_ts); + ZERO_STRUCT(create_date_ts); - dptr_DirCacheAdd(conn->dirptr, dname, curr_dirpos); - sbuf = smb_fname->st; + if (!(mode & aDIR)) { + file_size = get_file_size_stat(&smb_fname->st); + } + allocation_size = SMB_VFS_GET_ALLOC_SIZE(conn, NULL, &smb_fname->st); - TALLOC_FREE(smb_fname); - } + mdate_ts = smb_fname->st.st_ex_mtime; + adate_ts = smb_fname->st.st_ex_atime; + create_date_ts = smb_fname->st.st_ex_btime; - if (!found) - TALLOC_FREE(fname); + if (lp_dos_filetime_resolution(SNUM(conn))) { + dos_filetime_timespec(&create_date_ts); + dos_filetime_timespec(&mdate_ts); + dos_filetime_timespec(&adate_ts); } + create_date = convert_timespec_to_time_t(create_date_ts); + mdate = convert_timespec_to_time_t(mdate_ts); + adate = convert_timespec_to_time_t(adate_ts); + p = pdata; last_entry_ptr = p; nt_extmode = mode ? mode : FILE_ATTRIBUTE_NORMAL; switch (info_level) { - case SMB_FIND_INFO_STANDARD: - DEBUG(10,("get_lanman2_dir_entry: SMB_FIND_INFO_STANDARD\n")); - if(requires_resume_key) { - SIVAL(p,0,reskey); - p += 4; - } - srv_put_dos_date2(p,0,create_date); - srv_put_dos_date2(p,4,adate); - srv_put_dos_date2(p,8,mdate); - SIVAL(p,12,(uint32)file_size); - SIVAL(p,16,(uint32)allocation_size); - SSVAL(p,20,mode); - p += 23; - nameptr = p; - if (flags2 & FLAGS2_UNICODE_STRINGS) { - p += ucs2_align(base_data, p, 0); - } - len = srvstr_push(base_data, flags2, p, - fname, PTR_DIFF(end_data, p), - STR_TERMINATE); - if (flags2 & FLAGS2_UNICODE_STRINGS) { - if (len > 2) { - SCVAL(nameptr, -1, len - 2); - } else { - SCVAL(nameptr, -1, 0); - } + case SMB_FIND_INFO_STANDARD: + DEBUG(10,("get_lanman2_dir_entry: SMB_FIND_INFO_STANDARD\n")); + if(requires_resume_key) { + SIVAL(p,0,reskey); + p += 4; + } + srv_put_dos_date2(p,0,create_date); + srv_put_dos_date2(p,4,adate); + srv_put_dos_date2(p,8,mdate); + SIVAL(p,12,(uint32)file_size); + SIVAL(p,16,(uint32)allocation_size); + SSVAL(p,20,mode); + p += 23; + nameptr = p; + if (flags2 & FLAGS2_UNICODE_STRINGS) { + p += ucs2_align(base_data, p, 0); + } + len = srvstr_push(base_data, flags2, p, + fname, PTR_DIFF(end_data, p), + STR_TERMINATE); + if (flags2 & FLAGS2_UNICODE_STRINGS) { + if (len > 2) { + SCVAL(nameptr, -1, len - 2); } else { - if (len > 1) { - SCVAL(nameptr, -1, len - 1); - } else { - SCVAL(nameptr, -1, 0); - } + SCVAL(nameptr, -1, 0); } - p += len; - break; - - case SMB_FIND_EA_SIZE: - DEBUG(10,("get_lanman2_dir_entry: SMB_FIND_EA_SIZE\n")); - if(requires_resume_key) { - SIVAL(p,0,reskey); - p += 4; - } - srv_put_dos_date2(p,0,create_date); - srv_put_dos_date2(p,4,adate); - srv_put_dos_date2(p,8,mdate); - SIVAL(p,12,(uint32)file_size); - SIVAL(p,16,(uint32)allocation_size); - SSVAL(p,20,mode); - { - unsigned int ea_size = estimate_ea_size(conn, NULL, pathreal); - SIVAL(p,22,ea_size); /* Extended attributes */ - } - p += 27; - nameptr = p - 1; - len = srvstr_push(base_data, flags2, - p, fname, PTR_DIFF(end_data, p), - STR_TERMINATE | STR_NOALIGN); - if (flags2 & FLAGS2_UNICODE_STRINGS) { - if (len > 2) { - len -= 2; - } else { - len = 0; - } + } else { + if (len > 1) { + SCVAL(nameptr, -1, len - 1); } else { - if (len > 1) { - len -= 1; - } else { - len = 0; - } + SCVAL(nameptr, -1, 0); } - SCVAL(nameptr,0,len); - p += len; - SCVAL(p,0,0); p += 1; /* Extra zero byte ? - why.. */ - break; + } + p += len; + break; - case SMB_FIND_EA_LIST: + case SMB_FIND_EA_SIZE: + DEBUG(10,("get_lanman2_dir_entry: SMB_FIND_EA_SIZE\n")); + if (requires_resume_key) { + SIVAL(p,0,reskey); + p += 4; + } + srv_put_dos_date2(p,0,create_date); + srv_put_dos_date2(p,4,adate); + srv_put_dos_date2(p,8,mdate); + SIVAL(p,12,(uint32)file_size); + SIVAL(p,16,(uint32)allocation_size); + SSVAL(p,20,mode); { - struct ea_list *file_list = NULL; - size_t ea_len = 0; - - DEBUG(10,("get_lanman2_dir_entry: SMB_FIND_EA_LIST\n")); - if (!name_list) { - return False; - } - if(requires_resume_key) { - SIVAL(p,0,reskey); - p += 4; - } - srv_put_dos_date2(p,0,create_date); - srv_put_dos_date2(p,4,adate); - srv_put_dos_date2(p,8,mdate); - SIVAL(p,12,(uint32)file_size); - SIVAL(p,16,(uint32)allocation_size); - SSVAL(p,20,mode); - p += 22; /* p now points to the EA area. */ - - file_list = get_ea_list_from_file(ctx, conn, NULL, pathreal, &ea_len); - name_list = ea_list_union(name_list, file_list, &ea_len); - - /* We need to determine if this entry will fit in the space available. */ - /* Max string size is 255 bytes. */ - if (PTR_DIFF(p + 255 + ea_len,pdata) > space_remaining) { - /* Move the dirptr back to prev_dirpos */ - dptr_SeekDir(conn->dirptr, prev_dirpos); - *out_of_space = True; - DEBUG(9,("get_lanman2_dir_entry: out of space\n")); - return False; /* Not finished - just out of space */ + unsigned int ea_size = estimate_ea_size(conn, NULL, + smb_fname->base_name); + SIVAL(p,22,ea_size); /* Extended attributes */ + } + p += 27; + nameptr = p - 1; + len = srvstr_push(base_data, flags2, + p, fname, PTR_DIFF(end_data, p), + STR_TERMINATE | STR_NOALIGN); + if (flags2 & FLAGS2_UNICODE_STRINGS) { + if (len > 2) { + len -= 2; + } else { + len = 0; } - - /* Push the ea_data followed by the name. */ - p += fill_ea_buffer(ctx, p, space_remaining, conn, name_list); - nameptr = p; - len = srvstr_push(base_data, flags2, - p + 1, fname, PTR_DIFF(end_data, p+1), - STR_TERMINATE | STR_NOALIGN); - if (flags2 & FLAGS2_UNICODE_STRINGS) { - if (len > 2) { - len -= 2; - } else { - len = 0; - } + } else { + if (len > 1) { + len -= 1; } else { - if (len > 1) { - len -= 1; - } else { - len = 0; - } + len = 0; } - SCVAL(nameptr,0,len); - p += len + 1; - SCVAL(p,0,0); p += 1; /* Extra zero byte ? - why.. */ - break; } + SCVAL(nameptr,0,len); + p += len; + SCVAL(p,0,0); p += 1; /* Extra zero byte ? - why.. */ + break; - case SMB_FIND_FILE_BOTH_DIRECTORY_INFO: - DEBUG(10,("get_lanman2_dir_entry: SMB_FIND_FILE_BOTH_DIRECTORY_INFO\n")); - was_8_3 = mangle_is_8_3(fname, True, conn->params); + case SMB_FIND_EA_LIST: + { + struct ea_list *file_list = NULL; + size_t ea_len = 0; + + DEBUG(10,("get_lanman2_dir_entry: SMB_FIND_EA_LIST\n")); + if (!name_list) { + return false; + } + if (requires_resume_key) { + SIVAL(p,0,reskey); p += 4; - SIVAL(p,0,reskey); p += 4; - put_long_date_timespec(p,create_date_ts); p += 8; - put_long_date_timespec(p,adate_ts); p += 8; - put_long_date_timespec(p,mdate_ts); p += 8; - put_long_date_timespec(p,mdate_ts); p += 8; - SOFF_T(p,0,file_size); p += 8; - SOFF_T(p,0,allocation_size); p += 8; - SIVAL(p,0,nt_extmode); p += 4; - q = p; p += 4; /* q is placeholder for name length. */ - { - unsigned int ea_size = estimate_ea_size(conn, NULL, pathreal); - SIVAL(p,0,ea_size); /* Extended attributes */ - p += 4; + } + srv_put_dos_date2(p,0,create_date); + srv_put_dos_date2(p,4,adate); + srv_put_dos_date2(p,8,mdate); + SIVAL(p,12,(uint32)file_size); + SIVAL(p,16,(uint32)allocation_size); + SSVAL(p,20,mode); + p += 22; /* p now points to the EA area. */ + + file_list = get_ea_list_from_file(ctx, conn, NULL, + smb_fname->base_name, + &ea_len); + name_list = ea_list_union(name_list, file_list, &ea_len); + + /* We need to determine if this entry will fit in the space available. */ + /* Max string size is 255 bytes. */ + if (PTR_DIFF(p + 255 + ea_len,pdata) > space_remaining) { + *out_of_space = true; + DEBUG(9,("get_lanman2_dir_entry: out of space\n")); + return False; /* Not finished - just out of space */ + } + + /* Push the ea_data followed by the name. */ + p += fill_ea_buffer(ctx, p, space_remaining, conn, name_list); + nameptr = p; + len = srvstr_push(base_data, flags2, + p + 1, fname, PTR_DIFF(end_data, p+1), + STR_TERMINATE | STR_NOALIGN); + if (flags2 & FLAGS2_UNICODE_STRINGS) { + if (len > 2) { + len -= 2; + } else { + len = 0; } - /* Clear the short name buffer. This is - * IMPORTANT as not doing so will trigger - * a Win2k client bug. JRA. - */ - if (!was_8_3 && check_mangled_names) { - if (!name_to_8_3(fname,mangled_name,True, - conn->params)) { - /* Error - mangle failed ! */ - memset(mangled_name,'\0',12); - } - mangled_name[12] = 0; - len = srvstr_push(base_data, flags2, - p+2, mangled_name, 24, - STR_UPPER|STR_UNICODE); - if (len < 24) { - memset(p + 2 + len,'\0',24 - len); - } - SSVAL(p, 0, len); + } else { + if (len > 1) { + len -= 1; } else { - memset(p,'\0',26); + len = 0; } - p += 2 + 24; - len = srvstr_push(base_data, flags2, p, - fname, PTR_DIFF(end_data, p), - STR_TERMINATE_ASCII); - SIVAL(q,0,len); - p += len; - SIVAL(p,0,0); /* Ensure any padding is null. */ - len = PTR_DIFF(p, pdata); - len = (len + 3) & ~3; - SIVAL(pdata,0,len); - p = pdata + len; - break; + } + SCVAL(nameptr,0,len); + p += len + 1; + SCVAL(p,0,0); p += 1; /* Extra zero byte ? - why.. */ + break; + } - case SMB_FIND_FILE_DIRECTORY_INFO: - DEBUG(10,("get_lanman2_dir_entry: SMB_FIND_FILE_DIRECTORY_INFO\n")); + case SMB_FIND_FILE_BOTH_DIRECTORY_INFO: + DEBUG(10,("get_lanman2_dir_entry: SMB_FIND_FILE_BOTH_DIRECTORY_INFO\n")); + was_8_3 = mangle_is_8_3(fname, True, conn->params); + p += 4; + SIVAL(p,0,reskey); p += 4; + put_long_date_timespec(p,create_date_ts); p += 8; + put_long_date_timespec(p,adate_ts); p += 8; + put_long_date_timespec(p,mdate_ts); p += 8; + put_long_date_timespec(p,mdate_ts); p += 8; + SOFF_T(p,0,file_size); p += 8; + SOFF_T(p,0,allocation_size); p += 8; + SIVAL(p,0,nt_extmode); p += 4; + q = p; p += 4; /* q is placeholder for name length. */ + { + unsigned int ea_size = estimate_ea_size(conn, NULL, + smb_fname->base_name); + SIVAL(p,0,ea_size); /* Extended attributes */ p += 4; - SIVAL(p,0,reskey); p += 4; - put_long_date_timespec(p,create_date_ts); p += 8; - put_long_date_timespec(p,adate_ts); p += 8; - put_long_date_timespec(p,mdate_ts); p += 8; - put_long_date_timespec(p,mdate_ts); p += 8; - SOFF_T(p,0,file_size); p += 8; - SOFF_T(p,0,allocation_size); p += 8; - SIVAL(p,0,nt_extmode); p += 4; + } + /* Clear the short name buffer. This is + * IMPORTANT as not doing so will trigger + * a Win2k client bug. JRA. + */ + if (!was_8_3 && check_mangled_names) { + char mangled_name[13]; /* mangled 8.3 name. */ + if (!name_to_8_3(fname,mangled_name,True, + conn->params)) { + /* Error - mangle failed ! */ + memset(mangled_name,'\0',12); + } + mangled_name[12] = 0; len = srvstr_push(base_data, flags2, - p + 4, fname, PTR_DIFF(end_data, p+4), - STR_TERMINATE_ASCII); - SIVAL(p,0,len); - p += 4 + len; - SIVAL(p,0,0); /* Ensure any padding is null. */ - len = PTR_DIFF(p, pdata); - len = (len + 3) & ~3; - SIVAL(pdata,0,len); - p = pdata + len; - break; - - case SMB_FIND_FILE_FULL_DIRECTORY_INFO: - DEBUG(10,("get_lanman2_dir_entry: SMB_FIND_FILE_FULL_DIRECTORY_INFO\n")); - p += 4; - SIVAL(p,0,reskey); p += 4; - put_long_date_timespec(p,create_date_ts); p += 8; - put_long_date_timespec(p,adate_ts); p += 8; - put_long_date_timespec(p,mdate_ts); p += 8; - put_long_date_timespec(p,mdate_ts); p += 8; - SOFF_T(p,0,file_size); p += 8; - SOFF_T(p,0,allocation_size); p += 8; - SIVAL(p,0,nt_extmode); p += 4; - q = p; p += 4; /* q is placeholder for name length. */ - { - unsigned int ea_size = estimate_ea_size(conn, NULL, pathreal); - SIVAL(p,0,ea_size); /* Extended attributes */ - p +=4; + p+2, mangled_name, 24, + STR_UPPER|STR_UNICODE); + if (len < 24) { + memset(p + 2 + len,'\0',24 - len); } - len = srvstr_push(base_data, flags2, p, - fname, PTR_DIFF(end_data, p), - STR_TERMINATE_ASCII); - SIVAL(q, 0, len); - p += len; + SSVAL(p, 0, len); + } else { + memset(p,'\0',26); + } + p += 2 + 24; + len = srvstr_push(base_data, flags2, p, + fname, PTR_DIFF(end_data, p), + STR_TERMINATE_ASCII); + SIVAL(q,0,len); + p += len; + SIVAL(p,0,0); /* Ensure any padding is null. */ + len = PTR_DIFF(p, pdata); + len = (len + 3) & ~3; + SIVAL(pdata,0,len); + p = pdata + len; + break; - SIVAL(p,0,0); /* Ensure any padding is null. */ - len = PTR_DIFF(p, pdata); - len = (len + 3) & ~3; - SIVAL(pdata,0,len); - p = pdata + len; - break; + case SMB_FIND_FILE_DIRECTORY_INFO: + DEBUG(10,("get_lanman2_dir_entry: SMB_FIND_FILE_DIRECTORY_INFO\n")); + p += 4; + SIVAL(p,0,reskey); p += 4; + put_long_date_timespec(p,create_date_ts); p += 8; + put_long_date_timespec(p,adate_ts); p += 8; + put_long_date_timespec(p,mdate_ts); p += 8; + put_long_date_timespec(p,mdate_ts); p += 8; + SOFF_T(p,0,file_size); p += 8; + SOFF_T(p,0,allocation_size); p += 8; + SIVAL(p,0,nt_extmode); p += 4; + len = srvstr_push(base_data, flags2, + p + 4, fname, PTR_DIFF(end_data, p+4), + STR_TERMINATE_ASCII); + SIVAL(p,0,len); + p += 4 + len; + SIVAL(p,0,0); /* Ensure any padding is null. */ + len = PTR_DIFF(p, pdata); + len = (len + 3) & ~3; + SIVAL(pdata,0,len); + p = pdata + len; + break; - case SMB_FIND_FILE_NAMES_INFO: - DEBUG(10,("get_lanman2_dir_entry: SMB_FIND_FILE_NAMES_INFO\n")); - p += 4; - SIVAL(p,0,reskey); p += 4; - p += 4; - /* this must *not* be null terminated or w2k gets in a loop trying to set an - acl on a dir (tridge) */ - len = srvstr_push(base_data, flags2, p, - fname, PTR_DIFF(end_data, p), - STR_TERMINATE_ASCII); - SIVAL(p, -4, len); - p += len; - SIVAL(p,0,0); /* Ensure any padding is null. */ - len = PTR_DIFF(p, pdata); - len = (len + 3) & ~3; - SIVAL(pdata,0,len); - p = pdata + len; - break; + case SMB_FIND_FILE_FULL_DIRECTORY_INFO: + DEBUG(10,("get_lanman2_dir_entry: SMB_FIND_FILE_FULL_DIRECTORY_INFO\n")); + p += 4; + SIVAL(p,0,reskey); p += 4; + put_long_date_timespec(p,create_date_ts); p += 8; + put_long_date_timespec(p,adate_ts); p += 8; + put_long_date_timespec(p,mdate_ts); p += 8; + put_long_date_timespec(p,mdate_ts); p += 8; + SOFF_T(p,0,file_size); p += 8; + SOFF_T(p,0,allocation_size); p += 8; + SIVAL(p,0,nt_extmode); p += 4; + q = p; p += 4; /* q is placeholder for name length. */ + { + unsigned int ea_size = estimate_ea_size(conn, NULL, + smb_fname->base_name); + SIVAL(p,0,ea_size); /* Extended attributes */ + p +=4; + } + len = srvstr_push(base_data, flags2, p, + fname, PTR_DIFF(end_data, p), + STR_TERMINATE_ASCII); + SIVAL(q, 0, len); + p += len; + + SIVAL(p,0,0); /* Ensure any padding is null. */ + len = PTR_DIFF(p, pdata); + len = (len + 3) & ~3; + SIVAL(pdata,0,len); + p = pdata + len; + break; - case SMB_FIND_ID_FULL_DIRECTORY_INFO: - DEBUG(10,("get_lanman2_dir_entry: SMB_FIND_ID_FULL_DIRECTORY_INFO\n")); - p += 4; - SIVAL(p,0,reskey); p += 4; - put_long_date_timespec(p,create_date_ts); p += 8; - put_long_date_timespec(p,adate_ts); p += 8; - put_long_date_timespec(p,mdate_ts); p += 8; - put_long_date_timespec(p,mdate_ts); p += 8; - SOFF_T(p,0,file_size); p += 8; - SOFF_T(p,0,allocation_size); p += 8; - SIVAL(p,0,nt_extmode); p += 4; - q = p; p += 4; /* q is placeholder for name length. */ - { - unsigned int ea_size = estimate_ea_size(conn, NULL, pathreal); - SIVAL(p,0,ea_size); /* Extended attributes */ - p +=4; - } - SIVAL(p,0,0); p += 4; /* Unknown - reserved ? */ - SIVAL(p,0,sbuf.st_ex_ino); p += 4; /* FileIndexLow */ - SIVAL(p,0,sbuf.st_ex_dev); p += 4; /* FileIndexHigh */ - len = srvstr_push(base_data, flags2, p, - fname, PTR_DIFF(end_data, p), - STR_TERMINATE_ASCII); - SIVAL(q, 0, len); - p += len; - SIVAL(p,0,0); /* Ensure any padding is null. */ - len = PTR_DIFF(p, pdata); - len = (len + 3) & ~3; - SIVAL(pdata,0,len); - p = pdata + len; - break; + case SMB_FIND_FILE_NAMES_INFO: + DEBUG(10,("get_lanman2_dir_entry: SMB_FIND_FILE_NAMES_INFO\n")); + p += 4; + SIVAL(p,0,reskey); p += 4; + p += 4; + /* this must *not* be null terminated or w2k gets in a loop trying to set an + acl on a dir (tridge) */ + len = srvstr_push(base_data, flags2, p, + fname, PTR_DIFF(end_data, p), + STR_TERMINATE_ASCII); + SIVAL(p, -4, len); + p += len; + SIVAL(p,0,0); /* Ensure any padding is null. */ + len = PTR_DIFF(p, pdata); + len = (len + 3) & ~3; + SIVAL(pdata,0,len); + p = pdata + len; + break; - case SMB_FIND_ID_BOTH_DIRECTORY_INFO: - DEBUG(10,("get_lanman2_dir_entry: SMB_FIND_ID_BOTH_DIRECTORY_INFO\n")); - was_8_3 = mangle_is_8_3(fname, True, conn->params); - p += 4; - SIVAL(p,0,reskey); p += 4; - put_long_date_timespec(p,create_date_ts); p += 8; - put_long_date_timespec(p,adate_ts); p += 8; - put_long_date_timespec(p,mdate_ts); p += 8; - put_long_date_timespec(p,mdate_ts); p += 8; - SOFF_T(p,0,file_size); p += 8; - SOFF_T(p,0,allocation_size); p += 8; - SIVAL(p,0,nt_extmode); p += 4; - q = p; p += 4; /* q is placeholder for name length */ - { - unsigned int ea_size = estimate_ea_size(conn, NULL, pathreal); - SIVAL(p,0,ea_size); /* Extended attributes */ - p +=4; - } - /* Clear the short name buffer. This is - * IMPORTANT as not doing so will trigger - * a Win2k client bug. JRA. - */ - if (!was_8_3 && check_mangled_names) { - if (!name_to_8_3(fname,mangled_name,True, - conn->params)) { - /* Error - mangle failed ! */ - memset(mangled_name,'\0',12); - } - mangled_name[12] = 0; - len = srvstr_push(base_data, flags2, - p+2, mangled_name, 24, - STR_UPPER|STR_UNICODE); - SSVAL(p, 0, len); - if (len < 24) { - memset(p + 2 + len,'\0',24 - len); - } - SSVAL(p, 0, len); - } else { - memset(p,'\0',26); + case SMB_FIND_ID_FULL_DIRECTORY_INFO: + DEBUG(10,("get_lanman2_dir_entry: SMB_FIND_ID_FULL_DIRECTORY_INFO\n")); + p += 4; + SIVAL(p,0,reskey); p += 4; + put_long_date_timespec(p,create_date_ts); p += 8; + put_long_date_timespec(p,adate_ts); p += 8; + put_long_date_timespec(p,mdate_ts); p += 8; + put_long_date_timespec(p,mdate_ts); p += 8; + SOFF_T(p,0,file_size); p += 8; + SOFF_T(p,0,allocation_size); p += 8; + SIVAL(p,0,nt_extmode); p += 4; + q = p; p += 4; /* q is placeholder for name length. */ + { + unsigned int ea_size = estimate_ea_size(conn, NULL, + smb_fname->base_name); + SIVAL(p,0,ea_size); /* Extended attributes */ + p +=4; + } + SIVAL(p,0,0); p += 4; /* Unknown - reserved ? */ + SIVAL(p,0,smb_fname->st.st_ex_ino); p += 4; /* FileIndexLow */ + SIVAL(p,0,smb_fname->st.st_ex_dev); p += 4; /* FileIndexHigh */ + len = srvstr_push(base_data, flags2, p, + fname, PTR_DIFF(end_data, p), + STR_TERMINATE_ASCII); + SIVAL(q, 0, len); + p += len; + SIVAL(p,0,0); /* Ensure any padding is null. */ + len = PTR_DIFF(p, pdata); + len = (len + 3) & ~3; + SIVAL(pdata,0,len); + p = pdata + len; + break; + + case SMB_FIND_ID_BOTH_DIRECTORY_INFO: + DEBUG(10,("get_lanman2_dir_entry: SMB_FIND_ID_BOTH_DIRECTORY_INFO\n")); + was_8_3 = mangle_is_8_3(fname, True, conn->params); + p += 4; + SIVAL(p,0,reskey); p += 4; + put_long_date_timespec(p,create_date_ts); p += 8; + put_long_date_timespec(p,adate_ts); p += 8; + put_long_date_timespec(p,mdate_ts); p += 8; + put_long_date_timespec(p,mdate_ts); p += 8; + SOFF_T(p,0,file_size); p += 8; + SOFF_T(p,0,allocation_size); p += 8; + SIVAL(p,0,nt_extmode); p += 4; + q = p; p += 4; /* q is placeholder for name length */ + { + unsigned int ea_size = estimate_ea_size(conn, NULL, + smb_fname->base_name); + SIVAL(p,0,ea_size); /* Extended attributes */ + p +=4; + } + /* Clear the short name buffer. This is + * IMPORTANT as not doing so will trigger + * a Win2k client bug. JRA. + */ + if (!was_8_3 && check_mangled_names) { + char mangled_name[13]; /* mangled 8.3 name. */ + if (!name_to_8_3(fname,mangled_name,True, + conn->params)) { + /* Error - mangle failed ! */ + memset(mangled_name,'\0',12); + } + mangled_name[12] = 0; + len = srvstr_push(base_data, flags2, + p+2, mangled_name, 24, + STR_UPPER|STR_UNICODE); + SSVAL(p, 0, len); + if (len < 24) { + memset(p + 2 + len,'\0',24 - len); } - p += 26; - SSVAL(p,0,0); p += 2; /* Reserved ? */ - SIVAL(p,0,sbuf.st_ex_ino); p += 4; /* FileIndexLow */ - SIVAL(p,0,sbuf.st_ex_dev); p += 4; /* FileIndexHigh */ - len = srvstr_push(base_data, flags2, p, - fname, PTR_DIFF(end_data, p), - STR_TERMINATE_ASCII); - SIVAL(q,0,len); - p += len; - SIVAL(p,0,0); /* Ensure any padding is null. */ - len = PTR_DIFF(p, pdata); - len = (len + 3) & ~3; - SIVAL(pdata,0,len); - p = pdata + len; - break; + SSVAL(p, 0, len); + } else { + memset(p,'\0',26); + } + p += 26; + SSVAL(p,0,0); p += 2; /* Reserved ? */ + SIVAL(p,0,smb_fname->st.st_ex_ino); p += 4; /* FileIndexLow */ + SIVAL(p,0,smb_fname->st.st_ex_dev); p += 4; /* FileIndexHigh */ + len = srvstr_push(base_data, flags2, p, + fname, PTR_DIFF(end_data, p), + STR_TERMINATE_ASCII); + SIVAL(q,0,len); + p += len; + SIVAL(p,0,0); /* Ensure any padding is null. */ + len = PTR_DIFF(p, pdata); + len = (len + 3) & ~3; + SIVAL(pdata,0,len); + p = pdata + len; + break; - /* CIFS UNIX Extension. */ + /* CIFS UNIX Extension. */ - case SMB_FIND_FILE_UNIX: - case SMB_FIND_FILE_UNIX_INFO2: - p+= 4; - SIVAL(p,0,reskey); p+= 4; /* Used for continuing search. */ + case SMB_FIND_FILE_UNIX: + case SMB_FIND_FILE_UNIX_INFO2: + p+= 4; + SIVAL(p,0,reskey); p+= 4; /* Used for continuing search. */ - /* Begin of SMB_QUERY_FILE_UNIX_BASIC */ + /* Begin of SMB_QUERY_FILE_UNIX_BASIC */ - if (info_level == SMB_FIND_FILE_UNIX) { - DEBUG(10,("get_lanman2_dir_entry: SMB_FIND_FILE_UNIX\n")); - p = store_file_unix_basic(conn, p, - NULL, &sbuf); - len = srvstr_push(base_data, flags2, p, - fname, PTR_DIFF(end_data, p), - STR_TERMINATE); - } else { - DEBUG(10,("get_lanman2_dir_entry: SMB_FIND_FILE_UNIX_INFO2\n")); - p = store_file_unix_basic_info2(conn, p, - NULL, &sbuf); - nameptr = p; - p += 4; - len = srvstr_push(base_data, flags2, p, fname, - PTR_DIFF(end_data, p), 0); - SIVAL(nameptr, 0, len); - } + if (info_level == SMB_FIND_FILE_UNIX) { + DEBUG(10,("get_lanman2_dir_entry: SMB_FIND_FILE_UNIX\n")); + p = store_file_unix_basic(conn, p, + NULL, &smb_fname->st); + len = srvstr_push(base_data, flags2, p, + fname, PTR_DIFF(end_data, p), + STR_TERMINATE); + } else { + DEBUG(10,("get_lanman2_dir_entry: SMB_FIND_FILE_UNIX_INFO2\n")); + p = store_file_unix_basic_info2(conn, p, + NULL, &smb_fname->st); + nameptr = p; + p += 4; + len = srvstr_push(base_data, flags2, p, fname, + PTR_DIFF(end_data, p), 0); + SIVAL(nameptr, 0, len); + } - p += len; - SIVAL(p,0,0); /* Ensure any padding is null. */ + p += len; + SIVAL(p,0,0); /* Ensure any padding is null. */ - len = PTR_DIFF(p, pdata); - len = (len + 3) & ~3; - SIVAL(pdata,0,len); /* Offset from this structure to the beginning of the next one */ - p = pdata + len; - /* End of SMB_QUERY_FILE_UNIX_BASIC */ + len = PTR_DIFF(p, pdata); + len = (len + 3) & ~3; + SIVAL(pdata,0,len); /* Offset from this structure to the beginning of the next one */ + p = pdata + len; + /* End of SMB_QUERY_FILE_UNIX_BASIC */ - break; + break; - default: - TALLOC_FREE(fname); - return(False); + default: + return false; } - TALLOC_FREE(fname); if (PTR_DIFF(p,pdata) > space_remaining) { - /* Move the dirptr back to prev_dirpos */ - dptr_SeekDir(conn->dirptr, prev_dirpos); - *out_of_space = True; + *out_of_space = true; DEBUG(9,("get_lanman2_dir_entry: out of space\n")); - return False; /* Not finished - just out of space */ + return false; /* Not finished - just out of space */ } /* Setup the last entry pointer, as an offset from base_data */ @@ -1989,7 +1912,106 @@ static bool get_lanman2_dir_entry(TALLOC_CTX *ctx, /* Advance the data pointer to the next slot */ *ppdata = p; - return(found); + return true; +} + +static bool get_lanman2_dir_entry(TALLOC_CTX *ctx, + connection_struct *conn, + struct dptr_struct *dirptr, + uint16 flags2, + const char *path_mask, + uint32 dirtype, + int info_level, + int requires_resume_key, + bool dont_descend, + bool ask_sharemode, + char **ppdata, + char *base_data, + char *end_data, + int space_remaining, + bool *out_of_space, + bool *got_exact_match, + int *_last_entry_off, + struct ea_list *name_list) +{ + const char *p; + const char *mask = NULL; + long prev_dirpos = 0; + uint32_t mode = 0; + char *fname = NULL; + struct smb_filename *smb_fname = NULL; + struct smbd_dirptr_lanman2_state state; + bool ok; + uint64_t last_entry_off = 0; + + ZERO_STRUCT(state); + state.conn = conn; + state.info_level = info_level; + state.check_mangled_names = lp_manglednames(conn->params); + state.has_wild = dptr_has_wild(dirptr); + state.got_exact_match = false; + + *out_of_space = false; + *got_exact_match = false; + + p = strrchr_m(path_mask,'/'); + if(p != NULL) { + if(p[1] == '\0') { + mask = "*.*"; + } else { + mask = p+1; + } + } else { + mask = path_mask; + } + + ok = smbd_dirptr_get_entry(ctx, + dirptr, + mask, + dirtype, + dont_descend, + ask_sharemode, + smbd_dirptr_lanman2_match_fn, + smbd_dirptr_lanman2_mode_fn, + &state, + &fname, + &smb_fname, + &mode, + &prev_dirpos); + if (!ok) { + return false; + } + + *got_exact_match = state.got_exact_match; + + ok = smbd_marshall_dir_entry(ctx, + conn, + flags2, + info_level, + name_list, + state.check_mangled_names, + requires_resume_key, + mode, + fname, + smb_fname, + space_remaining, + base_data, + ppdata, + end_data, + out_of_space, + &last_entry_off); + TALLOC_FREE(fname); + TALLOC_FREE(smb_fname); + if (*out_of_space) { + dptr_SeekDir(dirptr, prev_dirpos); + return false; + } + if (!ok) { + return false; + } + + *_last_entry_off = last_entry_off; + return true; } /**************************************************************************** @@ -2034,6 +2056,8 @@ static void call_trans2findfirst(connection_struct *conn, NTSTATUS ntstatus = NT_STATUS_OK; bool ask_sharemode = lp_parm_bool(SNUM(conn), "smbd", "search ask sharemode", true); TALLOC_CTX *ctx = talloc_tos(); + struct dptr_struct *dirptr = NULL; + struct smbd_server_connection *sconn = smbd_server_conn; if (total_params < 13) { reply_nterror(req, NT_STATUS_INVALID_PARAMETER); @@ -2191,24 +2215,25 @@ total_data=%u (should be %u)\n", (unsigned int)total_data, (unsigned int)IVAL(pd mask, mask_contains_wcard, dirtype, - &conn->dirptr); + &dirptr); if (!NT_STATUS_IS_OK(ntstatus)) { reply_nterror(req, ntstatus); goto out; } - dptr_num = dptr_dnum(conn->dirptr); + dptr_num = dptr_dnum(dirptr); DEBUG(4,("dptr_num is %d, wcard = %s, attr = %d\n", dptr_num, mask, dirtype)); /* Initialize per TRANS2_FIND_FIRST operation data */ - dptr_init_search_op(conn->dirptr); + dptr_init_search_op(dirptr); /* We don't need to check for VOL here as this is returned by a different TRANS2 call. */ - DEBUG(8,("dirpath=<%s> dontdescend=<%s>\n", conn->dirpath,lp_dontdescend(SNUM(conn)))); - if (in_list(conn->dirpath,lp_dontdescend(SNUM(conn)),conn->case_sensitive)) + DEBUG(8,("dirpath=<%s> dontdescend=<%s>\n", + directory,lp_dontdescend(SNUM(conn)))); + if (in_list(directory,lp_dontdescend(SNUM(conn)),conn->case_sensitive)) dont_descend = True; p = pdata; @@ -2226,6 +2251,7 @@ total_data=%u (should be %u)\n", (unsigned int)total_data, (unsigned int)IVAL(pd } else { finished = !get_lanman2_dir_entry(ctx, conn, + dirptr, req->flags2, mask,dirtype,info_level, requires_resume_key,dont_descend, @@ -2264,7 +2290,7 @@ total_data=%u (should be %u)\n", (unsigned int)total_data, (unsigned int)IVAL(pd /* Check if we can close the dirptr */ if(close_after_first || (finished && close_if_end)) { DEBUG(5,("call_trans2findfirst - (2) closing dptr_num %d\n", dptr_num)); - dptr_close(&dptr_num); + dptr_close(sconn, &dptr_num); } /* @@ -2275,7 +2301,7 @@ total_data=%u (should be %u)\n", (unsigned int)total_data, (unsigned int)IVAL(pd */ if(numentries == 0) { - dptr_close(&dptr_num); + dptr_close(sconn, &dptr_num); if (Protocol < PROTOCOL_NT1) { reply_doserror(req, ERRDOS, ERRnofiles); goto out; @@ -2298,8 +2324,8 @@ total_data=%u (should be %u)\n", (unsigned int)total_data, (unsigned int)IVAL(pd send_trans2_replies(conn, req, params, 10, pdata, PTR_DIFF(p,pdata), max_data_bytes); - if ((! *directory) && dptr_path(dptr_num)) { - directory = talloc_strdup(talloc_tos(),dptr_path(dptr_num)); + if ((! *directory) && dptr_path(sconn, dptr_num)) { + directory = talloc_strdup(talloc_tos(),dptr_path(sconn, dptr_num)); if (!directory) { reply_nterror(req, NT_STATUS_NO_MEMORY); } @@ -2369,6 +2395,8 @@ static void call_trans2findnext(connection_struct *conn, NTSTATUS ntstatus = NT_STATUS_OK; bool ask_sharemode = lp_parm_bool(SNUM(conn), "smbd", "search ask sharemode", true); TALLOC_CTX *ctx = talloc_tos(); + struct dptr_struct *dirptr; + struct smbd_server_connection *sconn = smbd_server_conn; if (total_params < 13) { reply_nterror(req, NT_STATUS_INVALID_PARAMETER); @@ -2490,39 +2518,39 @@ total_data=%u (should be %u)\n", (unsigned int)total_data, (unsigned int)IVAL(pd params = *pparams; /* Check that the dptr is valid */ - if(!(conn->dirptr = dptr_fetch_lanman2(dptr_num))) { + if(!(dirptr = dptr_fetch_lanman2(sconn, dptr_num))) { reply_doserror(req, ERRDOS, ERRnofiles); return; } - string_set(&conn->dirpath,dptr_path(dptr_num)); + directory = dptr_path(sconn, dptr_num); /* Get the wildcard mask from the dptr */ - if((p = dptr_wcard(dptr_num))== NULL) { + if((p = dptr_wcard(sconn, dptr_num))== NULL) { DEBUG(2,("dptr_num %d has no wildcard\n", dptr_num)); reply_doserror(req, ERRDOS, ERRnofiles); return; } mask = p; - directory = conn->dirpath; /* Get the attr mask from the dptr */ - dirtype = dptr_attr(dptr_num); + dirtype = dptr_attr(sconn, dptr_num); DEBUG(3,("dptr_num is %d, mask = %s, attr = %x, dirptr=(0x%lX,%ld)\n", dptr_num, mask, dirtype, - (long)conn->dirptr, - dptr_TellDir(conn->dirptr))); + (long)dirptr, + dptr_TellDir(dirptr))); /* Initialize per TRANS2_FIND_NEXT operation data */ - dptr_init_search_op(conn->dirptr); + dptr_init_search_op(dirptr); /* We don't need to check for VOL here as this is returned by a different TRANS2 call. */ - DEBUG(8,("dirpath=<%s> dontdescend=<%s>\n",conn->dirpath,lp_dontdescend(SNUM(conn)))); - if (in_list(conn->dirpath,lp_dontdescend(SNUM(conn)),conn->case_sensitive)) + DEBUG(8,("dirpath=<%s> dontdescend=<%s>\n", + directory,lp_dontdescend(SNUM(conn)))); + if (in_list(directory,lp_dontdescend(SNUM(conn)),conn->case_sensitive)) dont_descend = True; p = pdata; @@ -2564,7 +2592,7 @@ total_data=%u (should be %u)\n", (unsigned int)total_data, (unsigned int)IVAL(pd * should already be at the correct place. */ - finished = !dptr_SearchDir(conn->dirptr, resume_name, ¤t_pos, &st); + finished = !dptr_SearchDir(dirptr, resume_name, ¤t_pos, &st); } /* end if resume_name && !continue_bit */ for (i=0;(i<(int)maxentries) && !finished && !out_of_space ;i++) { @@ -2578,6 +2606,7 @@ total_data=%u (should be %u)\n", (unsigned int)total_data, (unsigned int)IVAL(pd } else { finished = !get_lanman2_dir_entry(ctx, conn, + dirptr, req->flags2, mask,dirtype,info_level, requires_resume_key,dont_descend, @@ -2614,7 +2643,7 @@ total_data=%u (should be %u)\n", (unsigned int)total_data, (unsigned int)IVAL(pd /* Check if we can close the dirptr */ if(close_after_request || (finished && close_if_end)) { DEBUG(5,("call_trans2findnext: closing dptr_num = %d\n", dptr_num)); - dptr_close(&dptr_num); /* This frees up the saved mask */ + dptr_close(sconn, &dptr_num); /* This frees up the saved mask */ } /* Set up the return parameter block */ @@ -5193,9 +5222,8 @@ NTSTATUS smb_set_file_time(connection_struct *conn, struct smb_filename *smb_fname_base = NULL; uint32 action = FILE_NOTIFY_CHANGE_LAST_ACCESS - |FILE_NOTIFY_CHANGE_LAST_WRITE; - bool set_createtime = false; - bool set_ctime = false; + |FILE_NOTIFY_CHANGE_LAST_WRITE + |FILE_NOTIFY_CHANGE_CREATION; NTSTATUS status; if (!VALID_STAT(smb_fname->st)) { @@ -5204,24 +5232,14 @@ NTSTATUS smb_set_file_time(connection_struct *conn, /* get some defaults (no modifications) if any info is zero or -1. */ if (null_timespec(ft->create_time)) { - ft->create_time = smb_fname->st.st_ex_btime; - } else { - set_createtime = true; - } - - if (null_timespec(ft->ctime)) { - ft->ctime = smb_fname->st.st_ex_ctime; - } else { - set_ctime = true; + action &= ~FILE_NOTIFY_CHANGE_CREATION; } if (null_timespec(ft->atime)) { - ft->atime= smb_fname->st.st_ex_atime; action &= ~FILE_NOTIFY_CHANGE_LAST_ACCESS; } if (null_timespec(ft->mtime)) { - ft->mtime = smb_fname->st.st_ex_mtime; action &= ~FILE_NOTIFY_CHANGE_LAST_WRITE; } @@ -5239,24 +5257,6 @@ NTSTATUS smb_set_file_time(connection_struct *conn, DEBUG(5,("smb_set_file_time: createtime: %s\n ", time_to_asc(convert_timespec_to_time_t(ft->create_time)))); - /* - * Try and set the times of this file if - * they are different from the current values. - */ - - { - struct timespec mts = smb_fname->st.st_ex_mtime; - struct timespec ats = smb_fname->st.st_ex_atime; - if ((timespec_compare(&ft->atime, &ats) == 0) && - (timespec_compare(&ft->mtime, &mts) == 0)) { - if (set_createtime || set_ctime) { - notify_fname(conn, NOTIFY_ACTION_MODIFIED, FILE_NOTIFY_CHANGE_LAST_WRITE, - smb_fname->base_name); - } - return NT_STATUS_OK; - } - } - if (setting_write_time) { /* * This was a Windows setfileinfo on an open file. @@ -6110,6 +6110,41 @@ static NTSTATUS smb_set_file_basic_info(connection_struct *conn, } /**************************************************************************** + Deal with SMB_INFO_STANDARD. +****************************************************************************/ + +static NTSTATUS smb_set_info_standard(connection_struct *conn, + const char *pdata, + int total_data, + files_struct *fsp, + const struct smb_filename *smb_fname) +{ + struct smb_file_time ft; + + ZERO_STRUCT(ft); + + if (total_data < 12) { + return NT_STATUS_INVALID_PARAMETER; + } + + /* create time */ + ft.create_time = convert_time_t_to_timespec(srv_make_unix_date2(pdata)); + /* access time */ + ft.atime = convert_time_t_to_timespec(srv_make_unix_date2(pdata+4)); + /* write time */ + ft.mtime = convert_time_t_to_timespec(srv_make_unix_date2(pdata+8)); + + DEBUG(10,("smb_set_info_standard: file %s\n", + smb_fname_str_dbg(smb_fname))); + + return smb_set_file_time(conn, + fsp, + smb_fname, + &ft, + true); +} + +/**************************************************************************** Deal with SMB_SET_FILE_ALLOCATION_INFO. ****************************************************************************/ @@ -7086,6 +7121,16 @@ NTSTATUS smbd_do_setfilepathinfo(connection_struct *conn, switch (info_level) { + case SMB_INFO_STANDARD: + { + status = smb_set_info_standard(conn, + pdata, + total_data, + fsp, + smb_fname); + break; + } + case SMB_INFO_SET_EA: { status = smb_info_set_ea(conn, @@ -7818,6 +7863,7 @@ static void call_trans2ioctl(connection_struct *conn, void reply_findclose(struct smb_request *req) { int dptr_num; + struct smbd_server_connection *sconn = smbd_server_conn; START_PROFILE(SMBfindclose); @@ -7831,7 +7877,7 @@ void reply_findclose(struct smb_request *req) DEBUG(3,("reply_findclose, dptr_num = %d\n", dptr_num)); - dptr_close(&dptr_num); + dptr_close(sconn, &dptr_num); reply_outbuf(req, 0, 0); diff --git a/source3/utils/net_rap.c b/source3/utils/net_rap.c index a43840aac4..eecb669fdb 100644 --- a/source3/utils/net_rap.c +++ b/source3/utils/net_rap.c @@ -36,7 +36,7 @@ static int errmsg_not_implemented(void) { - d_printf("\nNot implemented\n"); + d_printf(_("\nNot implemented\n")); return 0; } @@ -58,11 +58,11 @@ static void file_fn(const char * pPath, const char * pUser, uint16 perms, static void one_file_fn(const char *pPath, const char *pUser, uint16 perms, uint16 locks, uint32 id) { - d_printf("File ID %d\n" - "User name %s\n" - "Locks 0x%-4.2x\n" - "Path %s\n" - "Permissions 0x%x\n", + d_printf(_("File ID %d\n" + "User name %s\n" + "Locks 0x%-4.2x\n" + "Path %s\n" + "Permissions 0x%x\n"), id, pUser, locks, pPath, perms); } @@ -111,13 +111,13 @@ static int rap_file_user(struct net_context *c, int argc, const char **argv) /* list open files */ - d_printf("\nEnumerating open files on remote server:\n\n" - "\nFileId Opened by Perms Locks Path \n" - "------ --------- ----- ----- ---- \n"); + d_printf(_("\nEnumerating open files on remote server:\n\n" + "\nFileId Opened by Perms Locks Path \n" + "------ --------- ----- ----- ---- \n")); ret = cli_NetFileEnum(cli, argv[0], NULL, file_fn); if (ret == -1) - d_printf("\nOperation not supported by server!\n\n"); + d_printf(_("\nOperation not supported by server!\n\n")); cli_shutdown(cli); return ret; @@ -130,25 +130,25 @@ int net_rap_file(struct net_context *c, int argc, const char **argv) "close", rap_file_close, NET_TRANSPORT_RAP, - "Close specified file on server", - "net rap file close\n" - " Close specified file on server" + N_("Close specified file on server"), + N_("net rap file close\n" + " Close specified file on server") }, { "user", rap_file_user, NET_TRANSPORT_RAP, - "List all files opened by username", - "net rap file user\n" - " List all files opened by username" + N_("List all files opened by username"), + N_("net rap file user\n" + " List all files opened by username") }, { "info", rap_file_info, NET_TRANSPORT_RAP, - "Display info about an opened file", - "net rap file info\n" - " Display info about an opened file" + N_("Display info about an opened file"), + N_("net rap file info\n" + " Display info about an opened file") }, {NULL, NULL, 0, NULL, NULL} }; @@ -158,9 +158,10 @@ int net_rap_file(struct net_context *c, int argc, const char **argv) int ret; if (c->display_usage) { - d_printf("Usage:\n"); - d_printf("net rap file\n" - " List all open files on rempte server\n"); + d_printf(_("Usage:\n")); + d_printf(_("net rap file\n" + " List all open files on rempte " + "server\n")); net_display_usage_from_functable(func); return 0; } @@ -170,13 +171,13 @@ int net_rap_file(struct net_context *c, int argc, const char **argv) /* list open files */ - d_printf("\nEnumerating open files on remote server:\n\n" - "\nFileId Opened by Perms Locks Path \n" - "------ --------- ----- ----- ---- \n"); + d_printf(_("\nEnumerating open files on remote server:\n\n" + "\nFileId Opened by Perms Locks Path\n" + "------ --------- ----- ----- ----\n")); ret = cli_NetFileEnum(cli, NULL, NULL, file_fn); if (ret == -1) - d_printf("\nOperation not supported by server!\n\n"); + d_printf(_("\nOperation not supported by server!\n\n")); cli_shutdown(cli); return ret; @@ -239,7 +240,7 @@ static int rap_share_add(struct net_context *c, int argc, const char **argv) sharename = SMB_STRDUP(argv[0]); p = strchr(sharename, '='); if (p == NULL) { - d_printf("Server path not specified\n"); + d_printf(_("Server path not specified\n")); SAFE_FREE(sharename); return net_rap_share_usage(c, argc, argv); } @@ -269,26 +270,26 @@ int net_rap_share(struct net_context *c, int argc, const char **argv) "delete", rap_share_delete, NET_TRANSPORT_RAP, - "Delete a share from server", - "net rap share delete\n" - " Delete a share from server" + N_("Delete a share from server"), + N_("net rap share delete\n" + " Delete a share from server") }, { "close", rap_share_delete, NET_TRANSPORT_RAP, - "Delete a share from server", - "net rap share close\n" - " Delete a share from server\n" - " Alias for net rap share delete" + N_("Delete a share from server"), + N_("net rap share close\n" + " Delete a share from server\n" + " Alias for net rap share delete") }, { "add", rap_share_add, NET_TRANSPORT_RAP, - "Add a share to server", - "net rap share add\n" - " Add a share to server" + N_("Add a share to server"), + N_("net rap share add\n" + " Add a share to server") }, {NULL, NULL, 0, NULL, NULL} }; @@ -298,9 +299,9 @@ int net_rap_share(struct net_context *c, int argc, const char **argv) int ret; if (c->display_usage) { - d_printf("Usage:\n"); - d_printf("net rap share\n" - " List all shares on remote server\n"); + d_printf(_("Usage:\n")); + d_printf(_("net rap share\n" + " List all shares on remote server\n")); net_display_usage_from_functable(func); return 0; } @@ -309,10 +310,10 @@ int net_rap_share(struct net_context *c, int argc, const char **argv) return -1; if (c->opt_long_list_entries) { - d_printf( + d_printf(_( "\nEnumerating shared resources (exports) on remote server:\n\n" "\nShare name Type Description\n" - "---------- ---- -----------\n"); + "---------- ---- -----------\n")); ret = cli_RNetShareEnum(cli, long_share_fn, NULL); } else { ret = cli_RNetShareEnum(cli, share_fn, NULL); @@ -326,17 +327,17 @@ int net_rap_share(struct net_context *c, int argc, const char **argv) int net_rap_session_usage(struct net_context *c, int argc, const char **argv) { - d_printf( + d_printf(_( "\nnet rap session [misc. options] [targets]" - "\n\tenumerates all active SMB/CIFS sessions on target server\n"); - d_printf( + "\n\tenumerates all active SMB/CIFS sessions on target server\n")); + d_printf(_( "\nnet rap session DELETE <client_name> [misc. options] [targets] \n" "\tor" "\nnet rap session CLOSE <client_name> [misc. options] [targets]" - "\n\tDeletes (closes) a session from specified client to server\n"); - d_printf( + "\n\tDeletes (closes) a session from specified client to server\n")); + d_printf(_( "\nnet rap session INFO <client_name>" - "\n\tEnumerates all open files in specified session\n"); + "\n\tEnumerates all open files in specified session\n")); net_common_flags_usage(c, argc, argv); return -1; @@ -365,14 +366,14 @@ static void display_session_func(const char *wsname, const char *username, int shrs = sess_time / 3600; int smin = (sess_time / 60) % 60; int ssec = sess_time % 60; - d_printf("User name %-20.20s\n" - "Computer %-20.20s\n" - "Guest logon %-20.20s\n" - "Client Type %-40.40s\n" - "Sess time %2.2d:%2.2d:%2.2d\n" - "Idle time %2.2d:%2.2d:%2.2d\n", + d_printf(_("User name %-20.20s\n" + "Computer %-20.20s\n" + "Guest logon %-20.20s\n" + "Client Type %-40.40s\n" + "Sess time %2.2d:%2.2d:%2.2d\n" + "Idle time %2.2d:%2.2d:%2.2d\n"), username, wsname, - (user_flags&0x0)?"yes":"no", clitype, + (user_flags&0x0)?_("yes"):_("no"), clitype, shrs, smin, ssec, ihrs, imin, isec); } @@ -404,8 +405,8 @@ static int rap_session_info(struct net_context *c, int argc, const char **argv) return ret; } - d_printf("Share name Type # Opens\n-------------------------" - "-----------------------------------------------------\n"); + d_printf(_("Share name Type # Opens\n-------------------------" + "-----------------------------------------------------\n")); ret = cli_NetConnectionEnum(cli, sessname, display_conns_func); cli_shutdown(cli); return ret; @@ -434,26 +435,26 @@ int net_rap_session(struct net_context *c, int argc, const char **argv) "info", rap_session_info, NET_TRANSPORT_RAP, - "Display information about session", - "net rap session info\n" - " Display information about session" + N_("Display information about session"), + N_("net rap session info\n" + " Display information about session") }, { "delete", rap_session_delete, NET_TRANSPORT_RAP, - "Close specified session", - "net rap session delete\n" - " Close specified session\n" - " Alias for net rap session close" + N_("Close specified session"), + N_("net rap session delete\n" + " Close specified session\n" + " Alias for net rap session close") }, { "close", rap_session_delete, NET_TRANSPORT_RAP, - "Close specified session", - "net rap session close\n" - " Close specified session" + N_("Close specified session"), + N_("net rap session close\n" + " Close specified session") }, {NULL, NULL, 0, NULL, NULL} }; @@ -463,9 +464,10 @@ int net_rap_session(struct net_context *c, int argc, const char **argv) int ret; if (c->display_usage) { - d_printf("Usage:\n"); - d_printf("net rap session\n" - " List all open sessions on remote server\n"); + d_printf(_("Usage:\n")); + d_printf(_("net rap session\n" + " List all open sessions on remote " + "server\n")); net_display_usage_from_functable(func); return 0; } @@ -473,10 +475,10 @@ int net_rap_session(struct net_context *c, int argc, const char **argv) if (!NT_STATUS_IS_OK(net_make_ipc_connection(c, 0, &cli))) return -1; - d_printf("Computer User name " - "Client Type Opens Idle time\n" - "------------------------------------------" - "------------------------------------\n"); + d_printf(_("Computer User name " + "Client Type Opens Idle time\n" + "------------------------------------------" + "------------------------------------\n")); ret = cli_NetSessionEnum(cli, list_sessions_func); cli_shutdown(cli); @@ -501,9 +503,9 @@ static int net_rap_server_name(struct net_context *c, int argc, const char *argv char *name; if (c->display_usage) { - d_printf("Usage:\n" - "net rap server name\n" - " Get the name of the server\n"); + d_printf(_("Usage:\n" + "net rap server name\n" + " Get the name of the server\n")); return 0; } @@ -511,12 +513,12 @@ static int net_rap_server_name(struct net_context *c, int argc, const char *argv return -1; if (!cli_get_server_name(NULL, cli, &name)) { - d_fprintf(stderr, "cli_get_server_name failed\n"); + d_fprintf(stderr, _("cli_get_server_name failed\n")); cli_shutdown(cli); return -1; } - d_printf("Server name = %s\n", name); + d_printf(_("Server name = %s\n"), name); TALLOC_FREE(name); cli_shutdown(cli); @@ -530,18 +532,18 @@ static int net_rap_server_domain(struct net_context *c, int argc, int ret; if (c->display_usage) { - d_printf("Usage:\n" - "net rap server domain\n" - " Enumerate servers in this domain/workgroup\n"); + d_printf(_("Usage:\n" + "net rap server domain\n" + " Enumerate servers in this domain/workgroup\n")); return 0; } if (!NT_STATUS_IS_OK(net_make_ipc_connection(c, 0, &cli))) return -1; - d_printf("\nEnumerating servers in this domain or workgroup: \n\n" - "\tServer name Server description\n" - "\t------------- ----------------------------\n"); + d_printf(_("\nEnumerating servers in this domain or workgroup: \n\n" + "\tServer name Server description\n" + "\t------------- ----------------------------\n")); ret = cli_NetServerEnum(cli, cli->server_domain, SV_TYPE_ALL, display_server_func,NULL); @@ -556,17 +558,17 @@ int net_rap_server(struct net_context *c, int argc, const char **argv) "name", net_rap_server_name, NET_TRANSPORT_RAP, - "Get the name of the server", - "net rap server name\n" - " Get the name of the server" + N_("Get the name of the server"), + N_("net rap server name\n" + " Get the name of the server") }, { "domain", net_rap_server_domain, NET_TRANSPORT_RAP, - "Get the servers in this domain/workgroup", - "net rap server domain\n" - " Get the servers in this domain/workgroup" + N_("Get the servers in this domain/workgroup"), + N_("net rap server domain\n" + " Get the servers in this domain/workgroup") }, {NULL, NULL, 0, NULL, NULL} }; @@ -579,8 +581,8 @@ int net_rap_server(struct net_context *c, int argc, const char **argv) int net_rap_domain_usage(struct net_context *c, int argc, const char **argv) { - d_printf("net rap domain [misc. options] [target]\n\tlists the" - " domains or workgroups visible on the current network\n"); + d_printf(_("net rap domain [misc. options] [target]\n\tlists the" + " domains or workgroups visible on the current network\n")); net_common_flags_usage(c, argc, argv); return -1; @@ -597,9 +599,9 @@ int net_rap_domain(struct net_context *c, int argc, const char **argv) if (!NT_STATUS_IS_OK(net_make_ipc_connection(c, 0, &cli))) return -1; - d_printf("\nEnumerating domains:\n\n" - "\tDomain name Server name of Browse Master\n" - "\t------------- ----------------------------\n"); + d_printf(_("\nEnumerating domains:\n\n" + "\tDomain name Server name of Browse Master\n" + "\t------------- ----------------------------\n")); ret = cli_NetServerEnum(cli, cli->server_domain, SV_TYPE_DOMAIN_ENUM, display_server_func,NULL); @@ -609,16 +611,16 @@ int net_rap_domain(struct net_context *c, int argc, const char **argv) int net_rap_printq_usage(struct net_context *c, int argc, const char **argv) { - d_printf( + d_printf(_( "net rap printq [misc. options] [targets]\n" "\tor\n" "net rap printq info [<queue_name>] [misc. options] [targets]\n" "\tlists the specified queue and jobs on the target server.\n" - "\tIf the queue name is not specified, all queues are listed.\n\n"); - d_printf( + "\tIf the queue name is not specified, all queues are listed.\n\n")); + d_printf(_( "net rap printq delete [<queue name>] [misc. options] [targets]\n" "\tdeletes the specified job number on the target server, or the\n" - "\tprinter queue if no job number is specified\n"); + "\tprinter queue if no job number is specified\n")); net_common_flags_usage(c, argc, argv); @@ -630,24 +632,24 @@ static void enum_queue(const char *queuename, uint16 pri, uint16 start, const char *dest, const char *qparms, const char *qcomment, uint16 status, uint16 jobcount) { - d_printf("%-17.17s Queue %5d jobs ", + d_printf(_("%-17.17s Queue %5d jobs "), queuename, jobcount); switch (status) { case 0: - d_printf("*Printer Active*\n"); + d_printf(_("*Printer Active*\n")); break; case 1: - d_printf("*Printer Paused*\n"); + d_printf(_("*Printer Paused*\n")); break; case 2: - d_printf("*Printer error*\n"); + d_printf(_("*Printer error*\n")); break; case 3: - d_printf("*Delete Pending*\n"); + d_printf(_("*Delete Pending*\n")); break; default: - d_printf("**UNKNOWN STATUS**\n"); + d_printf(_("**UNKNOWN STATUS**\n")); } } @@ -661,27 +663,27 @@ static void enum_jobs(uint16 jobid, const char *ownername, ownername, jobid, jobsize); switch (status) { case 0: - d_printf("Waiting\n"); + d_printf(_("Waiting\n")); break; case 1: - d_printf("Held in queue\n"); + d_printf(_("Held in queue\n")); break; case 2: - d_printf("Spooling\n"); + d_printf(_("Spooling\n")); break; case 3: - d_printf("Printing\n"); + d_printf(_("Printing\n")); break; default: - d_printf("**UNKNOWN STATUS**\n"); + d_printf(_("**UNKNOWN STATUS**\n")); } } #define PRINTQ_ENUM_DISPLAY \ - "Print queues at \\\\%s\n\n"\ - "Name Job # Size Status\n\n"\ - "------------------------------------------------------------------"\ - "-------------\n" + _("Print queues at \\\\%s\n\n"\ + "Name Job # Size Status\n\n"\ + "------------------------------------------------------------------"\ + "-------------\n") static int rap_printq_info(struct net_context *c, int argc, const char **argv) { @@ -726,27 +728,28 @@ int net_rap_printq(struct net_context *c, int argc, const char **argv) "info", rap_printq_info, NET_TRANSPORT_RAP, - "Display info about print queues and jobs", - "net rap printq info [queue]\n" - " Display info about print jobs in queue.\n" - " If queue is not specified, all queues are listed" + N_("Display info about print queues and jobs"), + N_("net rap printq info [queue]\n" + " Display info about print jobs in queue.\n" + " If queue is not specified, all queues are " + "listed") }, { "delete", rap_printq_delete, NET_TRANSPORT_RAP, - "Delete print job(s)", - "net rap printq delete\n" - " Delete print job(s)" + N_("Delete print job(s)"), + N_("net rap printq delete\n" + " Delete print job(s)") }, {NULL, NULL, 0, NULL, NULL} }; if (argc == 0) { if (c->display_usage) { - d_printf("Usage:\n"); - d_printf("net rap printq\n" - " List the print queue\n"); + d_printf(_("Usage:\n")); + d_printf(_("net rap printq\n" + " List the print queue\n")); net_display_usage_from_functable(func); return 0; } @@ -858,26 +861,26 @@ int net_rap_user(struct net_context *c, int argc, const char **argv) "add", rap_user_add, NET_TRANSPORT_RAP, - "Add specified user", - "net rap user add\n" - " Add specified user" + N_("Add specified user"), + N_("net rap user add\n" + " Add specified user") }, { "info", rap_user_info, NET_TRANSPORT_RAP, - "List domain groups of specified user", - "net rap user info\n" - " List domain groups of specified user" + N_("List domain groups of specified user"), + N_("net rap user info\n" + " List domain groups of specified user") }, { "delete", rap_user_delete, NET_TRANSPORT_RAP, - "Remove specified user", - "net rap user delete\n" - " Remove specified user" + N_("Remove specified user"), + N_("net rap user delete\n" + " Remove specified user") }, {NULL, NULL, 0, NULL, NULL} }; @@ -885,9 +888,9 @@ int net_rap_user(struct net_context *c, int argc, const char **argv) if (argc == 0) { struct cli_state *cli; if (c->display_usage) { - d_printf("Usage:\n"); - d_printf("net rap user\n" - " List all users\n"); + d_printf(_("Usage:\n")); + d_printf(_("net rap user\n" + " List all users\n")); net_display_usage_from_functable(func); return 0; } @@ -895,8 +898,8 @@ int net_rap_user(struct net_context *c, int argc, const char **argv) if (!NT_STATUS_IS_OK(net_make_ipc_connection(c, 0, &cli))) goto done; if (c->opt_long_list_entries) { - d_printf("\nUser name Comment" - "\n-----------------------------\n"); + d_printf(_("\nUser name Comment" + "\n-----------------------------\n")); ret = cli_RNetUserEnum(cli, long_user_fn, NULL); cli_shutdown(cli); goto done; @@ -909,7 +912,7 @@ int net_rap_user(struct net_context *c, int argc, const char **argv) ret = net_run_function(c, argc, argv, "net rap user", func); done: if (ret != 0) { - DEBUG(1, ("Net user returned: %d\n", ret)); + DEBUG(1, (_("Net user returned: %d\n"), ret)); } return ret; } @@ -977,17 +980,17 @@ int net_rap_group(struct net_context *c, int argc, const char **argv) "add", rap_group_add, NET_TRANSPORT_RAP, - "Add specified group", - "net rap group add\n" - " Add specified group" + N_("Add specified group"), + N_("net rap group add\n" + " Add specified group") }, { "delete", rap_group_delete, NET_TRANSPORT_RAP, - "Delete specified group", - "net rap group delete\n" - " Delete specified group" + N_("Delete specified group"), + N_("net rap group delete\n" + " Delete specified group") }, {NULL, NULL, 0, NULL, NULL} }; @@ -996,9 +999,9 @@ int net_rap_group(struct net_context *c, int argc, const char **argv) struct cli_state *cli; int ret; if (c->display_usage) { - d_printf("Usage:\n"); - d_printf("net rap group\n" - " List all groups\n"); + d_printf(_("Usage:\n")); + d_printf(_("net rap group\n" + " List all groups\n")); net_display_usage_from_functable(func); return 0; } @@ -1006,8 +1009,8 @@ int net_rap_group(struct net_context *c, int argc, const char **argv) if (!NT_STATUS_IS_OK(net_make_ipc_connection(c, 0, &cli))) return -1; if (c->opt_long_list_entries) { - d_printf("Group name Comment\n"); - d_printf("-----------------------------\n"); + d_printf(_("Group name Comment\n" + "-----------------------------\n")); ret = cli_RNetGroupEnum(cli, long_group_fn, NULL); cli_shutdown(cli); return ret; @@ -1022,13 +1025,13 @@ int net_rap_group(struct net_context *c, int argc, const char **argv) int net_rap_groupmember_usage(struct net_context *c, int argc, const char **argv) { - d_printf( + d_printf(_( "net rap groupmember LIST <group> [misc. options] [targets]" "\n\t Enumerate users in a group\n" "\nnet rap groupmember DELETE <group> <user> [misc. options] " "[targets]\n\t Delete specified user from specified group\n" "\nnet rap groupmember ADD <group> <user> [misc. options] [targets]" - "\n\t Add specified user to specified group\n"); + "\n\t Add specified user to specified group\n")); net_common_flags_usage(c, argc, argv); return -1; @@ -1090,25 +1093,25 @@ int net_rap_groupmember(struct net_context *c, int argc, const char **argv) "add", rap_groupmember_add, NET_TRANSPORT_RAP, - "Add specified user to group", - "net rap groupmember add\n" - " Add specified user to group" + N_("Add specified user to group"), + N_("net rap groupmember add\n" + " Add specified user to group") }, { "list", rap_groupmember_list, NET_TRANSPORT_RAP, - "List users in group", - "net rap groupmember list\n" - " List users in group" + N_("List users in group"), + N_("net rap groupmember list\n" + " List users in group") }, { "delete", rap_groupmember_delete, NET_TRANSPORT_RAP, - "Remove user from group", - "net rap groupmember delete\n" - " Remove user from group" + N_("Remove user from group"), + N_("net rap groupmember delete\n" + " Remove user from group") }, {NULL, NULL, 0, NULL, NULL} }; @@ -1118,9 +1121,9 @@ int net_rap_groupmember(struct net_context *c, int argc, const char **argv) int net_rap_validate_usage(struct net_context *c, int argc, const char **argv) { - d_printf("net rap validate <username> [password]\n" - "\tValidate user and password to check whether they" - " can access target server or domain\n"); + d_printf(_("net rap validate <username> [password]\n" + "\tValidate user and password to check whether they" + " can access target server or domain\n")); net_common_flags_usage(c, argc, argv); return -1; @@ -1133,13 +1136,13 @@ int net_rap_validate(struct net_context *c, int argc, const char **argv) int net_rap_service_usage(struct net_context *c, int argc, const char **argv) { - d_printf("net rap service [misc. options] [targets] \n" - "\tlists all running service daemons on target server\n"); - d_printf("\nnet rap service START <name> [service startup arguments]" + d_printf(_("net rap service [misc. options] [targets] \n" + "\tlists all running service daemons on target server\n")); + d_printf(_("\nnet rap service START <name> [service startup arguments]" " [misc. options] [targets]" - "\n\tStart named service on remote server\n"); - d_printf("\nnet rap service STOP <name> [misc. options] [targets]\n" - "\n\tStop named service on remote server\n"); + "\n\tStart named service on remote server\n")); + d_printf(_("\nnet rap service STOP <name> [misc. options] [targets]\n" + "\n\tStop named service on remote server\n")); net_common_flags_usage(c, argc, argv); return -1; @@ -1168,17 +1171,17 @@ int net_rap_service(struct net_context *c, int argc, const char **argv) "start", rap_service_start, NET_TRANSPORT_RAP, - "Start service on remote server", - "net rap service start\n" - " Start service on remote server" + N_("Start service on remote server"), + N_("net rap service start\n" + " Start service on remote server") }, { "stop", rap_service_stop, NET_TRANSPORT_RAP, - "Stop named serve on remote server", - "net rap service stop\n" - " Stop named serve on remote server" + N_("Stop named serve on remote server"), + N_("net rap service stop\n" + " Stop named serve on remote server") }, {NULL, NULL, 0, NULL, NULL} }; @@ -1187,9 +1190,9 @@ int net_rap_service(struct net_context *c, int argc, const char **argv) struct cli_state *cli; int ret; if (c->display_usage) { - d_printf("Usage:\n"); - d_printf("net rap service\n" - " List services on remote server\n"); + d_printf(_("Usage:\n")); + d_printf(_("net rap service\n" + " List services on remote server\n")); net_display_usage_from_functable(func); return 0; } @@ -1198,8 +1201,8 @@ int net_rap_service(struct net_context *c, int argc, const char **argv) return -1; if (c->opt_long_list_entries) { - d_printf("Service name Comment\n"); - d_printf("-----------------------------\n"); + d_printf(_("Service name Comment\n" + "-----------------------------\n")); ret = cli_RNetServiceEnum(cli, long_group_fn, NULL); } ret = cli_RNetServiceEnum(cli, service_fn, NULL); @@ -1212,9 +1215,9 @@ int net_rap_service(struct net_context *c, int argc, const char **argv) int net_rap_password_usage(struct net_context *c, int argc, const char **argv) { - d_printf( + d_printf(_( "net rap password <user> <oldpwo> <newpw> [misc. options] [target]\n" - "\tchanges the password for the specified user at target\n"); + "\tchanges the password for the specified user at target\n")); return -1; } @@ -1239,9 +1242,9 @@ int net_rap_password(struct net_context *c, int argc, const char **argv) int net_rap_admin_usage(struct net_context *c, int argc, const char **argv) { - d_printf( + d_printf(_( "net rap admin <remote command> [cmd args [env]] [misc. options] [targets]" - "\n\texecutes a remote command on an os/2 target server\n"); + "\n\texecutes a remote command on an os/2 target server\n")); return -1; } @@ -1261,105 +1264,105 @@ int net_rap(struct net_context *c, int argc, const char **argv) "file", net_rap_file, NET_TRANSPORT_RAP, - "List open files", - "net rap file\n" - " List open files" + N_("List open files"), + N_("net rap file\n" + " List open files") }, { "share", net_rap_share, NET_TRANSPORT_RAP, - "List shares exported by server", - "net rap share\n" - " List shares exported by server" + N_("List shares exported by server"), + N_("net rap share\n" + " List shares exported by server") }, { "session", net_rap_session, NET_TRANSPORT_RAP, - "List open sessions", - "net rap session\n" - " List open sessions" + N_("List open sessions"), + N_("net rap session\n" + " List open sessions") }, { "server", net_rap_server, NET_TRANSPORT_RAP, - "List servers in workgroup", - "net rap server\n" - " List servers in domain/workgroup" + N_("List servers in workgroup"), + N_("net rap server\n" + " List servers in domain/workgroup") }, { "domain", net_rap_domain, NET_TRANSPORT_RAP, - "List domains in network", - "net rap domain\n" - " List domains in network" + N_("List domains in network"), + N_("net rap domain\n" + " List domains in network") }, { "printq", net_rap_printq, NET_TRANSPORT_RAP, - "List printer queues on server", - "net rap printq\n" - " List printer queues on server" + N_("List printer queues on server"), + N_("net rap printq\n" + " List printer queues on server") }, { "user", net_rap_user, NET_TRANSPORT_RAP, - "List users", - "net rap user\n" - " List users" + N_("List users"), + N_("net rap user\n" + " List users") }, { "group", net_rap_group, NET_TRANSPORT_RAP, - "List user groups", - "net rap group\n" - " List user groups" + N_("List user groups"), + N_("net rap group\n" + " List user groups") }, { "validate", net_rap_validate, NET_TRANSPORT_RAP, - "Check username/password", - "net rap validate\n" - " Check username/password" + N_("Check username/password"), + N_("net rap validate\n" + " Check username/password") }, { "groupmember", net_rap_groupmember, NET_TRANSPORT_RAP, - "List/modify group memberships", - "net rap groupmember\n" - " List/modify group memberships" + N_("List/modify group memberships"), + N_("net rap groupmember\n" + " List/modify group memberships") }, { "admin", net_rap_admin, NET_TRANSPORT_RAP, - "Execute commands on remote OS/2", - "net rap admin\n" - " Execute commands on remote OS/2" + N_("Execute commands on remote OS/2"), + N_("net rap admin\n" + " Execute commands on remote OS/2") }, { "service", net_rap_service, NET_TRANSPORT_RAP, - "Start/stop remote service", - "net rap service\n" - " Start/stop remote service" + N_("Start/stop remote service"), + N_("net rap service\n" + " Start/stop remote service") }, { "password", net_rap_password, NET_TRANSPORT_RAP, - "Change user password", - "net rap password\n" - " Change user password" + N_("Change user password"), + N_("net rap password\n" + " Change user password") }, {NULL, NULL, 0, NULL, NULL} }; diff --git a/source3/utils/net_registry.c b/source3/utils/net_registry.c index d6cdd982c3..711c111275 100644 --- a/source3/utils/net_registry.c +++ b/source3/utils/net_registry.c @@ -91,13 +91,14 @@ static WERROR open_key(TALLOC_CTX *ctx, const char *path, werr = open_hive(tmp_ctx, path, desired_access, &hive, &subkey_name); if (!W_ERROR_IS_OK(werr)) { - d_fprintf(stderr, "open_hive failed: %s\n", win_errstr(werr)); + d_fprintf(stderr, _("open_hive failed: %s\n"), + win_errstr(werr)); goto done; } werr = reg_openkey(ctx, hive, subkey_name, desired_access, key); if (!W_ERROR_IS_OK(werr)) { - d_fprintf(stderr, "reg_openkey failed: %s\n", + d_fprintf(stderr, _("reg_openkey failed: %s\n"), win_errstr(werr)); goto done; } @@ -129,15 +130,15 @@ static int net_registry_enumerate(struct net_context *c, int argc, int ret = -1; if (argc != 1 || c->display_usage) { - d_printf("Usage: net registry enumerate <path>\n"); - d_printf("Example: net registry enumerate " - "'HKLM\\Software\\Samba'\n"); + d_printf(_("Usage: net registry enumerate <path>\n")); + d_printf(_("Example: net registry enumerate " + "'HKLM\\Software\\Samba'\n")); goto done; } werr = open_key(ctx, argv[0], REG_KEY_READ, &key); if (!W_ERROR_IS_OK(werr)) { - d_fprintf(stderr, "open_key failed: %s\n", win_errstr(werr)); + d_fprintf(stderr, _("open_key failed: %s\n"), win_errstr(werr)); goto done; } @@ -181,38 +182,39 @@ static int net_registry_createkey(struct net_context *c, int argc, int ret = -1; if (argc != 1 || c->display_usage) { - d_printf("Usage: net registry createkey <path>\n"); - d_printf("Example: net registry createkey " - "'HKLM\\Software\\Samba\\smbconf.127.0.0.1'\n"); + d_printf(_("Usage: net registry createkey <path>\n")); + d_printf(_("Example: net registry createkey " + "'HKLM\\Software\\Samba\\smbconf.127.0.0.1'\n")); goto done; } if (strlen(argv[0]) == 0) { - d_fprintf(stderr, "error: zero length key name given\n"); + d_fprintf(stderr, _("error: zero length key name given\n")); goto done; } werr = open_hive(ctx, argv[0], REG_KEY_WRITE, &hivekey, &subkeyname); if (!W_ERROR_IS_OK(werr)) { - d_fprintf(stderr, "open_hive failed: %s\n", win_errstr(werr)); + d_fprintf(stderr, _("open_hive failed: %s\n"), + win_errstr(werr)); goto done; } werr = reg_createkey(ctx, hivekey, subkeyname, REG_KEY_WRITE, &subkey, &action); if (!W_ERROR_IS_OK(werr)) { - d_fprintf(stderr, "reg_createkey failed: %s\n", + d_fprintf(stderr, _("reg_createkey failed: %s\n"), win_errstr(werr)); goto done; } switch (action) { case REG_ACTION_NONE: - d_printf("createkey did nothing -- huh?\n"); + d_printf(_("createkey did nothing -- huh?\n")); break; case REG_CREATED_NEW_KEY: - d_printf("createkey created %s\n", argv[0]); + d_printf(_("createkey created %s\n"), argv[0]); break; case REG_OPENED_EXISTING_KEY: - d_printf("createkey opened existing %s\n", argv[0]); + d_printf(_("createkey opened existing %s\n"), argv[0]); break; } @@ -233,25 +235,26 @@ static int net_registry_deletekey(struct net_context *c, int argc, int ret = -1; if (argc != 1 || c->display_usage) { - d_printf("Usage: net registry deletekey <path>\n"); - d_printf("Example: net registry deletekey " - "'HKLM\\Software\\Samba\\smbconf.127.0.0.1'\n"); + d_printf(_("Usage: net registry deletekey <path>\n")); + d_printf(_("Example: net registry deletekey " + "'HKLM\\Software\\Samba\\smbconf.127.0.0.1'\n")); goto done; } if (strlen(argv[0]) == 0) { - d_fprintf(stderr, "error: zero length key name given\n"); + d_fprintf(stderr, _("error: zero length key name given\n")); goto done; } werr = open_hive(ctx, argv[0], REG_KEY_WRITE, &hivekey, &subkeyname); if (!W_ERROR_IS_OK(werr)) { - d_fprintf(stderr, "open_hive failed: %s\n", win_errstr(werr)); + d_fprintf(stderr, _("open_hive failed: %s\n"), + win_errstr(werr)); goto done; } werr = reg_deletekey(hivekey, subkeyname); if (!W_ERROR_IS_OK(werr)) { - d_fprintf(stderr, "reg_deletekey failed: %s\n", + d_fprintf(stderr, _("reg_deletekey failed: %s\n"), win_errstr(werr)); goto done; } @@ -273,20 +276,20 @@ static int net_registry_getvalue_internal(struct net_context *c, int argc, TALLOC_CTX *ctx = talloc_stackframe(); if (argc != 2 || c->display_usage) { - d_fprintf(stderr, "usage: net rpc registry getvalue <key> " - "<valuename>\n"); + d_fprintf(stderr, _("usage: net rpc registry getvalue <key> " + "<valuename>\n")); goto done; } werr = open_key(ctx, argv[0], REG_KEY_READ, &key); if (!W_ERROR_IS_OK(werr)) { - d_fprintf(stderr, "open_key failed: %s\n", win_errstr(werr)); + d_fprintf(stderr, _("open_key failed: %s\n"), win_errstr(werr)); goto done; } werr = reg_queryvalue(ctx, key, argv[1], &value); if (!W_ERROR_IS_OK(werr)) { - d_fprintf(stderr, "reg_queryvalue failed: %s\n", + d_fprintf(stderr, _("reg_queryvalue failed: %s\n"), win_errstr(werr)); goto done; } @@ -322,13 +325,13 @@ static int net_registry_setvalue(struct net_context *c, int argc, TALLOC_CTX *ctx = talloc_stackframe(); if (argc < 4 || c->display_usage) { - d_fprintf(stderr, "usage: net rpc registry setvalue <key> " - "<valuename> <type> [<val>]+\n"); + d_fprintf(stderr, _("usage: net rpc registry setvalue <key> " + "<valuename> <type> [<val>]+\n")); goto done; } if (!strequal(argv[2], "multi_sz") && (argc != 4)) { - d_fprintf(stderr, "Too many args for type %s\n", argv[2]); + d_fprintf(stderr, _("Too many args for type %s\n"), argv[2]); goto done; } @@ -344,19 +347,19 @@ static int net_registry_setvalue(struct net_context *c, int argc, value.v.multi_sz.num_strings = argc - 3; value.v.multi_sz.strings = (char **)(argv + 3); } else { - d_fprintf(stderr, "type \"%s\" not implemented\n", argv[2]); + d_fprintf(stderr, _("type \"%s\" not implemented\n"), argv[2]); goto done; } werr = open_key(ctx, argv[0], REG_KEY_WRITE, &key); if (!W_ERROR_IS_OK(werr)) { - d_fprintf(stderr, "open_key failed: %s\n", win_errstr(werr)); + d_fprintf(stderr, _("open_key failed: %s\n"), win_errstr(werr)); goto done; } werr = reg_setvalue(key, argv[1], &value); if (!W_ERROR_IS_OK(werr)) { - d_fprintf(stderr, "reg_setvalue failed: %s\n", + d_fprintf(stderr, _("reg_setvalue failed: %s\n"), win_errstr(werr)); goto done; } @@ -377,20 +380,20 @@ static int net_registry_deletevalue(struct net_context *c, int argc, int ret = -1; if (argc != 2 || c->display_usage) { - d_fprintf(stderr, "usage: net rpc registry deletevalue <key> " - "<valuename>\n"); + d_fprintf(stderr, _("usage: net rpc registry deletevalue <key> " + "<valuename>\n")); goto done; } werr = open_key(ctx, argv[0], REG_KEY_WRITE, &key); if (!W_ERROR_IS_OK(werr)) { - d_fprintf(stderr, "open_key failed: %s\n", win_errstr(werr)); + d_fprintf(stderr, _("open_key failed: %s\n"), win_errstr(werr)); goto done; } werr = reg_deletevalue(key, argv[1]); if (!W_ERROR_IS_OK(werr)) { - d_fprintf(stderr, "reg_deletekey failed: %s\n", + d_fprintf(stderr, _("reg_deletekey failed: %s\n"), win_errstr(werr)); goto done; } @@ -421,9 +424,9 @@ static int net_registry_getsd(struct net_context *c, int argc, access_mask = REG_KEY_READ; if (argc != 1 || c->display_usage) { - d_printf("Usage: net registry getsd <path>\n"); - d_printf("Example: net registry getsd " - "'HKLM\\Software\\Samba'\n"); + d_printf(_("Usage: net registry getsd <path>\n")); + d_printf(_("Example: net registry getsd " + "'HKLM\\Software\\Samba'\n")); goto done; } if (strlen(argv[0]) == 0) { @@ -433,13 +436,13 @@ static int net_registry_getsd(struct net_context *c, int argc, werr = open_key(ctx, argv[0], access_mask, &key); if (!W_ERROR_IS_OK(werr)) { - d_fprintf(stderr, "open_key failed: %s\n", win_errstr(werr)); + d_fprintf(stderr, _("open_key failed: %s\n"), win_errstr(werr)); goto done; } werr = reg_getkeysecurity(ctx, key, &secdesc); if (!W_ERROR_IS_OK(werr)) { - d_fprintf(stderr, "reg_getkeysecurity failed: %s\n", + d_fprintf(stderr, _("reg_getkeysecurity failed: %s\n"), win_errstr(werr)); goto done; } @@ -462,65 +465,65 @@ int net_registry(struct net_context *c, int argc, const char **argv) "enumerate", net_registry_enumerate, NET_TRANSPORT_LOCAL, - "Enumerate registry keys and values", - "net registry enumerate\n" - " Enumerate registry keys and values" + N_("Enumerate registry keys and values"), + N_("net registry enumerate\n" + " Enumerate registry keys and values") }, { "createkey", net_registry_createkey, NET_TRANSPORT_LOCAL, - "Create a new registry key", - "net registry createkey\n" - " Create a new registry key" + N_("Create a new registry key"), + N_("net registry createkey\n" + " Create a new registry key") }, { "deletekey", net_registry_deletekey, NET_TRANSPORT_LOCAL, - "Delete a registry key", - "net registry deletekey\n" - " Delete a registry key" + N_("Delete a registry key"), + N_("net registry deletekey\n" + " Delete a registry key") }, { "getvalue", net_registry_getvalue, NET_TRANSPORT_LOCAL, - "Print a registry value", - "net registry getvalue\n" - " Print a registry value" + N_("Print a registry value"), + N_("net registry getvalue\n" + " Print a registry value") }, { "getvalueraw", net_registry_getvalueraw, NET_TRANSPORT_LOCAL, - "Print a registry value (raw format)", - "net registry getvalueraw\n" - " Print a registry value (raw format)" + N_("Print a registry value (raw format)"), + N_("net registry getvalueraw\n" + " Print a registry value (raw format)") }, { "setvalue", net_registry_setvalue, NET_TRANSPORT_LOCAL, - "Set a new registry value", - "net registry setvalue\n" - " Set a new registry value" + N_("Set a new registry value"), + N_("net registry setvalue\n" + " Set a new registry value") }, { "deletevalue", net_registry_deletevalue, NET_TRANSPORT_LOCAL, - "Delete a registry value", - "net registry deletevalue\n" - " Delete a registry value" + N_("Delete a registry value"), + N_("net registry deletevalue\n" + " Delete a registry value") }, { "getsd", net_registry_getsd, NET_TRANSPORT_LOCAL, - "Get security descriptor", - "net registry getsd\n" - " Get security descriptor" + N_("Get security descriptor"), + N_("net registry getsd\n" + " Get security descriptor") }, { NULL, NULL, 0, NULL, NULL } }; diff --git a/source3/utils/net_registry_util.c b/source3/utils/net_registry_util.c index cd291b5c74..3d1919cbf1 100644 --- a/source3/utils/net_registry_util.c +++ b/source3/utils/net_registry_util.c @@ -21,34 +21,35 @@ #include "includes.h" #include "utils/net_registry_util.h" +#include "utils/net.h" void print_registry_key(const char *keyname, NTTIME *modtime) { - d_printf("Keyname = %s\n", keyname); - d_printf("Modtime = %s\n", + d_printf(_("Keyname = %s\n"), keyname); + d_printf(_("Modtime = %s\n"), modtime ? http_timestring(talloc_tos(), nt_time_to_unix(*modtime)) - : "None"); + : _("None")); d_printf("\n"); } void print_registry_value(const struct registry_value *valvalue, bool raw) { if (!raw) { - d_printf("Type = %s\n", + d_printf(_("Type = %s\n"), reg_type_lookup(valvalue->type)); } switch(valvalue->type) { case REG_DWORD: if (!raw) { - d_printf("Value = "); + d_printf(_("Value = ")); } d_printf("%d\n", valvalue->v.dword); break; case REG_SZ: case REG_EXPAND_SZ: if (!raw) { - d_printf("Value = \""); + d_printf(_("Value = \"")); } d_printf("%s", valvalue->v.sz.str); if (!raw) { @@ -60,7 +61,7 @@ void print_registry_value(const struct registry_value *valvalue, bool raw) uint32 j; for (j = 0; j < valvalue->v.multi_sz.num_strings; j++) { if (!raw) { - d_printf("Value[%3.3d] = \"", j); + d_printf(_("Value[%3.3d] = \""), j); } d_printf("%s", valvalue->v.multi_sz.strings[j]); if (!raw) { @@ -72,15 +73,15 @@ void print_registry_value(const struct registry_value *valvalue, bool raw) } case REG_BINARY: if (!raw) { - d_printf("Value = "); + d_printf(_("Value = ")); } - d_printf("%d bytes\n", (int)valvalue->v.binary.length); + d_printf(_("%d bytes\n"), (int)valvalue->v.binary.length); break; default: if (!raw) { - d_printf("Value = "); + d_printf(_("Value = ")); } - d_printf("<unprintable>\n"); + d_printf(_("<unprintable>\n")); break; } } @@ -88,7 +89,7 @@ void print_registry_value(const struct registry_value *valvalue, bool raw) void print_registry_value_with_name(const char *valname, const struct registry_value *valvalue) { - d_printf("Valuename = %s\n", valname); + d_printf(_("Valuename = %s\n"), valname); print_registry_value(valvalue, false); d_printf("\n"); } diff --git a/source3/utils/net_rpc.c b/source3/utils/net_rpc.c index f6f90030fe..73f8b0b979 100644 --- a/source3/utils/net_rpc.c +++ b/source3/utils/net_rpc.c @@ -63,7 +63,7 @@ NTSTATUS net_get_remote_domain_sid(struct cli_state *cli, TALLOC_CTX *mem_ctx, result = cli_rpc_pipe_open_noauth(cli, &ndr_table_lsarpc.syntax_id, &lsa_pipe); if (!NT_STATUS_IS_OK(result)) { - d_fprintf(stderr, "Could not initialise lsa pipe\n"); + d_fprintf(stderr, _("Could not initialise lsa pipe\n")); return result; } @@ -71,7 +71,7 @@ NTSTATUS net_get_remote_domain_sid(struct cli_state *cli, TALLOC_CTX *mem_ctx, SEC_FLAG_MAXIMUM_ALLOWED, &pol); if (!NT_STATUS_IS_OK(result)) { - d_fprintf(stderr, "open_policy failed: %s\n", + d_fprintf(stderr, _("open_policy failed: %s\n"), nt_errstr(result)); return result; } @@ -81,7 +81,7 @@ NTSTATUS net_get_remote_domain_sid(struct cli_state *cli, TALLOC_CTX *mem_ctx, LSA_POLICY_INFO_ACCOUNT_DOMAIN, &info); if (!NT_STATUS_IS_OK(result)) { - d_fprintf(stderr, "lsaquery failed: %s\n", + d_fprintf(stderr, _("lsaquery failed: %s\n"), nt_errstr(result)); return result; } @@ -254,9 +254,9 @@ static NTSTATUS rpc_changetrustpw_internals(struct net_context *c, int net_rpc_changetrustpw(struct net_context *c, int argc, const char **argv) { if (c->display_usage) { - d_printf("Usage:\n" - "net rpc changetrustpw\n" - " Change the machine trust password\n"); + d_printf(_("Usage:\n" + "net rpc changetrustpw\n" + " Change the machine trust password\n")); return 0; } @@ -338,7 +338,7 @@ static NTSTATUS rpc_oldjoin_internals(struct net_context *c, sec_channel_type); if (NT_STATUS_IS_OK(result)) - printf("Joined domain %s.\n", c->opt_target_workgroup); + printf(_("Joined domain %s.\n"), c->opt_target_workgroup); if (!secrets_store_domain_sid(c->opt_target_workgroup, domain_sid)) { @@ -384,16 +384,16 @@ static int net_rpc_oldjoin(struct net_context *c, int argc, const char **argv) int rc = -1; if (c->display_usage) { - d_printf("Usage:\n" - "net rpc oldjoin\n" - " Join a domain the old way\n"); + d_printf(_("Usage:\n" + "net rpc oldjoin\n" + " Join a domain the old way\n")); return 0; } rc = net_rpc_perform_oldjoin(c, argc, argv); if (rc) { - d_fprintf(stderr, "Failed to join domain\n"); + d_fprintf(stderr, _("Failed to join domain\n")); } return rc; @@ -414,27 +414,27 @@ static int net_rpc_oldjoin(struct net_context *c, int argc, const char **argv) int net_rpc_join(struct net_context *c, int argc, const char **argv) { if (c->display_usage) { - d_printf("Usage:\n" - "net rpc join -U <username>[%%password] <type>\n" - " Join a domain\n" - " username\tName of the admin user" - " password\tPassword of the admin user, will " - "prompt if not specified\n" - " type\tCan be one of the following:\n" - "\t\tMEMBER\tJoin as member server (default)\n" - "\t\tBDC\tJoin as BDC\n" - "\t\tPDC\tJoin as PDC\n"); + d_printf(_("Usage:\n" + "net rpc join -U <username>[%%password] <type>\n" + " Join a domain\n" + " username\tName of the admin user" + " password\tPassword of the admin user, will " + "prompt if not specified\n" + " type\tCan be one of the following:\n" + "\t\tMEMBER\tJoin as member server (default)\n" + "\t\tBDC\tJoin as BDC\n" + "\t\tPDC\tJoin as PDC\n")); return 0; } if (lp_server_role() == ROLE_STANDALONE) { - d_printf("cannot join as standalone machine\n"); + d_printf(_("cannot join as standalone machine\n")); return -1; } if (strlen(global_myname()) > 15) { - d_printf("Our netbios name can be at most 15 chars long, " - "\"%s\" is %u chars long\n", + d_printf(_("Our netbios name can be at most 15 chars long, " + "\"%s\" is %u chars long\n"), global_myname(), (unsigned int)strlen(global_myname())); return -1; } @@ -483,7 +483,8 @@ NTSTATUS rpc_info_internals(struct net_context *c, MAXIMUM_ALLOWED_ACCESS, &connect_pol); if (!NT_STATUS_IS_OK(result)) { - d_fprintf(stderr, "Could not connect to SAM: %s\n", nt_errstr(result)); + d_fprintf(stderr, _("Could not connect to SAM: %s\n"), + nt_errstr(result)); goto done; } @@ -494,7 +495,8 @@ NTSTATUS rpc_info_internals(struct net_context *c, CONST_DISCARD(struct dom_sid2 *, domain_sid), &domain_pol); if (!NT_STATUS_IS_OK(result)) { - d_fprintf(stderr, "Could not open domain: %s\n", nt_errstr(result)); + d_fprintf(stderr, _("Could not open domain: %s\n"), + nt_errstr(result)); goto done; } @@ -503,13 +505,14 @@ NTSTATUS rpc_info_internals(struct net_context *c, 2, &info); if (NT_STATUS_IS_OK(result)) { - d_printf("Domain Name: %s\n", info->general.domain_name.string); - d_printf("Domain SID: %s\n", sid_str); - d_printf("Sequence number: %llu\n", + d_printf(_("Domain Name: %s\n"), + info->general.domain_name.string); + d_printf(_("Domain SID: %s\n"), sid_str); + d_printf(_("Sequence number: %llu\n"), (unsigned long long)info->general.sequence_num); - d_printf("Num users: %u\n", info->general.num_users); - d_printf("Num domain groups: %u\n", info->general.num_groups); - d_printf("Num local groups: %u\n", info->general.num_aliases); + d_printf(_("Num users: %u\n"), info->general.num_users); + d_printf(_("Num domain groups: %u\n"),info->general.num_groups); + d_printf(_("Num local groups: %u\n"),info->general.num_aliases); } done: @@ -526,9 +529,9 @@ NTSTATUS rpc_info_internals(struct net_context *c, int net_rpc_info(struct net_context *c, int argc, const char **argv) { if (c->display_usage) { - d_printf("Usage:\n" - "net rpc info\n" - " Display information about the domain\n"); + d_printf(_("Usage:\n" + "net rpc info\n" + " Display information about the domain\n")); return 0; } @@ -565,7 +568,7 @@ static NTSTATUS rpc_getsid_internals(struct net_context *c, fstring sid_str; sid_to_fstring(sid_str, domain_sid); - d_printf("Storing SID %s for Domain %s in secrets.tdb\n", + d_printf(_("Storing SID %s for Domain %s in secrets.tdb\n"), sid_str, domain_name); if (!secrets_store_domain_sid(domain_name, domain_sid)) { @@ -586,9 +589,9 @@ static NTSTATUS rpc_getsid_internals(struct net_context *c, int net_rpc_getsid(struct net_context *c, int argc, const char **argv) { if (c->display_usage) { - d_printf("Usage:\n" - "net rpc getsid\n" - " Fetch domain SID into local secrets.tdb\n"); + d_printf(_("Usage:\n" + "net rpc getsid\n" + " Fetch domain SID into local secrets.tdb\n")); return 0; } @@ -643,12 +646,12 @@ static int rpc_user_add(struct net_context *c, int argc, const char **argv) status = NetUserAdd(c->opt_host, 1, (uint8_t *)&info1, &parm_error); if (status != 0) { - d_fprintf(stderr, "Failed to add user '%s' with: %s.\n", + d_fprintf(stderr,_("Failed to add user '%s' with error: %s.\n"), argv[0], libnetapi_get_error_string(c->netapi_ctx, status)); return -1; } else { - d_printf("Added user '%s'.\n", argv[0]); + d_printf(_("Added user '%s'.\n"), argv[0]); } return 0; @@ -680,11 +683,12 @@ static int rpc_user_rename(struct net_context *c, int argc, const char **argv) status = NetUserSetInfo(c->opt_host, argv[0], 0, (uint8_t *)&u0, &parm_err); if (status) { - d_fprintf(stderr, "Failed to rename user from %s to %s - %s\n", + d_fprintf(stderr, + _("Failed to rename user from %s to %s - %s\n"), argv[0], argv[1], libnetapi_get_error_string(c->netapi_ctx, status)); } else { - d_printf("Renamed user from %s to %s\n", argv[0], argv[1]); + d_printf(_("Renamed user from %s to %s\n"), argv[0], argv[1]); } return status; @@ -712,12 +716,12 @@ static int rpc_user_delete(struct net_context *c, int argc, const char **argv) status = NetUserDel(c->opt_host, argv[0]); if (status != 0) { - d_fprintf(stderr, "Failed to delete user '%s' with: %s.\n", + d_fprintf(stderr, _("Failed to delete user '%s' with: %s.\n"), argv[0], libnetapi_get_error_string(c->netapi_ctx, status)); return -1; } else { - d_printf("Deleted user '%s'.\n", argv[0]); + d_printf(_("Deleted user '%s'.\n"), argv[0]); } return 0; @@ -739,6 +743,7 @@ static int rpc_user_password(struct net_context *c, int argc, const char **argv) char *prompt = NULL; struct USER_INFO_1003 u1003; uint32_t parm_err = 0; + int ret; if (argc < 1 || c->display_usage) { rpc_user_usage(c, argc, argv); @@ -748,7 +753,9 @@ static int rpc_user_password(struct net_context *c, int argc, const char **argv) if (argv[1]) { u1003.usri1003_password = argv[1]; } else { - if (asprintf(&prompt, "Enter new password for %s:", argv[0]) == -1) { + ret = asprintf(&prompt, _("Enter new password for %s:"), + argv[0]); + if (ret == -1) { return -1; } u1003.usri1003_password = getpass(prompt); @@ -759,7 +766,8 @@ static int rpc_user_password(struct net_context *c, int argc, const char **argv) /* Display results */ if (status != 0) { - d_fprintf(stderr, "Failed to set password for '%s' with: %s.\n", + d_fprintf(stderr, + _("Failed to set password for '%s' with error: %s.\n"), argv[0], libnetapi_get_error_string(c->netapi_ctx, status)); return -1; @@ -801,7 +809,8 @@ static int rpc_user_info(struct net_context *c, int argc, const char **argv) &entries_read, &total_entries); if (status != 0) { - d_fprintf(stderr, "Failed to get groups for '%s' with: %s.\n", + d_fprintf(stderr, + _("Failed to get groups for '%s' with error: %s.\n"), argv[0], libnetapi_get_error_string(c->netapi_ctx, status)); return -1; @@ -840,8 +849,8 @@ static int rpc_user_list(struct net_context *c, int argc, const char **argv) /* Query domain users */ if (c->opt_long_list_entries) - d_printf("\nUser name Comment" - "\n-----------------------------\n"); + d_printf(_("\nUser name Comment" + "\n-----------------------------\n")); do { uint32_t max_entries, max_size; @@ -897,41 +906,41 @@ int net_rpc_user(struct net_context *c, int argc, const char **argv) "add", rpc_user_add, NET_TRANSPORT_RPC, - "Add specified user", - "net rpc user add\n" - " Add specified user" + N_("Add specified user"), + N_("net rpc user add\n" + " Add specified user") }, { "info", rpc_user_info, NET_TRANSPORT_RPC, - "List domain groups of user", - "net rpc user info\n" - " Lis domain groups of user" + N_("List domain groups of user"), + N_("net rpc user info\n" + " Lis domain groups of user") }, { "delete", rpc_user_delete, NET_TRANSPORT_RPC, - "Remove specified user", - "net rpc user delete\n" - " Remove specified user" + N_("Remove specified user"), + N_("net rpc user delete\n" + " Remove specified user") }, { "password", rpc_user_password, NET_TRANSPORT_RPC, - "Change user password", - "net rpc user password\n" - " Change user password" + N_("Change user password"), + N_("net rpc user password\n" + " Change user password") }, { "rename", rpc_user_rename, NET_TRANSPORT_RPC, - "Rename specified user", - "net rpc user rename\n" - " Rename specified user" + N_("Rename specified user"), + N_("net rpc user rename\n" + " Rename specified user") }, {NULL, NULL, 0, NULL, NULL} }; @@ -948,9 +957,9 @@ int net_rpc_user(struct net_context *c, int argc, const char **argv) if (argc == 0) { if (c->display_usage) { - d_printf("Usage:\n"); - d_printf("net rpc user\n" - " List all users\n"); + d_printf(_("Usage:\n")); + d_printf(_("net rpc user\n" + " List all users\n")); net_display_usage_from_functable(func); return 0; } @@ -999,7 +1008,7 @@ static NTSTATUS rpc_sh_handle_user(struct net_context *c, enum lsa_SidType type; if (argc == 0) { - d_fprintf(stderr, "usage: %s <username>\n", ctx->whoami); + d_fprintf(stderr, _("usage: %s <username>\n"), ctx->whoami); return NT_STATUS_INVALID_PARAMETER; } @@ -1010,20 +1019,20 @@ static NTSTATUS rpc_sh_handle_user(struct net_context *c, result = net_rpc_lookup_name(c, mem_ctx, rpc_pipe_np_smb_conn(pipe_hnd), argv[0], NULL, NULL, &sid, &type); if (!NT_STATUS_IS_OK(result)) { - d_fprintf(stderr, "Could not lookup %s: %s\n", argv[0], + d_fprintf(stderr, _("Could not lookup %s: %s\n"), argv[0], nt_errstr(result)); goto done; } if (type != SID_NAME_USER) { - d_fprintf(stderr, "%s is a %s, not a user\n", argv[0], + d_fprintf(stderr, _("%s is a %s, not a user\n"), argv[0], sid_type_lookup(type)); result = NT_STATUS_NO_SUCH_USER; goto done; } if (!sid_peek_check_rid(ctx->domain_sid, &sid, &rid)) { - d_fprintf(stderr, "%s is not in our domain\n", argv[0]); + d_fprintf(stderr, _("%s is not in our domain\n"), argv[0]); result = NT_STATUS_NO_SUCH_USER; goto done; } @@ -1080,7 +1089,7 @@ static NTSTATUS rpc_sh_user_show_internals(struct net_context *c, union samr_UserInfo *info = NULL; if (argc != 0) { - d_fprintf(stderr, "usage: %s show <username>\n", ctx->whoami); + d_fprintf(stderr, _("usage: %s show <username>\n"),ctx->whoami); return NT_STATUS_INVALID_PARAMETER; } @@ -1092,7 +1101,7 @@ static NTSTATUS rpc_sh_user_show_internals(struct net_context *c, return result; } - d_printf("user rid: %d, group rid: %d\n", + d_printf(_("user rid: %d, group rid: %d\n"), info->info21.rid, info->info21.primary_gid); @@ -1133,7 +1142,7 @@ static NTSTATUS rpc_sh_user_str_edit_internals(struct net_context *c, union samr_UserInfo *info = NULL; if (argc > 1) { - d_fprintf(stderr, "usage: %s <username> [new value|NULL]\n", + d_fprintf(stderr, _("usage: %s <username> [new value|NULL]\n"), ctx->whoami); return NT_STATUS_INVALID_PARAMETER; } @@ -1156,7 +1165,7 @@ static NTSTATUS rpc_sh_user_str_edit_internals(struct net_context *c, FETCHSTR("description", description); if (argc == 0) { - d_printf("%s's %s: [%s]\n", username, ctx->thiscmd, oldval); + d_printf(_("%s's %s: [%s]\n"), username, ctx->thiscmd, oldval); goto done; } @@ -1178,7 +1187,7 @@ static NTSTATUS rpc_sh_user_str_edit_internals(struct net_context *c, 21, info); - d_printf("Set %s's %s from [%s] to [%s]\n", username, + d_printf(_("Set %s's %s from [%s] to [%s]\n"), username, ctx->thiscmd, oldval, argv[0]); done: @@ -1222,7 +1231,9 @@ static NTSTATUS rpc_sh_user_flag_edit_internals(struct net_context *c, if ((argc > 1) || ((argc == 1) && !strequal(argv[0], "yes") && !strequal(argv[0], "no"))) { - d_fprintf(stderr, "usage: %s <username> [yes|no]\n", + /* TRANSATORS: The yes|no here are program keywords. Please do + not translate. */ + d_fprintf(stderr, _("usage: %s <username> [yes|no]\n"), ctx->whoami); return NT_STATUS_INVALID_PARAMETER; } @@ -1247,7 +1258,8 @@ static NTSTATUS rpc_sh_user_flag_edit_internals(struct net_context *c, HANDLEFLG("pwnoexp", PWNOEXP); if (argc == 0) { - d_printf("%s's %s flag: %s\n", username, ctx->thiscmd, oldval); + d_printf(_("%s's %s flag: %s\n"), username, ctx->thiscmd, + oldval); goto done; } @@ -1262,7 +1274,7 @@ static NTSTATUS rpc_sh_user_flag_edit_internals(struct net_context *c, info); if (NT_STATUS_IS_OK(result)) { - d_printf("Set %s's %s flag from [%s] to [%s]\n", username, + d_printf(_("Set %s's %s flag from [%s] to [%s]\n"), username, ctx->thiscmd, oldval, argv[0]); } @@ -1288,34 +1300,34 @@ struct rpc_sh_cmd *net_rpc_user_edit_cmds(struct net_context *c, static struct rpc_sh_cmd cmds[] = { { "fullname", NULL, &ndr_table_samr.syntax_id, rpc_sh_user_str_edit, - "Show/Set a user's full name" }, + N_("Show/Set a user's full name") }, { "homedir", NULL, &ndr_table_samr.syntax_id, rpc_sh_user_str_edit, - "Show/Set a user's home directory" }, + N_("Show/Set a user's home directory") }, { "homedrive", NULL, &ndr_table_samr.syntax_id, rpc_sh_user_str_edit, - "Show/Set a user's home drive" }, + N_("Show/Set a user's home drive") }, { "logonscript", NULL, &ndr_table_samr.syntax_id, rpc_sh_user_str_edit, - "Show/Set a user's logon script" }, + N_("Show/Set a user's logon script") }, { "profilepath", NULL, &ndr_table_samr.syntax_id, rpc_sh_user_str_edit, - "Show/Set a user's profile path" }, + N_("Show/Set a user's profile path") }, { "description", NULL, &ndr_table_samr.syntax_id, rpc_sh_user_str_edit, - "Show/Set a user's description" }, + N_("Show/Set a user's description") }, { "disabled", NULL, &ndr_table_samr.syntax_id, rpc_sh_user_flag_edit, - "Show/Set whether a user is disabled" }, + N_("Show/Set whether a user is disabled") }, { "autolock", NULL, &ndr_table_samr.syntax_id, rpc_sh_user_flag_edit, - "Show/Set whether a user locked out" }, + N_("Show/Set whether a user locked out") }, { "pwnotreq", NULL, &ndr_table_samr.syntax_id, rpc_sh_user_flag_edit, - "Show/Set whether a user does not need a password" }, + N_("Show/Set whether a user does not need a password") }, { "pwnoexp", NULL, &ndr_table_samr.syntax_id, rpc_sh_user_flag_edit, - "Show/Set whether a user's password does not expire" }, + N_("Show/Set whether a user's password does not expire") }, { NULL, NULL, 0, NULL, NULL } }; @@ -1330,16 +1342,16 @@ struct rpc_sh_cmd *net_rpc_user_cmds(struct net_context *c, static struct rpc_sh_cmd cmds[] = { { "list", NULL, &ndr_table_samr.syntax_id, rpc_sh_user_list, - "List available users" }, + N_("List available users") }, { "info", NULL, &ndr_table_samr.syntax_id, rpc_sh_user_info, - "List the domain groups a user is member of" }, + N_("List the domain groups a user is member of") }, { "show", NULL, &ndr_table_samr.syntax_id, rpc_sh_user_show, - "Show info about a user" }, + N_("Show info about a user") }, { "edit", net_rpc_user_edit_cmds, 0, NULL, - "Show/Modify a user's fields" }, + N_("Show/Modify a user's fields") }, { NULL, NULL, 0, NULL, NULL } }; @@ -1410,7 +1422,7 @@ static NTSTATUS rpc_group_delete_internals(struct net_context *c, &connect_pol); if (!NT_STATUS_IS_OK(result)) { - d_fprintf(stderr, "Request samr_Connect2 failed\n"); + d_fprintf(stderr, _("Request samr_Connect2 failed\n")); goto done; } @@ -1421,7 +1433,7 @@ static NTSTATUS rpc_group_delete_internals(struct net_context *c, &domain_pol); if (!NT_STATUS_IS_OK(result)) { - d_fprintf(stderr, "Request open_domain failed\n"); + d_fprintf(stderr, _("Request open_domain failed\n")); goto done; } @@ -1434,7 +1446,7 @@ static NTSTATUS rpc_group_delete_internals(struct net_context *c, &group_rids, &name_types); if (!NT_STATUS_IS_OK(result)) { - d_fprintf(stderr, "Lookup of '%s' failed\n",argv[0]); + d_fprintf(stderr, _("Lookup of '%s' failed\n"),argv[0]); goto done; } @@ -1447,7 +1459,7 @@ static NTSTATUS rpc_group_delete_internals(struct net_context *c, group_rids.ids[0], &group_pol); if (!NT_STATUS_IS_OK(result)) { - d_fprintf(stderr, "Request open_group failed"); + d_fprintf(stderr, _("Request open_group failed")); goto done; } @@ -1458,12 +1470,15 @@ static NTSTATUS rpc_group_delete_internals(struct net_context *c, &rids); if (!NT_STATUS_IS_OK(result)) { - d_fprintf(stderr, "Unable to query group members of %s",argv[0]); + d_fprintf(stderr, + _("Unable to query group members of %s"), + argv[0]); goto done; } if (c->opt_verbose) { - d_printf("Domain Group %s (rid: %d) has %d members\n", + d_printf( + _("Domain Group %s (rid: %d) has %d members\n"), argv[0],group_rid, rids->count); } @@ -1477,7 +1492,8 @@ static NTSTATUS rpc_group_delete_internals(struct net_context *c, &user_pol); if (!NT_STATUS_IS_OK(result)) { - d_fprintf(stderr, "Unable to open group member %d\n", + d_fprintf(stderr, + _("Unable to open group member %d\n"), rids->rids[i]); goto done; } @@ -1488,14 +1504,17 @@ static NTSTATUS rpc_group_delete_internals(struct net_context *c, &info); if (!NT_STATUS_IS_OK(result)) { - d_fprintf(stderr, "Unable to lookup userinfo for group member %d\n", + d_fprintf(stderr, + _("Unable to lookup userinfo for group " + "member %d\n"), rids->rids[i]); goto done; } if (info->info21.primary_gid == group_rid) { if (c->opt_verbose) { - d_printf("Group is primary group of %s\n", + d_printf(_("Group is primary group " + "of %s\n"), info->info21.account_name.string); } group_is_primary = true; @@ -1505,8 +1524,9 @@ static NTSTATUS rpc_group_delete_internals(struct net_context *c, } if (group_is_primary) { - d_fprintf(stderr, "Unable to delete group because some " - "of it's members have it as primary group\n"); + d_fprintf(stderr, _("Unable to delete group because " + "some of it's members have it as primary " + "group\n")); result = NT_STATUS_MEMBERS_PRIMARY_GROUP; goto done; } @@ -1515,7 +1535,7 @@ static NTSTATUS rpc_group_delete_internals(struct net_context *c, for (i = 0; i < rids->count; i++) { if (c->opt_verbose) - d_printf("Remove group member %d...", + d_printf(_("Remove group member %d..."), rids->rids[i]); result = rpccli_samr_DeleteGroupMember(pipe_hnd, mem_ctx, &group_pol, @@ -1523,10 +1543,10 @@ static NTSTATUS rpc_group_delete_internals(struct net_context *c, if (NT_STATUS_IS_OK(result)) { if (c->opt_verbose) - d_printf("ok\n"); + d_printf(_("ok\n")); } else { if (c->opt_verbose) - d_printf("failed\n"); + d_printf(_("failed\n")); goto done; } } @@ -1544,7 +1564,7 @@ static NTSTATUS rpc_group_delete_internals(struct net_context *c, &group_pol); if (!NT_STATUS_IS_OK(result)) { - d_fprintf(stderr, "Request open_alias failed\n"); + d_fprintf(stderr, _("Request open_alias failed\n")); goto done; } @@ -1552,7 +1572,8 @@ static NTSTATUS rpc_group_delete_internals(struct net_context *c, &group_pol); break; default: - d_fprintf(stderr, "%s is of type %s. This command is only for deleting local or global groups\n", + d_fprintf(stderr, _("%s is of type %s. This command is only " + "for deleting local or global groups\n"), argv[0],sid_type_lookup(name_types.ids[0])); result = NT_STATUS_UNSUCCESSFUL; goto done; @@ -1560,9 +1581,10 @@ static NTSTATUS rpc_group_delete_internals(struct net_context *c, if (NT_STATUS_IS_OK(result)) { if (c->opt_verbose) - d_printf("Deleted %s '%s'\n",sid_type_lookup(name_types.ids[0]),argv[0]); + d_printf(_("Deleted %s '%s'\n"), + sid_type_lookup(name_types.ids[0]), argv[0]); } else { - d_fprintf(stderr, "Deleting of %s failed: %s\n",argv[0], + d_fprintf(stderr, _("Deleting of %s failed: %s\n"), argv[0], get_friendly_nt_error_msg(result)); } @@ -1598,12 +1620,13 @@ static int rpc_group_add_internals(struct net_context *c, int argc, const char * status = NetGroupAdd(c->opt_host, 1, (uint8_t *)&info1, &parm_error); if (status != 0) { - d_fprintf(stderr, "Failed to add group '%s' with: %s.\n", + d_fprintf(stderr, + _("Failed to add group '%s' with error: %s.\n"), argv[0], libnetapi_get_error_string(c->netapi_ctx, status)); return -1; } else { - d_printf("Added group '%s'.\n", argv[0]); + d_printf(_("Added group '%s'.\n"), argv[0]); } return 0; @@ -1630,12 +1653,13 @@ static int rpc_alias_add_internals(struct net_context *c, int argc, const char * status = NetLocalGroupAdd(c->opt_host, 1, (uint8_t *)&info1, &parm_error); if (status != 0) { - d_fprintf(stderr, "Failed to add alias '%s' with: %s.\n", + d_fprintf(stderr, + _("Failed to add alias '%s' with error: %s.\n"), argv[0], libnetapi_get_error_string(c->netapi_ctx, status)); return -1; } else { - d_printf("Added alias '%s'.\n", argv[0]); + d_printf(_("Added alias '%s'.\n"), argv[0]); } return 0; @@ -1755,7 +1779,8 @@ static NTSTATUS rpc_add_groupmem(struct rpc_pipe_client *pipe_hnd, &rid_types); if (!NT_STATUS_IS_OK(result)) { - d_fprintf(stderr, "Could not lookup up group member %s\n", member); + d_fprintf(stderr, _("Could not lookup up group member %s\n"), + member); goto done; } @@ -1804,7 +1829,8 @@ static NTSTATUS rpc_add_aliasmem(struct rpc_pipe_client *pipe_hnd, member, &member_sid, &member_type); if (!NT_STATUS_IS_OK(result)) { - d_fprintf(stderr, "Could not lookup up group member %s\n", member); + d_fprintf(stderr, _("Could not lookup up group member %s\n"), + member); return result; } @@ -1863,17 +1889,18 @@ static NTSTATUS rpc_group_addmem_internals(struct net_context *c, enum lsa_SidType group_type; if (argc != 2 || c->display_usage) { - d_printf("Usage:\n" - "net rpc group addmem <group> <member>\n" - " Add a member to a group\n" - " group\tGroup to add member to\n" - " member\tMember to add to group\n"); + d_printf(_("Usage:\n" + "net rpc group addmem <group> <member>\n" + " Add a member to a group\n" + " group\tGroup to add member to\n" + " member\tMember to add to group\n")); return NT_STATUS_UNSUCCESSFUL; } if (!NT_STATUS_IS_OK(get_sid_from_name(cli, mem_ctx, argv[0], &group_sid, &group_type))) { - d_fprintf(stderr, "Could not lookup group name %s\n", argv[0]); + d_fprintf(stderr, _("Could not lookup group name %s\n"), + argv[0]); return NT_STATUS_UNSUCCESSFUL; } @@ -1882,7 +1909,7 @@ static NTSTATUS rpc_group_addmem_internals(struct net_context *c, &group_sid, argv[1]); if (!NT_STATUS_IS_OK(result)) { - d_fprintf(stderr, "Could not add %s to %s: %s\n", + d_fprintf(stderr, _("Could not add %s to %s: %s\n"), argv[1], argv[0], nt_errstr(result)); } return result; @@ -1893,14 +1920,14 @@ static NTSTATUS rpc_group_addmem_internals(struct net_context *c, &group_sid, argv[1]); if (!NT_STATUS_IS_OK(result)) { - d_fprintf(stderr, "Could not add %s to %s: %s\n", + d_fprintf(stderr, _("Could not add %s to %s: %s\n"), argv[1], argv[0], nt_errstr(result)); } return result; } - d_fprintf(stderr, "Can only add members to global or local groups " - "which %s is not\n", argv[0]); + d_fprintf(stderr, _("Can only add members to global or local groups " + "which %s is not\n"), argv[0]); return NT_STATUS_UNSUCCESSFUL; } @@ -1959,7 +1986,8 @@ static NTSTATUS rpc_del_groupmem(struct net_context *c, &rids, &rid_types); if (!NT_STATUS_IS_OK(result)) { - d_fprintf(stderr, "Could not lookup up group member %s\n", member); + d_fprintf(stderr, _("Could not lookup up group member %s\n"), + member); goto done; } @@ -2005,7 +2033,8 @@ static NTSTATUS rpc_del_aliasmem(struct rpc_pipe_client *pipe_hnd, member, &member_sid, &member_type); if (!NT_STATUS_IS_OK(result)) { - d_fprintf(stderr, "Could not lookup up group member %s\n", member); + d_fprintf(stderr, _("Could not lookup up group member %s\n"), + member); return result; } @@ -2062,17 +2091,18 @@ static NTSTATUS rpc_group_delmem_internals(struct net_context *c, enum lsa_SidType group_type; if (argc != 2 || c->display_usage) { - d_printf("Usage:\n" - "net rpc group delmem <group> <member>\n" - " Delete a member from a group\n" - " group\tGroup to delete member from\n" - " member\tMember to delete from group\n"); + d_printf(_("Usage:\n" + "net rpc group delmem <group> <member>\n" + " Delete a member from a group\n" + " group\tGroup to delete member from\n" + " member\tMember to delete from group\n")); return NT_STATUS_UNSUCCESSFUL; } if (!NT_STATUS_IS_OK(get_sid_from_name(cli, mem_ctx, argv[0], &group_sid, &group_type))) { - d_fprintf(stderr, "Could not lookup group name %s\n", argv[0]); + d_fprintf(stderr, _("Could not lookup group name %s\n"), + argv[0]); return NT_STATUS_UNSUCCESSFUL; } @@ -2081,7 +2111,7 @@ static NTSTATUS rpc_group_delmem_internals(struct net_context *c, &group_sid, argv[1]); if (!NT_STATUS_IS_OK(result)) { - d_fprintf(stderr, "Could not del %s from %s: %s\n", + d_fprintf(stderr, _("Could not del %s from %s: %s\n"), argv[1], argv[0], nt_errstr(result)); } return result; @@ -2092,14 +2122,14 @@ static NTSTATUS rpc_group_delmem_internals(struct net_context *c, &group_sid, argv[1]); if (!NT_STATUS_IS_OK(result)) { - d_fprintf(stderr, "Could not del %s from %s: %s\n", + d_fprintf(stderr, _("Could not del %s from %s: %s\n"), argv[1], argv[0], nt_errstr(result)); } return result; } - d_fprintf(stderr, "Can only delete members from global or local groups " - "which %s is not\n", argv[0]); + d_fprintf(stderr, _("Can only delete members from global or local " + "groups which %s is not\n"), argv[0]); return NT_STATUS_UNSUCCESSFUL; } @@ -2145,14 +2175,15 @@ static NTSTATUS rpc_group_list_internals(struct net_context *c, bool builtin = false; if (c->display_usage) { - d_printf("Usage:\n" - "net rpc group list [global] [local] [builtin]\n" - " List groups on RPC server\n" - " global\tList global groups\n" - " local\tList local groups\n" - " builtin\tList builtin groups\n" - " If none of global, local or builtin is " - "specified, all three options are considered set\n"); + d_printf(_("Usage:\n" + "net rpc group list [global] [local] [builtin]\n" + " List groups on RPC server\n" + " global\tList global groups\n" + " local\tList local groups\n" + " builtin\tList builtin groups\n" + " If none of global, local or builtin is " + "specified, all three options are considered " + "set\n")); return NT_STATUS_OK; } @@ -2196,8 +2227,8 @@ static NTSTATUS rpc_group_list_internals(struct net_context *c, /* Query domain groups */ if (c->opt_long_list_entries) - d_printf("\nGroup name Comment" - "\n-----------------------------\n"); + d_printf(_("\nGroup name Comment" + "\n-----------------------------\n")); do { uint32_t max_size, total_size, returned_size; union samr_DispInfo info; @@ -2465,7 +2496,7 @@ static NTSTATUS rpc_list_alias_members(struct net_context *c, &sid_array); if (!NT_STATUS_IS_OK(result)) { - d_fprintf(stderr, "Couldn't list alias members\n"); + d_fprintf(stderr, _("Couldn't list alias members\n")); return result; } @@ -2479,7 +2510,7 @@ static NTSTATUS rpc_list_alias_members(struct net_context *c, &ndr_table_lsarpc.syntax_id, &lsa_pipe); if (!NT_STATUS_IS_OK(result)) { - d_fprintf(stderr, "Couldn't open LSA pipe. Error was %s\n", + d_fprintf(stderr, _("Couldn't open LSA pipe. Error was %s\n"), nt_errstr(result) ); return result; } @@ -2488,14 +2519,14 @@ static NTSTATUS rpc_list_alias_members(struct net_context *c, SEC_FLAG_MAXIMUM_ALLOWED, &lsa_pol); if (!NT_STATUS_IS_OK(result)) { - d_fprintf(stderr, "Couldn't open LSA policy handle\n"); + d_fprintf(stderr, _("Couldn't open LSA policy handle\n")); TALLOC_FREE(lsa_pipe); return result; } alias_sids = TALLOC_ZERO_ARRAY(mem_ctx, DOM_SID, num_members); if (!alias_sids) { - d_fprintf(stderr, "Out of memory\n"); + d_fprintf(stderr, _("Out of memory\n")); TALLOC_FREE(lsa_pipe); return NT_STATUS_NO_MEMORY; } @@ -2510,7 +2541,7 @@ static NTSTATUS rpc_list_alias_members(struct net_context *c, if (!NT_STATUS_IS_OK(result) && !NT_STATUS_EQUAL(result, STATUS_SOME_UNMAPPED)) { - d_fprintf(stderr, "Couldn't lookup SIDs\n"); + d_fprintf(stderr, _("Couldn't lookup SIDs\n")); TALLOC_FREE(lsa_pipe); return result; } @@ -2521,8 +2552,8 @@ static NTSTATUS rpc_list_alias_members(struct net_context *c, if (c->opt_long_list_entries) { printf("%s %s\\%s %d\n", sid_str, - domains[i] ? domains[i] : "*unknown*", - names[i] ? names[i] : "*unknown*", types[i]); + domains[i] ? domains[i] : _("*unknown*"), + names[i] ? names[i] : _("*unknown*"), types[i]); } else { if (domains[i]) printf("%s\\%s\n", domains[i], names[i]); @@ -2596,7 +2627,8 @@ static NTSTATUS rpc_group_members_internals(struct net_context *c, &domain_pol); if (!NT_STATUS_IS_OK(result)) { - d_fprintf(stderr, "Couldn't find group %s\n", argv[0]); + d_fprintf(stderr, _("Couldn't find group %s\n"), + argv[0]); return result; } @@ -2608,13 +2640,15 @@ static NTSTATUS rpc_group_members_internals(struct net_context *c, &rid_types); if (!NT_STATUS_IS_OK(result)) { - d_fprintf(stderr, "Couldn't find group %s\n", argv[0]); + d_fprintf(stderr, _("Couldn't find group %s\n"), + argv[0]); return result; } } if (rids.count != 1) { - d_fprintf(stderr, "Couldn't find group %s\n", argv[0]); + d_fprintf(stderr, _("Couldn't find group %s\n"), + argv[0]); return result; } @@ -2650,7 +2684,7 @@ static int rpc_group_rename_internals(struct net_context *c, int argc, const cha uint32_t parm_err; if (argc != 2) { - d_printf("Usage: 'net rpc group rename group newname'\n"); + d_printf(_("Usage: 'net rpc group rename group newname'\n")); return -1; } @@ -2663,7 +2697,7 @@ static int rpc_group_rename_internals(struct net_context *c, int argc, const cha &parm_err); if (status != 0) { - d_fprintf(stderr, "Renaming group %s failed with: %s\n", + d_fprintf(stderr, _("Renaming group %s failed with: %s\n"), argv[0], libnetapi_get_error_string(c->netapi_ctx, status)); return -1; @@ -2697,57 +2731,57 @@ int net_rpc_group(struct net_context *c, int argc, const char **argv) "add", rpc_group_add, NET_TRANSPORT_RPC, - "Create specified group", - "net rpc group add\n" - " Create specified group" + N_("Create specified group"), + N_("net rpc group add\n" + " Create specified group") }, { "delete", rpc_group_delete, NET_TRANSPORT_RPC, - "Delete specified group", - "net rpc group delete\n" - " Delete specified group" + N_("Delete specified group"), + N_("net rpc group delete\n" + " Delete specified group") }, { "addmem", rpc_group_addmem, NET_TRANSPORT_RPC, - "Add member to group", - "net rpc group addmem\n" - " Add member to group" + N_("Add member to group"), + N_("net rpc group addmem\n" + " Add member to group") }, { "delmem", rpc_group_delmem, NET_TRANSPORT_RPC, - "Remove member from group", - "net rpc group delmem\n" - " Remove member from group" + N_("Remove member from group"), + N_("net rpc group delmem\n" + " Remove member from group") }, { "list", rpc_group_list, NET_TRANSPORT_RPC, - "List groups", - "net rpc group list\n" - " List groups" + N_("List groups"), + N_("net rpc group list\n" + " List groups") }, { "members", rpc_group_members, NET_TRANSPORT_RPC, - "List group members", - "net rpc group members\n" - " List group members" + N_("List group members"), + N_("net rpc group members\n" + " List group members") }, { "rename", rpc_group_rename, NET_TRANSPORT_RPC, - "Rename group", - "net rpc group rename\n" - " Rename group" + N_("Rename group"), + N_("net rpc group rename\n" + " Rename group") }, {NULL, NULL, 0, NULL, NULL} }; @@ -2764,10 +2798,10 @@ int net_rpc_group(struct net_context *c, int argc, const char **argv) if (argc == 0) { if (c->display_usage) { - d_printf("Usage:\n"); - d_printf("net rpc group\n" - " Alias for net rpc group list global local " - "builtin\n"); + d_printf(_("Usage:\n")); + d_printf(_("net rpc group\n" + " Alias for net rpc group list global " + "local builtin\n")); net_display_usage_from_functable(func); return 0; } @@ -2837,7 +2871,7 @@ static int rpc_share_add(struct net_context *c, int argc, const char **argv) (uint8_t *)&i2, &parm_error); if (status != 0) { - printf("NetShareAdd failed with: %s\n", + printf(_("NetShareAdd failed with: %s\n"), libnetapi_get_error_string(c->netapi_ctx, status)); } @@ -2988,9 +3022,9 @@ static int rpc_share_list(struct net_context *c, int argc, const char **argv) uint32_t i, level = 1; if (c->display_usage) { - d_printf("Usage\n" - "net rpc share list\n" - " List shares on remote server\n"); + d_printf(_("Usage\n" + "net rpc share list\n" + " List shares on remote server\n")); return 0; } @@ -3008,10 +3042,10 @@ static int rpc_share_list(struct net_context *c, int argc, const char **argv) /* Display results */ if (c->opt_long_list_entries) { - d_printf( + d_printf(_( "\nEnumerating shared resources (exports) on remote server:\n\n" "\nShare name Type Description\n" - "---------- ---- -----------\n"); + "---------- ---- -----------\n")); } for (i = 0; i < entries_read; i++) display_share_info_1(c, &i1[i]); @@ -3022,7 +3056,7 @@ static int rpc_share_list(struct net_context *c, int argc, const char **argv) static bool check_share_availability(struct cli_state *cli, const char *netname) { if (!NT_STATUS_IS_OK(cli_tcon_andx(cli, netname, "A:", "", 0))) { - d_printf("skipping [%s]: not a file share.\n", netname); + d_printf(_("skipping [%s]: not a file share.\n"), netname); return false; } @@ -3037,7 +3071,8 @@ static bool check_share_sanity(struct net_context *c, struct cli_state *cli, { /* only support disk shares */ if (! ( type == STYPE_DISKTREE || type == (STYPE_DISKTREE | STYPE_HIDDEN)) ) { - printf("share [%s] is not a diskshare (type: %x)\n", netname, type); + printf(_("share [%s] is not a diskshare (type: %x)\n"), netname, + type); return false; } @@ -3048,7 +3083,7 @@ static bool check_share_sanity(struct net_context *c, struct cli_state *cli, return false; if (c->opt_exclude && in_list(netname, c->opt_exclude, false)) { - printf("excluding [%s]\n", netname); + printf(_("excluding [%s]\n"), netname); return false; } @@ -3115,7 +3150,8 @@ static NTSTATUS rpc_share_migrate_shares_internals(struct net_context *c, /* finally add the share on the dst server */ - printf("migrating: [%s], path: %s, comment: %s, without share-ACLs\n", + printf(_("migrating: [%s], path: %s, comment: %s, without " + "share-ACLs\n"), info502.name, info502.path, info502.comment); info.info502 = &info502; @@ -3128,13 +3164,13 @@ static NTSTATUS rpc_share_migrate_shares_internals(struct net_context *c, &result); if (W_ERROR_V(result) == W_ERROR_V(WERR_FILE_EXISTS)) { - printf(" [%s] does already exist\n", + printf(_(" [%s] does already exist\n"), info502.name); continue; } if (!NT_STATUS_IS_OK(nt_status) || !W_ERROR_IS_OK(result)) { - printf("cannot add share: %s\n", win_errstr(result)); + printf(_("cannot add share: %s\n"), win_errstr(result)); goto done; } @@ -3164,14 +3200,14 @@ static int rpc_share_migrate_shares(struct net_context *c, int argc, const char **argv) { if (c->display_usage) { - d_printf("Usage:\n" - "net rpc share migrate shares\n" - " Migrate shares to local server\n"); + d_printf(_("Usage:\n" + "net rpc share migrate shares\n" + " Migrate shares to local server\n")); return 0; } if (!c->opt_host) { - printf("no server to migrate\n"); + printf(_("no server to migrate\n")); return -1; } @@ -3231,12 +3267,12 @@ static void copy_fn(const char *mnt, file_info *f, false); break; default: - d_fprintf(stderr, "Unsupported mode %d\n", net_mode_share); + d_fprintf(stderr, _("Unsupported mode %d\n"), net_mode_share); return; } if (!NT_STATUS_IS_OK(nt_status)) - printf("could not handle dir %s: %s\n", + printf(_("could not handle dir %s: %s\n"), dir, nt_errstr(nt_status)); /* search below that directory */ @@ -3246,7 +3282,7 @@ static void copy_fn(const char *mnt, file_info *f, old_dir = local_state->cwd; local_state->cwd = dir; if (!sync_files(local_state, new_mask)) - printf("could not handle files\n"); + printf(_("could not handle files\n")); local_state->cwd = old_dir; return; @@ -3273,12 +3309,13 @@ static void copy_fn(const char *mnt, file_info *f, true); break; default: - d_fprintf(stderr, "Unsupported file mode %d\n", net_mode_share); + d_fprintf(stderr, _("Unsupported file mode %d\n"), + net_mode_share); return; } if (!NT_STATUS_IS_OK(nt_status)) - printf("could not handle file %s: %s\n", + printf(_("could not handle file %s: %s\n"), filename, nt_errstr(nt_status)); } @@ -3301,13 +3338,14 @@ static bool sync_files(struct copy_clistate *cp_clistate, const char *mask) if ( !cli_resolve_path(talloc_tos(), "", NULL, cp_clistate->cli_share_src, mask, &targetcli, &targetpath ) ) { - d_fprintf(stderr, "cli_resolve_path %s failed with error: %s\n", + d_fprintf(stderr, _("cli_resolve_path %s failed with error: " + "%s\n"), mask, cli_errstr(cp_clistate->cli_share_src)); return false; } if (cli_list(targetcli, targetpath, cp_clistate->attribute, copy_fn, cp_clistate) == -1) { - d_fprintf(stderr, "listing %s failed with error: %s\n", + d_fprintf(stderr, _("listing %s failed with error: %s\n"), mask, cli_errstr(targetcli)); return false; } @@ -3341,12 +3379,13 @@ bool copy_top_level_perms(struct net_context *c, false); break; default: - d_fprintf(stderr, "Unsupported mode %d\n", net_mode_share); + d_fprintf(stderr, _("Unsupported mode %d\n"), net_mode_share); break; } if (!NT_STATUS_IS_OK(nt_status)) { - printf("Could handle directory attributes for top level directory of share %s. Error %s\n", + printf(_("Could handle directory attributes for top level " + "directory of share %s. Error %s\n"), sharename, nt_errstr(nt_status)); return false; } @@ -3412,7 +3451,8 @@ static NTSTATUS rpc_share_migrate_files_internals(struct net_context *c, /* one might not want to mirror whole discs :) */ if (strequal(info502.name, "print$") || info502.name[1] == '$') { - d_printf("skipping [%s]: builtin/hidden share\n", info502.name); + d_printf(_("skipping [%s]: builtin/hidden share\n"), + info502.name); continue; } @@ -3422,14 +3462,16 @@ static NTSTATUS rpc_share_migrate_files_internals(struct net_context *c, printf("syncing"); break; default: - d_fprintf(stderr, "Unsupported mode %d\n", net_mode_share); + d_fprintf(stderr, _("Unsupported mode %d\n"), + net_mode_share); break; } - printf(" [%s] files and directories %s ACLs, %s DOS Attributes %s\n", + printf(_(" [%s] files and directories %s ACLs, %s DOS " + "Attributes %s\n"), info502.name, - c->opt_acls ? "including" : "without", - c->opt_attrs ? "including" : "without", - c->opt_timestamps ? "(preserving timestamps)" : ""); + c->opt_acls ? _("including") : _("without"), + c->opt_attrs ? _("including") : _("without"), + c->opt_timestamps ? _("(preserving timestamps)") : ""); cp_clistate.mem_ctx = mem_ctx; cp_clistate.cli_share_src = NULL; @@ -3458,13 +3500,16 @@ static NTSTATUS rpc_share_migrate_files_internals(struct net_context *c, } if (!copy_top_level_perms(c, &cp_clistate, info502.name)) { - d_fprintf(stderr, "Could not handle the top level directory permissions for the share: %s\n", info502.name); + d_fprintf(stderr, _("Could not handle the top level " + "directory permissions for the " + "share: %s\n"), info502.name); nt_status = NT_STATUS_UNSUCCESSFUL; goto done; } if (!sync_files(&cp_clistate, mask)) { - d_fprintf(stderr, "could not handle files for share: %s\n", info502.name); + d_fprintf(stderr, _("could not handle files for share: " + "%s\n"), info502.name); nt_status = NT_STATUS_UNSUCCESSFUL; goto done; } @@ -3488,14 +3533,14 @@ done: static int rpc_share_migrate_files(struct net_context *c, int argc, const char **argv) { if (c->display_usage) { - d_printf("Usage:\n" - "net share migrate files\n" - " Migrate files to local server\n"); + d_printf(_("Usage:\n" + "net share migrate files\n" + " Migrate files to local server\n")); return 0; } if (!c->opt_host) { - d_printf("no server to migrate\n"); + d_printf(_("no server to migrate\n")); return -1; } @@ -3563,7 +3608,8 @@ static NTSTATUS rpc_share_migrate_security_internals(struct net_context *c, if (!check_share_sanity(c, cli, info502.name, info502.type)) continue; - printf("migrating: [%s], path: %s, comment: %s, including share-ACLs\n", + printf(_("migrating: [%s], path: %s, comment: %s, including " + "share-ACLs\n"), info502.name, info502.path, info502.comment); if (c->opt_verbose) @@ -3581,7 +3627,8 @@ static NTSTATUS rpc_share_migrate_security_internals(struct net_context *c, &parm_error, &result); if (!NT_STATUS_IS_OK(nt_status) || !W_ERROR_IS_OK(result)) { - printf("cannot set share-acl: %s\n", win_errstr(result)); + printf(_("cannot set share-acl: %s\n"), + win_errstr(result)); goto done; } @@ -3611,14 +3658,14 @@ static int rpc_share_migrate_security(struct net_context *c, int argc, const char **argv) { if (c->display_usage) { - d_printf("Usage:\n" - "net rpc share migrate security\n" - " Migrate share-acls to local server\n"); + d_printf(_("Usage:\n" + "net rpc share migrate security\n" + " Migrate share-acls to local server\n")); return 0; } if (!c->opt_host) { - d_printf("no server to migrate\n"); + d_printf(_("no server to migrate\n")); return -1; } @@ -3644,14 +3691,14 @@ static int rpc_share_migrate_all(struct net_context *c, int argc, int ret; if (c->display_usage) { - d_printf("Usage:\n" - "net rpc share migrate all\n" - " Migrates shares including all share settings\n"); + d_printf(_("Usage:\n" + "net rpc share migrate all\n" + " Migrates shares including all share settings\n")); return 0; } if (!c->opt_host) { - d_printf("no server to migrate\n"); + d_printf(_("no server to migrate\n")); return -1; } @@ -3688,33 +3735,33 @@ static int rpc_share_migrate(struct net_context *c, int argc, const char **argv) "all", rpc_share_migrate_all, NET_TRANSPORT_RPC, - "Migrate shares from remote to local server", - "net rpc share migrate all\n" - " Migrate shares from remote to local server" + N_("Migrate shares from remote to local server"), + N_("net rpc share migrate all\n" + " Migrate shares from remote to local server") }, { "files", rpc_share_migrate_files, NET_TRANSPORT_RPC, - "Migrate files from remote to local server", - "net rpc share migrate files\n" - " Migrate files from remote to local server" + N_("Migrate files from remote to local server"), + N_("net rpc share migrate files\n" + " Migrate files from remote to local server") }, { "security", rpc_share_migrate_security, NET_TRANSPORT_RPC, - "Migrate share-ACLs from remote to local server", - "net rpc share migrate security\n" - " Migrate share-ACLs from remote to local server" + N_("Migrate share-ACLs from remote to local server"), + N_("net rpc share migrate security\n" + " Migrate share-ACLs from remote to local server") }, { "shares", rpc_share_migrate_shares, NET_TRANSPORT_RPC, - "Migrate shares from remote to local server", - "net rpc share migrate shares\n" - " Migrate shares from remote to local server" + N_("Migrate shares from remote to local server"), + N_("net rpc share migrate shares\n" + " Migrate shares from remote to local server") }, {NULL, NULL, 0, NULL, NULL} }; @@ -3941,7 +3988,7 @@ static void init_user_token(NT_USER_TOKEN *token, DOM_SID *user_sid) token->num_sids = 4; if (!(token->user_sids = SMB_MALLOC_ARRAY(DOM_SID, 4))) { - d_fprintf(stderr, "malloc failed\n"); + d_fprintf(stderr, _("malloc failed\n")); token->num_sids = 0; return; } @@ -4128,8 +4175,8 @@ static bool get_user_tokens(struct net_context *c, int *num_tokens, if (lp_winbind_use_default_domain() && (c->opt_target_workgroup == NULL)) { - d_fprintf(stderr, "winbind use default domain = yes set, " - "please specify a workgroup\n"); + d_fprintf(stderr, _("winbind use default domain = yes set, " + "please specify a workgroup\n")); return false; } @@ -4137,7 +4184,7 @@ static bool get_user_tokens(struct net_context *c, int *num_tokens, wbc_status = wbcListUsers(NULL, &num_users, &users); if (!WBC_ERROR_IS_OK(wbc_status)) { - DEBUG(1, ("winbind could not list users: %s\n", + DEBUG(1, (_("winbind could not list users: %s\n"), wbcErrorString(wbc_status))); return false; } @@ -4446,9 +4493,9 @@ static int rpc_share_allowedusers(struct net_context *c, int argc, int result; if (c->display_usage) { - d_printf("Usage:\n" - "net rpc share allowedusers\n" - " List allowed users\n"); + d_printf(_("Usage:\n" + "net rpc share allowedusers\n" + " List allowed users\n")); return 0; } @@ -4496,10 +4543,10 @@ int net_usersidlist(struct net_context *c, int argc, const char **argv) int net_usersidlist_usage(struct net_context *c, int argc, const char **argv) { - d_printf("net usersidlist\n" - "\tprints out a list of all users the running winbind knows\n" - "\tabout, together with all their SIDs. This is used as\n" - "\tinput to the 'net rpc share allowedusers' command.\n\n"); + d_printf(_("net usersidlist\n" + "\tprints out a list of all users the running winbind knows\n" + "\tabout, together with all their SIDs. This is used as\n" + "\tinput to the 'net rpc share allowedusers' command.\n\n")); net_common_flags_usage(c, argc, argv); return -1; @@ -4521,41 +4568,41 @@ int net_rpc_share(struct net_context *c, int argc, const char **argv) "add", rpc_share_add, NET_TRANSPORT_RPC, - "Add share", - "net rpc share add\n" - " Add share" + N_("Add share"), + N_("net rpc share add\n" + " Add share") }, { "delete", rpc_share_delete, NET_TRANSPORT_RPC, - "Remove share", - "net rpc share delete\n" - " Remove share" + N_("Remove share"), + N_("net rpc share delete\n" + " Remove share") }, { "allowedusers", rpc_share_allowedusers, NET_TRANSPORT_RPC, - "Modify allowed users", - "net rpc share allowedusers\n" - " Modify allowed users" + N_("Modify allowed users"), + N_("net rpc share allowedusers\n" + " Modify allowed users") }, { "migrate", rpc_share_migrate, NET_TRANSPORT_RPC, - "Migrate share to local server", - "net rpc share migrate\n" - " Migrate share to local server" + N_("Migrate share to local server"), + N_("net rpc share migrate\n" + " Migrate share to local server") }, { "list", rpc_share_list, NET_TRANSPORT_RPC, - "List shares", - "net rpc share list\n" - " List shares" + N_("List shares"), + N_("net rpc share list\n" + " List shares") }, {NULL, NULL, 0, NULL, NULL} }; @@ -4572,10 +4619,10 @@ int net_rpc_share(struct net_context *c, int argc, const char **argv) if (argc == 0) { if (c->display_usage) { - d_printf("Usage:\n" - "net rpc share\n" - " List shares\n" - " Alias for net rpc share list\n"); + d_printf(_("Usage:\n" + "net rpc share\n" + " List shares\n" + " Alias for net rpc share list\n")); net_display_usage_from_functable(func); return 0; } @@ -4607,7 +4654,7 @@ static NTSTATUS rpc_sh_share_add(struct net_context *c, struct SHARE_INFO_2 i2; if ((argc < 2) || (argc > 3)) { - d_fprintf(stderr, "usage: %s <share> <path> [comment]\n", + d_fprintf(stderr, _("usage: %s <share> <path> [comment]\n"), ctx->whoami); return NT_STATUS_INVALID_PARAMETER; } @@ -4636,7 +4683,7 @@ static NTSTATUS rpc_sh_share_delete(struct net_context *c, int argc, const char **argv) { if (argc != 1) { - d_fprintf(stderr, "usage: %s <share>\n", ctx->whoami); + d_fprintf(stderr, _("usage: %s <share>\n"), ctx->whoami); return NT_STATUS_INVALID_PARAMETER; } @@ -4654,7 +4701,7 @@ static NTSTATUS rpc_sh_share_info(struct net_context *c, NTSTATUS status; if (argc != 1) { - d_fprintf(stderr, "usage: %s <share>\n", ctx->whoami); + d_fprintf(stderr, _("usage: %s <share>\n"), ctx->whoami); return NT_STATUS_INVALID_PARAMETER; } @@ -4668,10 +4715,10 @@ static NTSTATUS rpc_sh_share_info(struct net_context *c, goto done; } - d_printf("Name: %s\n", info.info2->name); - d_printf("Comment: %s\n", info.info2->comment); - d_printf("Path: %s\n", info.info2->path); - d_printf("Password: %s\n", info.info2->password); + d_printf(_("Name: %s\n"), info.info2->name); + d_printf(_("Comment: %s\n"), info.info2->comment); + d_printf(_("Path: %s\n"), info.info2->path); + d_printf(_("Password: %s\n"), info.info2->password); done: return werror_to_ntstatus(result); @@ -4683,16 +4730,16 @@ struct rpc_sh_cmd *net_rpc_share_cmds(struct net_context *c, TALLOC_CTX *mem_ctx static struct rpc_sh_cmd cmds[] = { { "list", NULL, &ndr_table_srvsvc.syntax_id, rpc_sh_share_list, - "List available shares" }, + N_("List available shares") }, { "add", NULL, &ndr_table_srvsvc.syntax_id, rpc_sh_share_add, - "Add a share" }, + N_("Add a share") }, { "delete", NULL, &ndr_table_srvsvc.syntax_id, rpc_sh_share_delete, - "Delete a share" }, + N_("Delete a share") }, { "info", NULL, &ndr_table_srvsvc.syntax_id, rpc_sh_share_info, - "Get information about a share" }, + N_("Get information about a share") }, { NULL, NULL, 0, NULL, NULL } }; @@ -4783,10 +4830,10 @@ static int rpc_file_user(struct net_context *c, int argc, const char **argv) /* Display results */ - d_printf( + d_printf(_( "\nEnumerating open files on remote server:\n\n" "\nFileId Opened by Perms Locks Path" - "\n------ --------- ----- ----- ---- \n"); + "\n------ --------- ----- ----- ---- \n")); for (i = 0; i < entries_read; i++) { display_file_info_3(&i3[i]); } @@ -4810,26 +4857,26 @@ int net_rpc_file(struct net_context *c, int argc, const char **argv) "close", rpc_file_close, NET_TRANSPORT_RPC, - "Close opened file", - "net rpc file close\n" - " Close opened file" + N_("Close opened file"), + N_("net rpc file close\n" + " Close opened file") }, { "user", rpc_file_user, NET_TRANSPORT_RPC, - "List files opened by user", - "net rpc file user\n" - " List files opened by user" + N_("List files opened by user"), + N_("net rpc file user\n" + " List files opened by user") }, #if 0 { "info", rpc_file_info, NET_TRANSPORT_RPC, - "Display information about opened file", - "net rpc file info\n" - " Display information about opened file" + N_("Display information about opened file"), + N_("net rpc file info\n" + " Display information about opened file") }, #endif {NULL, NULL, 0, NULL, NULL} @@ -4847,9 +4894,9 @@ int net_rpc_file(struct net_context *c, int argc, const char **argv) if (argc == 0) { if (c->display_usage) { - d_printf("Usage:\n"); - d_printf("net rpc file\n" - " List opened files\n"); + d_printf(_("Usage:\n")); + d_printf(_("net rpc file\n" + " List opened files\n")); net_display_usage_from_functable(func); return 0; } @@ -4891,7 +4938,7 @@ static NTSTATUS rpc_shutdown_abort_internals(struct net_context *c, result = rpccli_initshutdown_Abort(pipe_hnd, mem_ctx, NULL, NULL); if (NT_STATUS_IS_OK(result)) { - d_printf("\nShutdown successfully aborted\n"); + d_printf(_("\nShutdown successfully aborted\n")); DEBUG(5,("cmd_shutdown_abort: query succeeded\n")); } else DEBUG(5,("cmd_shutdown_abort: query failed\n")); @@ -4930,7 +4977,7 @@ static NTSTATUS rpc_reg_shutdown_abort_internals(struct net_context *c, result = rpccli_winreg_AbortSystemShutdown(pipe_hnd, mem_ctx, NULL, NULL); if (NT_STATUS_IS_OK(result)) { - d_printf("\nShutdown successfully aborted\n"); + d_printf(_("\nShutdown successfully aborted\n")); DEBUG(5,("cmd_reg_abort_shutdown: query succeeded\n")); } else DEBUG(5,("cmd_reg_abort_shutdown: query failed\n")); @@ -4954,9 +5001,9 @@ static int rpc_shutdown_abort(struct net_context *c, int argc, int rc = -1; if (c->display_usage) { - d_printf("Usage:\n" - "net rpc abortshutdown\n" - " Abort a scheduled shutdown\n"); + d_printf(_("Usage:\n" + "net rpc abortshutdown\n" + " Abort a scheduled shutdown\n")); return 0; } @@ -5000,7 +5047,7 @@ NTSTATUS rpc_init_shutdown_internals(struct net_context *c, const char **argv) { NTSTATUS result = NT_STATUS_UNSUCCESSFUL; - const char *msg = "This machine will be shutdown shortly"; + const char *msg = N_("This machine will be shutdown shortly"); uint32 timeout = 20; struct lsa_StringLarge msg_string; @@ -5019,7 +5066,7 @@ NTSTATUS rpc_init_shutdown_internals(struct net_context *c, NULL); if (NT_STATUS_IS_OK(result)) { - d_printf("\nShutdown of remote machine succeeded\n"); + d_printf(_("\nShutdown of remote machine succeeded\n")); DEBUG(5,("Shutdown of remote machine succeeded\n")); } else { DEBUG(1,("Shutdown of remote machine failed!\n")); @@ -5053,7 +5100,7 @@ NTSTATUS rpc_reg_shutdown_internals(struct net_context *c, int argc, const char **argv) { - const char *msg = "This machine will be shutdown shortly"; + const char *msg = N_("This machine will be shutdown shortly"); uint32 timeout = 20; struct lsa_StringLarge msg_string; NTSTATUS result; @@ -5074,7 +5121,7 @@ NTSTATUS rpc_reg_shutdown_internals(struct net_context *c, &werr); if (NT_STATUS_IS_OK(result)) { - d_printf("\nShutdown of remote machine succeeded\n"); + d_printf(_("\nShutdown of remote machine succeeded\n")); } else { d_fprintf(stderr, "\nShutdown of remote machine failed\n"); if ( W_ERROR_EQUAL(werr, WERR_MACHINE_LOCKED) ) @@ -5101,9 +5148,9 @@ static int rpc_shutdown(struct net_context *c, int argc, const char **argv) int rc = -1; if (c->display_usage) { - d_printf("Usage:\n" - "net rpc shutdown\n" - " Shut down a remote RPC server\n"); + d_printf(_("Usage:\n" + "net rpc shutdown\n" + " Shut down a remote RPC server\n")); return 0; } @@ -5160,8 +5207,8 @@ static NTSTATUS rpc_trustdom_add_internals(struct net_context *c, unsigned int orig_timeout; if (argc != 2) { - d_printf("Usage: net rpc trustdom add <domain_name> " - "<trust password>\n"); + d_printf(_("Usage: net rpc trustdom add <domain_name> " + "<trust password>\n")); return NT_STATUS_INVALID_PARAMETER; } @@ -5222,7 +5269,7 @@ static NTSTATUS rpc_trustdom_add_internals(struct net_context *c, rpccli_set_timeout(pipe_hnd, orig_timeout); if (!NT_STATUS_IS_OK(result)) { - d_printf("net rpc trustdom add: create user %s failed %s\n", + d_printf(_("net rpc trustdom add: create user %s failed %s\n"), acct_name, nt_errstr(result)); goto done; } @@ -5273,8 +5320,9 @@ static int rpc_trustdom_add(struct net_context *c, int argc, const char **argv) return run_rpc_command(c, NULL, &ndr_table_samr.syntax_id, 0, rpc_trustdom_add_internals, argc, argv); } else { - d_printf("Usage:\n" - "net rpc trustdom add <domain_name> <trust password>\n"); + d_printf(_("Usage:\n" + "net rpc trustdom add <domain_name> <trust " + "password>\n")); return -1; } } @@ -5313,7 +5361,7 @@ static NTSTATUS rpc_trustdom_del_internals(struct net_context *c, struct lsa_String lsa_acct_name; if (argc != 1) { - d_printf("Usage: net rpc trustdom del <domain_name>\n"); + d_printf(_("Usage: net rpc trustdom del <domain_name>\n")); return NT_STATUS_INVALID_PARAMETER; } @@ -5356,7 +5404,8 @@ static NTSTATUS rpc_trustdom_del_internals(struct net_context *c, &name_types); if (!NT_STATUS_IS_OK(result)) { - d_printf("net rpc trustdom del: LookupNames on user %s failed %s\n", + d_printf(_("net rpc trustdom del: LookupNames on user %s " + "failed %s\n"), acct_name, nt_errstr(result) ); goto done; } @@ -5368,7 +5417,8 @@ static NTSTATUS rpc_trustdom_del_internals(struct net_context *c, &user_pol); if (!NT_STATUS_IS_OK(result)) { - d_printf("net rpc trustdom del: OpenUser on user %s failed %s\n", + d_printf(_("net rpc trustdom del: OpenUser on user %s failed " + "%s\n"), acct_name, nt_errstr(result) ); goto done; } @@ -5385,7 +5435,8 @@ static NTSTATUS rpc_trustdom_del_internals(struct net_context *c, &user_pol, &trust_acct_sid); if (!NT_STATUS_IS_OK(result)) { - d_printf("net rpc trustdom del: RemoveMemberFromForeignDomain on user %s failed %s\n", + d_printf(_("net rpc trustdom del: RemoveMemberFromForeignDomain" + " on user %s failed %s\n"), acct_name, nt_errstr(result) ); goto done; } @@ -5396,13 +5447,14 @@ static NTSTATUS rpc_trustdom_del_internals(struct net_context *c, &user_pol); if (!NT_STATUS_IS_OK(result)) { - d_printf("net rpc trustdom del: DeleteUser on user %s failed %s\n", + d_printf(_("net rpc trustdom del: DeleteUser on user %s failed " + "%s\n"), acct_name, nt_errstr(result) ); goto done; } if (!NT_STATUS_IS_OK(result)) { - d_printf("Could not set trust account password: %s\n", + d_printf(_("Could not set trust account password: %s\n"), nt_errstr(result)); goto done; } @@ -5426,8 +5478,8 @@ static int rpc_trustdom_del(struct net_context *c, int argc, const char **argv) return run_rpc_command(c, NULL, &ndr_table_samr.syntax_id, 0, rpc_trustdom_del_internals, argc, argv); } else { - d_printf("Usage:\n" - "net rpc trustdom del <domain>\n"); + d_printf(_("Usage:\n" + "net rpc trustdom del <domain>\n")); return -1; } } @@ -5509,8 +5561,8 @@ static int rpc_trustdom_establish(struct net_context *c, int argc, */ if (argc != 1 || c->display_usage) { - d_printf("Usage:\n" - "net rpc trustdom establish <domain_name>\n"); + d_printf(_("Usage:\n" + "net rpc trustdom establish <domain_name>\n")); return -1; } @@ -5652,7 +5704,7 @@ static int rpc_trustdom_establish(struct net_context *c, int argc, talloc_destroy(mem_ctx); - d_printf("Trust to domain %s established\n", domain_name); + d_printf(_("Trust to domain %s established\n"), domain_name); return 0; } @@ -5673,10 +5725,10 @@ static int rpc_trustdom_revoke(struct net_context *c, int argc, int rc = -1; if (argc < 1 || c->display_usage) { - d_printf("Usage:\n" - "net rpc trustdom revoke <domain_name>\n" - " Revoke trust relationship\n" - " domain_name\tName of domain to revoke trust\n"); + d_printf(_("Usage:\n" + "net rpc trustdom revoke <domain_name>\n" + " Revoke trust relationship\n" + " domain_name\tName of domain to revoke trust\n")); return -1; } @@ -5808,9 +5860,9 @@ static int rpc_trustdom_vampire(struct net_context *c, int argc, fstring pdc_name; if (c->display_usage) { - d_printf("Usage:\n" - "net rpc trustdom vampire\n" - " Vampire trust relationship from remote server\n"); + d_printf(_("Usage:\n" + "net rpc trustdom vampire\n" + " Vampire trust relationship from remote server\n")); return 0; } @@ -5884,7 +5936,7 @@ static int rpc_trustdom_vampire(struct net_context *c, int argc, * the end of enumeration is reached */ - d_printf("Vampire trusted domains:\n\n"); + d_printf(_("Vampire trusted domains:\n\n")); do { nt_status = rpccli_lsa_EnumTrustDom(pipe_hnd, mem_ctx, @@ -5919,7 +5971,7 @@ static int rpc_trustdom_vampire(struct net_context *c, int argc, * in case of no trusted domains say something rather * than just display blank line */ - if (!dom_list.count) d_printf("none\n"); + if (!dom_list.count) d_printf(_("none\n")); } while (NT_STATUS_EQUAL(nt_status, STATUS_MORE_ENTRIES)); @@ -5965,9 +6017,9 @@ static int rpc_trustdom_list(struct net_context *c, int argc, const char **argv) struct samr_SamArray *trusts = NULL; if (c->display_usage) { - d_printf("Usage:\n" - "net rpc trustdom list\n" - " List trust relationships\n"); + d_printf(_("Usage:\n" + "net rpc trustdom list\n" + " List trust relationships\n")); return 0; } @@ -6041,7 +6093,7 @@ static int rpc_trustdom_list(struct net_context *c, int argc, const char **argv) * the end of enumeration is reached */ - d_printf("Trusted domains list:\n\n"); + d_printf(_("Trusted domains list:\n\n")); do { nt_status = rpccli_lsa_EnumTrustDom(pipe_hnd, mem_ctx, @@ -6066,7 +6118,7 @@ static int rpc_trustdom_list(struct net_context *c, int argc, const char **argv) * in case of no trusted domains say something rather * than just display blank line */ - if (!dom_list.count) d_printf("none\n"); + if (!dom_list.count) d_printf(_("none\n")); } while (NT_STATUS_EQUAL(nt_status, STATUS_MORE_ENTRIES)); @@ -6086,7 +6138,7 @@ static int rpc_trustdom_list(struct net_context *c, int argc, const char **argv) * Listing trusting domains (stored in passdb backend, if local) */ - d_printf("\nTrusting domains list:\n\n"); + d_printf(_("\nTrusting domains list:\n\n")); /* * Open \PIPE\samr and get needed policy handles @@ -6188,13 +6240,14 @@ static int rpc_trustdom_list(struct net_context *c, int argc, const char **argv) &ndr_table_lsarpc.syntax_id, 0, rpc_query_domain_sid, argc, argv)) - d_fprintf(stderr, "couldn't get domain's sid\n"); + d_fprintf(stderr, + _("couldn't get domain's sid\n")); cli_shutdown(remote_cli); } else { - d_fprintf(stderr, "domain controller is not " - "responding: %s\n", + d_fprintf(stderr, _("domain controller is not " + "responding: %s\n"), nt_errstr(nt_status)); }; }; @@ -6237,49 +6290,49 @@ static int rpc_trustdom(struct net_context *c, int argc, const char **argv) "add", rpc_trustdom_add, NET_TRANSPORT_RPC, - "Add trusted domain's account", - "net rpc trustdom add\n" - " Add trusted domain's account" + N_("Add trusted domain's account"), + N_("net rpc trustdom add\n" + " Add trusted domain's account") }, { "del", rpc_trustdom_del, NET_TRANSPORT_RPC, - "Remove trusted domain's account", - "net rpc trustdom del\n" - " Remove trusted domain's account" + N_("Remove trusted domain's account"), + N_("net rpc trustdom del\n" + " Remove trusted domain's account") }, { "establish", rpc_trustdom_establish, NET_TRANSPORT_RPC, - "Establish trust relationship", - "net rpc trustdom establish\n" - " Establish trust relationship" + N_("Establish trust relationship"), + N_("net rpc trustdom establish\n" + " Establish trust relationship") }, { "revoke", rpc_trustdom_revoke, NET_TRANSPORT_RPC, - "Revoke trust relationship", - "net rpc trustdom revoke\n" - " Revoke trust relationship" + N_("Revoke trust relationship"), + N_("net rpc trustdom revoke\n" + " Revoke trust relationship") }, { "list", rpc_trustdom_list, NET_TRANSPORT_RPC, - "List domain trusts", - "net rpc trustdom list\n" - " List domain trusts" + N_("List domain trusts"), + N_("net rpc trustdom list\n" + " List domain trusts") }, { "vampire", rpc_trustdom_vampire, NET_TRANSPORT_RPC, - "Vampire trusts from remote server", - "net rpc trustdom vampire\n" - " Vampire trusts from remote server" + N_("Vampire trusts from remote server"), + N_("net rpc trustdom vampire\n" + " Vampire trusts from remote server") }, {NULL, NULL, 0, NULL, NULL} }; @@ -6330,9 +6383,9 @@ bool net_rpc_check(struct net_context *c, unsigned flags) /* dump sam database via samsync rpc calls */ static int rpc_samdump(struct net_context *c, int argc, const char **argv) { if (c->display_usage) { - d_printf("Usage:\n" - "net rpc samdump\n" - " Dump remote SAM database\n"); + d_printf(_("Usage:\n" + "net rpc samdump\n" + " Dump remote SAM database\n")); return 0; } @@ -6349,25 +6402,27 @@ static int rpc_vampire(struct net_context *c, int argc, const char **argv) "ldif", rpc_vampire_ldif, NET_TRANSPORT_RPC, - "Dump remote SAM database to ldif", - "net rpc vampire ldif\n" - " Dump remote SAM database to LDIF file or stdout" + N_("Dump remote SAM database to ldif"), + N_("net rpc vampire ldif\n" + " Dump remote SAM database to LDIF file or " + "stdout") }, { "keytab", rpc_vampire_keytab, NET_TRANSPORT_RPC, - "Dump remote SAM database to Kerberos Keytab", - "net rpc vampire keytab\n" - " Dump remote SAM database to Kerberos keytab file" + N_("Dump remote SAM database to Kerberos Keytab"), + N_("net rpc vampire keytab\n" + " Dump remote SAM database to Kerberos keytab " + "file") }, { "passdb", rpc_vampire_passdb, NET_TRANSPORT_RPC, - "Dump remote SAM database to passdb", - "net rpc vampire passdb\n" - " Dump remote SAM database to passdb" + N_("Dump remote SAM database to passdb"), + N_("net rpc vampire passdb\n" + " Dump remote SAM database to passdb") }, {NULL, NULL, 0, NULL, NULL} @@ -6375,9 +6430,9 @@ static int rpc_vampire(struct net_context *c, int argc, const char **argv) if (argc == 0) { if (c->display_usage) { - d_printf("Usage:\n" - "net rpc vampire\n" - " Vampire remote SAM database\n"); + d_printf(_("Usage:\n" + "net rpc vampire\n" + " Vampire remote SAM database\n")); return 0; } @@ -6411,14 +6466,14 @@ static int rpc_printer_migrate_all(struct net_context *c, int argc, int ret; if (c->display_usage) { - d_printf("Usage:\n" - "net rpc printer migrate all\n" - " Migrate everything from a print server\n"); + d_printf(_("Usage:\n" + "net rpc printer migrate all\n" + " Migrate everything from a print server\n")); return 0; } if (!c->opt_host) { - d_printf("no server to migrate\n"); + d_printf(_("no server to migrate\n")); return -1; } @@ -6465,14 +6520,14 @@ static int rpc_printer_migrate_drivers(struct net_context *c, int argc, const char **argv) { if (c->display_usage) { - d_printf("Usage:\n" - "net rpc printer migrate drivers\n" - " Migrate print-drivers from a print-server\n"); + d_printf(_("Usage:\n" + "net rpc printer migrate drivers\n" + " Migrate print-drivers from a print-server\n")); return 0; } if (!c->opt_host) { - d_printf("no server to migrate\n"); + d_printf(_("no server to migrate\n")); return -1; } @@ -6495,14 +6550,14 @@ static int rpc_printer_migrate_forms(struct net_context *c, int argc, const char **argv) { if (c->display_usage) { - d_printf("Usage:\n" - "net rpc printer migrate forms\n" - " Migrate print-forms from a print-server\n"); + d_printf(_("Usage:\n" + "net rpc printer migrate forms\n" + " Migrate print-forms from a print-server\n")); return 0; } if (!c->opt_host) { - d_printf("no server to migrate\n"); + d_printf(_("no server to migrate\n")); return -1; } @@ -6525,14 +6580,14 @@ static int rpc_printer_migrate_printers(struct net_context *c, int argc, const char **argv) { if (c->display_usage) { - d_printf("Usage:\n" - "net rpc printer migrate printers\n" - " Migrate printers from a print-server\n"); + d_printf(_("Usage:\n" + "net rpc printer migrate printers\n" + " Migrate printers from a print-server\n")); return 0; } if (!c->opt_host) { - d_printf("no server to migrate\n"); + d_printf(_("no server to migrate\n")); return -1; } @@ -6555,14 +6610,14 @@ static int rpc_printer_migrate_security(struct net_context *c, int argc, const char **argv) { if (c->display_usage) { - d_printf("Usage:\n" - "net rpc printer migrate security\n" - " Migrate printer-ACLs from a print-server\n"); + d_printf(_("Usage:\n" + "net rpc printer migrate security\n" + " Migrate printer-ACLs from a print-server\n")); return 0; } if (!c->opt_host) { - d_printf("no server to migrate\n"); + d_printf(_("no server to migrate\n")); return -1; } @@ -6585,14 +6640,15 @@ static int rpc_printer_migrate_settings(struct net_context *c, int argc, const char **argv) { if (c->display_usage) { - d_printf("Usage:\n" - "net rpc printer migrate settings\n" - " Migrate printer-settings from a print-server\n"); + d_printf(_("Usage:\n" + "net rpc printer migrate settings\n" + " Migrate printer-settings from a " + "print-server\n")); return 0; } if (!c->opt_host) { - d_printf("no server to migrate\n"); + d_printf(_("no server to migrate\n")); return -1; } @@ -6622,49 +6678,49 @@ int rpc_printer_migrate(struct net_context *c, int argc, const char **argv) "all", rpc_printer_migrate_all, NET_TRANSPORT_RPC, - "Migrate all from remote to local print server", - "net rpc printer migrate all\n" - " Migrate all from remote to local print server" + N_("Migrate all from remote to local print server"), + N_("net rpc printer migrate all\n" + " Migrate all from remote to local print server") }, { "drivers", rpc_printer_migrate_drivers, NET_TRANSPORT_RPC, - "Migrate drivers to local server", - "net rpc printer migrate drivers\n" - " Migrate drivers to local server" + N_("Migrate drivers to local server"), + N_("net rpc printer migrate drivers\n" + " Migrate drivers to local server") }, { "forms", rpc_printer_migrate_forms, NET_TRANSPORT_RPC, - "Migrate froms to local server", - "net rpc printer migrate forms\n" - " Migrate froms to local server" + N_("Migrate froms to local server"), + N_("net rpc printer migrate forms\n" + " Migrate froms to local server") }, { "printers", rpc_printer_migrate_printers, NET_TRANSPORT_RPC, - "Migrate printers to local server", - "net rpc printer migrate printers\n" - " Migrate printers to local server" + N_("Migrate printers to local server"), + N_("net rpc printer migrate printers\n" + " Migrate printers to local server") }, { "security", rpc_printer_migrate_security, NET_TRANSPORT_RPC, - "Mirgate printer ACLs to local server", - "net rpc printer migrate security\n" - " Mirgate printer ACLs to local server" + N_("Mirgate printer ACLs to local server"), + N_("net rpc printer migrate security\n" + " Mirgate printer ACLs to local server") }, { "settings", rpc_printer_migrate_settings, NET_TRANSPORT_RPC, - "Migrate printer settings to local server", - "net rpc printer migrate settings\n" - " Migrate printer settings to local server" + N_("Migrate printer settings to local server"), + N_("net rpc printer migrate settings\n" + " Migrate printer settings to local server") }, {NULL, NULL, 0, NULL, NULL} }; @@ -6686,9 +6742,9 @@ int rpc_printer_migrate(struct net_context *c, int argc, const char **argv) static int rpc_printer_list(struct net_context *c, int argc, const char **argv) { if (c->display_usage) { - d_printf("Usage:\n" - "net rpc printer list\n" - " List printers on a remote RPC server\n"); + d_printf(_("Usage:\n" + "net rpc printer list\n" + " List printers on a remote RPC server\n")); return 0; } @@ -6711,9 +6767,9 @@ static int rpc_printer_driver_list(struct net_context *c, int argc, const char **argv) { if (c->display_usage) { - d_printf("Usage:\n" - "net rpc printer driver\n" - " List printer-drivers on a remote RPC server\n"); + d_printf(_("Usage:\n" + "net rpc printer driver\n" + " List printer-drivers on a remote RPC server\n")); return 0; } @@ -6736,9 +6792,9 @@ static int rpc_printer_publish_publish(struct net_context *c, int argc, const char **argv) { if (c->display_usage) { - d_printf("Usage:\n" - "net rpc printer publish publish\n" - " Publish printer in ADS via MSRPC\n"); + d_printf(_("Usage:\n" + "net rpc printer publish publish\n" + " Publish printer in ADS via MSRPC\n")); return 0; } @@ -6760,9 +6816,9 @@ static int rpc_printer_publish_publish(struct net_context *c, int argc, static int rpc_printer_publish_update(struct net_context *c, int argc, const char **argv) { if (c->display_usage) { - d_printf("Usage:\n" - "net rpc printer publish update\n" - " Update printer in ADS via MSRPC\n"); + d_printf(_("Usage:\n" + "net rpc printer publish update\n" + " Update printer in ADS via MSRPC\n")); return 0; } @@ -6785,9 +6841,9 @@ static int rpc_printer_publish_unpublish(struct net_context *c, int argc, const char **argv) { if (c->display_usage) { - d_printf("Usage:\n" - "net rpc printer publish unpublish\n" - " UnPublish printer in ADS via MSRPC\n"); + d_printf(_("Usage:\n" + "net rpc printer publish unpublish\n" + " UnPublish printer in ADS via MSRPC\n")); return 0; } @@ -6810,9 +6866,9 @@ static int rpc_printer_publish_list(struct net_context *c, int argc, const char **argv) { if (c->display_usage) { - d_printf("Usage:\n" - "net rpc printer publish list\n" - " List published printers via MSRPC\n"); + d_printf(_("Usage:\n" + "net rpc printer publish list\n" + " List published printers via MSRPC\n")); return 0; } @@ -6841,43 +6897,44 @@ static int rpc_printer_publish(struct net_context *c, int argc, "publish", rpc_printer_publish_publish, NET_TRANSPORT_RPC, - "Publish printer in AD", - "net rpc printer publish publish\n" - " Publish printer in AD" + N_("Publish printer in AD"), + N_("net rpc printer publish publish\n" + " Publish printer in AD") }, { "update", rpc_printer_publish_update, NET_TRANSPORT_RPC, - "Update printer in AD", - "net rpc printer publish update\n" - " Update printer in AD" + N_("Update printer in AD"), + N_("net rpc printer publish update\n" + " Update printer in AD") }, { "unpublish", rpc_printer_publish_unpublish, NET_TRANSPORT_RPC, - "Unpublish printer", - "net rpc printer publish unpublish\n" - " Unpublish printer" + N_("Unpublish printer"), + N_("net rpc printer publish unpublish\n" + " Unpublish printer") }, { "list", rpc_printer_publish_list, NET_TRANSPORT_RPC, - "List published printers", - "net rpc printer publish list\n" - " List published printers" + N_("List published printers"), + N_("net rpc printer publish list\n" + " List published printers") }, {NULL, NULL, 0, NULL, NULL} }; if (argc == 0) { if (c->display_usage) { - d_printf("Usage:\n"); - d_printf("net rpc printer publish\n" - " List published printers\n" - " Alias of net rpc printer publish list\n"); + d_printf(_("Usage:\n")); + d_printf(_("net rpc printer publish\n" + " List published printers\n" + " Alias of net rpc printer publish " + "list\n")); net_display_usage_from_functable(func); return 0; } @@ -6901,31 +6958,31 @@ static int rpc_printer_publish(struct net_context *c, int argc, **/ int rpc_printer_usage(struct net_context *c, int argc, const char **argv) { - d_printf("net rpc printer LIST [printer] [misc. options] [targets]\n" - "\tlists all printers on print-server\n\n"); - d_printf("net rpc printer DRIVER [printer] [misc. options] [targets]\n" - "\tlists all printer-drivers on print-server\n\n"); - d_printf("net rpc printer PUBLISH action [printer] [misc. options] [targets]\n" - "\tpublishes printer settings in Active Directory\n" - "\taction can be one of PUBLISH, UPDATE, UNPUBLISH or LIST\n\n"); - d_printf("net rpc printer MIGRATE PRINTERS [printer] [misc. options] [targets]" - "\n\tmigrates printers from remote to local server\n\n"); - d_printf("net rpc printer MIGRATE SETTINGS [printer] [misc. options] [targets]" - "\n\tmigrates printer-settings from remote to local server\n\n"); - d_printf("net rpc printer MIGRATE DRIVERS [printer] [misc. options] [targets]" - "\n\tmigrates printer-drivers from remote to local server\n\n"); - d_printf("net rpc printer MIGRATE FORMS [printer] [misc. options] [targets]" - "\n\tmigrates printer-forms from remote to local server\n\n"); - d_printf("net rpc printer MIGRATE SECURITY [printer] [misc. options] [targets]" - "\n\tmigrates printer-ACLs from remote to local server\n\n"); - d_printf("net rpc printer MIGRATE ALL [printer] [misc. options] [targets]" - "\n\tmigrates drivers, forms, queues, settings and acls from\n" - "\tremote to local print-server\n\n"); + d_printf(_("net rpc printer LIST [printer] [misc. options] [targets]\n" + "\tlists all printers on print-server\n\n")); + d_printf(_("net rpc printer DRIVER [printer] [misc. options] [targets]\n" + "\tlists all printer-drivers on print-server\n\n")); + d_printf(_("net rpc printer PUBLISH action [printer] [misc. options] [targets]\n" + "\tpublishes printer settings in Active Directory\n" + "\taction can be one of PUBLISH, UPDATE, UNPUBLISH or LIST\n\n")); + d_printf(_("net rpc printer MIGRATE PRINTERS [printer] [misc. options] [targets]" + "\n\tmigrates printers from remote to local server\n\n")); + d_printf(_("net rpc printer MIGRATE SETTINGS [printer] [misc. options] [targets]" + "\n\tmigrates printer-settings from remote to local server\n\n")); + d_printf(_("net rpc printer MIGRATE DRIVERS [printer] [misc. options] [targets]" + "\n\tmigrates printer-drivers from remote to local server\n\n")); + d_printf(_("net rpc printer MIGRATE FORMS [printer] [misc. options] [targets]" + "\n\tmigrates printer-forms from remote to local server\n\n")); + d_printf(_("net rpc printer MIGRATE SECURITY [printer] [misc. options] [targets]" + "\n\tmigrates printer-ACLs from remote to local server\n\n")); + d_printf(_("net rpc printer MIGRATE ALL [printer] [misc. options] [targets]" + "\n\tmigrates drivers, forms, queues, settings and acls from\n" + "\tremote to local print-server\n\n")); net_common_methods_usage(c, argc, argv); net_common_flags_usage(c, argc, argv); - d_printf( + d_printf(_( "\t-v or --verbose\t\t\tgive verbose output\n" - "\t --destination\t\tmigration target server (default: localhost)\n"); + "\t --destination\t\tmigration target server (default: localhost)\n")); return -1; } @@ -6945,42 +7002,42 @@ int net_rpc_printer(struct net_context *c, int argc, const char **argv) "list", rpc_printer_list, NET_TRANSPORT_RPC, - "List all printers on print server", - "net rpc printer list\n" - " List all printers on print server" + N_("List all printers on print server"), + N_("net rpc printer list\n" + " List all printers on print server") }, { "migrate", rpc_printer_migrate, NET_TRANSPORT_RPC, - "Migrate printer to local server", - "net rpc printer migrate\n" - " Migrate printer to local server" + N_("Migrate printer to local server"), + N_("net rpc printer migrate\n" + " Migrate printer to local server") }, { "driver", rpc_printer_driver_list, NET_TRANSPORT_RPC, - "List printer drivers", - "net rpc printer driver\n" - " List printer drivers" + N_("List printer drivers"), + N_("net rpc printer driver\n" + " List printer drivers") }, { "publish", rpc_printer_publish, NET_TRANSPORT_RPC, - "Publish printer in AD", - "net rpc printer publish\n" - " Publish printer in AD" + N_("Publish printer in AD"), + N_("net rpc printer publish\n" + " Publish printer in AD") }, {NULL, NULL, 0, NULL, NULL} }; if (argc == 0) { if (c->display_usage) { - d_printf("Usage:\n"); - d_printf("net rpc printer\n" - " List printers\n"); + d_printf(_("Usage:\n")); + d_printf(_("net rpc printer\n" + " List printers\n")); net_display_usage_from_functable(func); return 0; } @@ -7010,178 +7067,178 @@ int net_rpc(struct net_context *c, int argc, const char **argv) "audit", net_rpc_audit, NET_TRANSPORT_RPC, - "Modify global audit settings", - "net rpc audit\n" - " Modify global audit settings" + N_("Modify global audit settings"), + N_("net rpc audit\n" + " Modify global audit settings") }, { "info", net_rpc_info, NET_TRANSPORT_RPC, - "Show basic info about a domain", - "net rpc info\n" - " Show basic info about a domain" + N_("Show basic info about a domain"), + N_("net rpc info\n" + " Show basic info about a domain") }, { "join", net_rpc_join, NET_TRANSPORT_RPC, - "Join a domain", - "net rpc join\n" - " Join a domain" + N_("Join a domain"), + N_("net rpc join\n" + " Join a domain") }, { "oldjoin", net_rpc_oldjoin, NET_TRANSPORT_RPC, - "Join a domain created in server manager", - "net rpc oldjoin\n" - " Join a domain created in server manager" + N_("Join a domain created in server manager"), + N_("net rpc oldjoin\n" + " Join a domain created in server manager") }, { "testjoin", net_rpc_testjoin, NET_TRANSPORT_RPC, - "Test that a join is valid", - "net rpc testjoin\n" - " Test that a join is valid" + N_("Test that a join is valid"), + N_("net rpc testjoin\n" + " Test that a join is valid") }, { "user", net_rpc_user, NET_TRANSPORT_RPC, - "List/modify users", - "net rpc user\n" - " List/modify users" + N_("List/modify users"), + N_("net rpc user\n" + " List/modify users") }, { "password", rpc_user_password, NET_TRANSPORT_RPC, - "Change a user password", - "net rpc password\n" - " Change a user password\n" - " Alias for net rpc user password" + N_("Change a user password"), + N_("net rpc password\n" + " Change a user password\n" + " Alias for net rpc user password") }, { "group", net_rpc_group, NET_TRANSPORT_RPC, - "List/modify groups", - "net rpc group\n" - " List/modify groups" + N_("List/modify groups"), + N_("net rpc group\n" + " List/modify groups") }, { "share", net_rpc_share, NET_TRANSPORT_RPC, - "List/modify shares", - "net rpc share\n" - " List/modify shares" + N_("List/modify shares"), + N_("net rpc share\n" + " List/modify shares") }, { "file", net_rpc_file, NET_TRANSPORT_RPC, - "List open files", - "net rpc file\n" - " List open files" + N_("List open files"), + N_("net rpc file\n" + " List open files") }, { "printer", net_rpc_printer, NET_TRANSPORT_RPC, - "List/modify printers", - "net rpc printer\n" - " List/modify printers" + N_("List/modify printers"), + N_("net rpc printer\n" + " List/modify printers") }, { "changetrustpw", net_rpc_changetrustpw, NET_TRANSPORT_RPC, - "Change trust account password", - "net rpc changetrustpw\n" - " Change trust account password" + N_("Change trust account password"), + N_("net rpc changetrustpw\n" + " Change trust account password") }, { "trustdom", rpc_trustdom, NET_TRANSPORT_RPC, - "Modify domain trusts", - "net rpc trustdom\n" - " Modify domain trusts" + N_("Modify domain trusts"), + N_("net rpc trustdom\n" + " Modify domain trusts") }, { "abortshutdown", rpc_shutdown_abort, NET_TRANSPORT_RPC, - "Abort a remote shutdown", - "net rpc abortshutdown\n" - " Abort a remote shutdown" + N_("Abort a remote shutdown"), + N_("net rpc abortshutdown\n" + " Abort a remote shutdown") }, { "shutdown", rpc_shutdown, NET_TRANSPORT_RPC, - "Shutdown a remote server", - "net rpc shutdown\n" - " Shutdown a remote server" + N_("Shutdown a remote server"), + N_("net rpc shutdown\n" + " Shutdown a remote server") }, { "samdump", rpc_samdump, NET_TRANSPORT_RPC, - "Dump SAM data of remote NT PDC", - "net rpc samdump\n" - " Dump SAM data of remote NT PDC" + N_("Dump SAM data of remote NT PDC"), + N_("net rpc samdump\n" + " Dump SAM data of remote NT PDC") }, { "vampire", rpc_vampire, NET_TRANSPORT_RPC, - "Sync a remote NT PDC's data into local passdb", - "net rpc vampire\n" - " Sync a remote NT PDC's data into local passdb" + N_("Sync a remote NT PDC's data into local passdb"), + N_("net rpc vampire\n" + " Sync a remote NT PDC's data into local passdb") }, { "getsid", net_rpc_getsid, NET_TRANSPORT_RPC, - "Fetch the domain sid into local secrets.tdb", - "net rpc getsid\n" - " Fetch the domain sid into local secrets.tdb" + N_("Fetch the domain sid into local secrets.tdb"), + N_("net rpc getsid\n" + " Fetch the domain sid into local secrets.tdb") }, { "rights", net_rpc_rights, NET_TRANSPORT_RPC, - "Manage privileges assigned to SID", - "net rpc rights\n" - " Manage privileges assigned to SID" + N_("Manage privileges assigned to SID"), + N_("net rpc rights\n" + " Manage privileges assigned to SID") }, { "service", net_rpc_service, NET_TRANSPORT_RPC, - "Start/stop/query remote services", - "net rpc service\n" - " Start/stop/query remote services" + N_("Start/stop/query remote services"), + N_("net rpc service\n" + " Start/stop/query remote services") }, { "registry", net_rpc_registry, NET_TRANSPORT_RPC, - "Manage registry hives", - "net rpc registry\n" - " Manage registry hives" + N_("Manage registry hives"), + N_("net rpc registry\n" + " Manage registry hives") }, { "shell", net_rpc_shell, NET_TRANSPORT_RPC, - "Open interactive shell on remote server", - "net rpc shell\n" - " Open interactive shell on remote server" + N_("Open interactive shell on remote server"), + N_("net rpc shell\n" + " Open interactive shell on remote server") }, {NULL, NULL, 0, NULL, NULL} }; diff --git a/source3/utils/net_rpc_audit.c b/source3/utils/net_rpc_audit.c index 823fe06f1a..f0b440d3be 100644 --- a/source3/utils/net_rpc_audit.c +++ b/source3/utils/net_rpc_audit.c @@ -24,13 +24,13 @@ static int net_help_audit(struct net_context *c, int argc, const char **argv) { - d_printf("net rpc audit list View configured Auditing policies\n"); - d_printf("net rpc audit enable Enable Auditing\n"); - d_printf("net rpc audit disable Disable Auditing\n"); - d_printf("net rpc audit get <category> View configured Auditing policy setting\n"); - d_printf("net rpc audit set <category> <policy> Set Auditing policies\n\n"); - d_printf("\tcategory can be one of: SYSTEM, LOGON, OBJECT, PRIVILEGE, PROCESS, POLICY, SAM, DIRECTORY or ACCOUNT\n"); - d_printf("\tpolicy can be one of: SUCCESS, FAILURE, ALL or NONE\n\n"); + d_printf(_("net rpc audit list View configured Auditing policies\n")); + d_printf(_("net rpc audit enable Enable Auditing\n")); + d_printf(_("net rpc audit disable Disable Auditing\n")); + d_printf(_("net rpc audit get <category> View configured Auditing policy setting\n")); + d_printf(_("net rpc audit set <category> <policy> Set Auditing policies\n\n")); + d_printf(_("\tcategory can be one of: SYSTEM, LOGON, OBJECT, PRIVILEGE, PROCESS, POLICY, SAM, DIRECTORY or ACCOUNT\n")); + d_printf(_("\tpolicy can be one of: SUCCESS, FAILURE, ALL or NONE\n\n")); return -1; } @@ -44,10 +44,10 @@ static void print_auditing_category(const char *policy, const char *value) int pad_len, col_len = 30; if (policy == NULL) { - policy = "Unknown"; + policy = N_("Unknown"); } if (value == NULL) { - value = "Invalid"; + value = N_("Invalid"); } /* calculate padding space for d_printf to look nicer */ @@ -55,7 +55,7 @@ static void print_auditing_category(const char *policy, const char *value) padding[pad_len] = 0; do padding[--pad_len] = ' '; while (pad_len > 0); - d_printf("\t%s%s%s\n", policy, padding, value); + d_printf(_("\t%s%s%s\n"), policy, padding, value); } /******************************************************************** @@ -77,13 +77,13 @@ static NTSTATUS rpc_audit_get_internal(struct net_context *c, uint32_t audit_category; if (argc < 1 || argc > 2) { - d_printf("insufficient arguments\n"); + d_printf(_("insufficient arguments\n")); net_help_audit(c, argc, argv); return NT_STATUS_INVALID_PARAMETER; } if (!get_audit_category_from_param(argv[0], &audit_category)) { - d_printf("invalid auditing category: %s\n", argv[0]); + d_printf(_("invalid auditing category: %s\n"), argv[0]); return NT_STATUS_INVALID_PARAMETER; } @@ -119,7 +119,7 @@ static NTSTATUS rpc_audit_get_internal(struct net_context *c, done: if (!NT_STATUS_IS_OK(result)) { - d_printf("failed to get auditing policy: %s\n", + d_printf(_("failed to get auditing policy: %s\n"), nt_errstr(result)); } @@ -144,13 +144,13 @@ static NTSTATUS rpc_audit_set_internal(struct net_context *c, uint32_t audit_policy, audit_category; if (argc < 2 || argc > 3) { - d_printf("insufficient arguments\n"); + d_printf(_("insufficient arguments\n")); net_help_audit(c, argc, argv); return NT_STATUS_INVALID_PARAMETER; } if (!get_audit_category_from_param(argv[0], &audit_category)) { - d_printf("invalid auditing category: %s\n", argv[0]); + d_printf(_("invalid auditing category: %s\n"), argv[0]); return NT_STATUS_INVALID_PARAMETER; } @@ -165,7 +165,7 @@ static NTSTATUS rpc_audit_set_internal(struct net_context *c, } else if (strequal(argv[1], "None")) { audit_policy = LSA_AUDIT_POLICY_CLEAR; } else { - d_printf("invalid auditing policy: %s\n", argv[1]); + d_printf(_("invalid auditing policy: %s\n"), argv[1]); return NT_STATUS_INVALID_PARAMETER; } @@ -209,7 +209,8 @@ static NTSTATUS rpc_audit_set_internal(struct net_context *c, done: if (!NT_STATUS_IS_OK(result)) { - d_printf("failed to set audit policy: %s\n", nt_errstr(result)); + d_printf(_("failed to set audit policy: %s\n"), + nt_errstr(result)); } return result; @@ -257,8 +258,10 @@ static NTSTATUS rpc_audit_enable_internal_ext(struct rpc_pipe_client *pipe_hnd, done: if (!NT_STATUS_IS_OK(result)) { - d_printf("failed to %s audit policy: %s\n", - enable ? "enable":"disable", nt_errstr(result)); + d_printf(_("%s: %s\n"), + enable ? _("failed to enable audit policy"): + _("failed to disable audit policy"), + nt_errstr(result)); } return result; @@ -329,22 +332,23 @@ static NTSTATUS rpc_audit_list_internal(struct net_context *c, goto done; } - printf("Auditing:\t\t"); + printf(_("Auditing:\t\t")); switch (info->audit_events.auditing_mode) { case true: - printf("Enabled"); + printf(_("Enabled")); break; case false: - printf("Disabled"); + printf(_("Disabled")); break; default: - printf("unknown (%d)", info->audit_events.auditing_mode); + printf(_("unknown (%d)"), + info->audit_events.auditing_mode); break; } printf("\n"); - printf("Auditing categories:\t%d\n", info->audit_events.count); - printf("Auditing settings:\n"); + printf(_("Auditing categories:\t%d\n"), info->audit_events.count); + printf(_("Auditing settings:\n")); for (i=0; i < info->audit_events.count; i++) { const char *val = audit_policy_str(mem_ctx, info->audit_events.settings[i]); @@ -354,7 +358,7 @@ static NTSTATUS rpc_audit_list_internal(struct net_context *c, done: if (!NT_STATUS_IS_OK(result)) { - d_printf("failed to list auditing policies: %s\n", + d_printf(_("failed to list auditing policies: %s\n"), nt_errstr(result)); } @@ -367,9 +371,9 @@ static NTSTATUS rpc_audit_list_internal(struct net_context *c, static int rpc_audit_get(struct net_context *c, int argc, const char **argv) { if (c->display_usage) { - d_printf("Usage:\n" - "net rpc audit get\n" - " View configured audit setting\n"); + d_printf(_("Usage:\n" + "net rpc audit get\n" + " View configured audit setting\n")); return 0; } @@ -383,9 +387,9 @@ static int rpc_audit_get(struct net_context *c, int argc, const char **argv) static int rpc_audit_set(struct net_context *c, int argc, const char **argv) { if (c->display_usage) { - d_printf("Usage:\n" - "net rpc audit set\n" - " Set audit policies\n"); + d_printf(_("Usage:\n" + "net rpc audit set\n" + " Set audit policies\n")); return 0; } @@ -399,9 +403,9 @@ static int rpc_audit_set(struct net_context *c, int argc, const char **argv) static int rpc_audit_enable(struct net_context *c, int argc, const char **argv) { if (c->display_usage) { - d_printf("Usage:\n" - "net rpc audit enable\n" - " Enable auditing\n"); + d_printf(_("Usage:\n" + "net rpc audit enable\n" + " Enable auditing\n")); return 0; } @@ -415,9 +419,9 @@ static int rpc_audit_enable(struct net_context *c, int argc, const char **argv) static int rpc_audit_disable(struct net_context *c, int argc, const char **argv) { if (c->display_usage) { - d_printf("Usage:\n" - "net rpc audit disable\n" - " Disable auditing\n"); + d_printf(_("Usage:\n" + "net rpc audit disable\n" + " Disable auditing\n")); return 0; } @@ -431,9 +435,9 @@ static int rpc_audit_disable(struct net_context *c, int argc, const char **argv) static int rpc_audit_list(struct net_context *c, int argc, const char **argv) { if (c->display_usage) { - d_printf("Usage:\n" - "net rpc audit list\n" - " List auditing settings\n"); + d_printf(_("Usage:\n" + "net rpc audit list\n" + " List auditing settings\n")); return 0; } @@ -451,41 +455,41 @@ int net_rpc_audit(struct net_context *c, int argc, const char **argv) "get", rpc_audit_get, NET_TRANSPORT_RPC, - "View configured auditing settings", - "net rpc audit get\n" - " View configured auditing settings" + N_("View configured auditing settings"), + N_("net rpc audit get\n" + " View configured auditing settings") }, { "set", rpc_audit_set, NET_TRANSPORT_RPC, - "Set auditing policies", - "net rpc audit set\n" - " Set auditing policies" + N_("Set auditing policies"), + N_("net rpc audit set\n" + " Set auditing policies") }, { "enable", rpc_audit_enable, NET_TRANSPORT_RPC, - "Enable auditing", - "net rpc audit enable\n" - " Enable auditing" + N_("Enable auditing"), + N_("net rpc audit enable\n" + " Enable auditing") }, { "disable", rpc_audit_disable, NET_TRANSPORT_RPC, - "Disable auditing", - "net rpc audit disable\n" - " Disable auditing" + N_("Disable auditing"), + N_("net rpc audit disable\n" + " Disable auditing") }, { "list", rpc_audit_list, NET_TRANSPORT_RPC, - "List configured auditing settings", - "net rpc audit list\n" - " List configured auditing settings" + N_("List configured auditing settings"), + N_("net rpc audit list\n" + " List configured auditing settings") }, {NULL, NULL, 0, NULL, NULL} }; diff --git a/source3/winbindd/wb_getpwsid.c b/source3/winbindd/wb_getpwsid.c new file mode 100644 index 0000000000..fc696cb9a1 --- /dev/null +++ b/source3/winbindd/wb_getpwsid.c @@ -0,0 +1,223 @@ +/* + Unix SMB/CIFS implementation. + async getpwsid + Copyright (C) Volker Lendecke 2009 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "includes.h" +#include "winbindd.h" +#include "librpc/gen_ndr/cli_wbint.h" + +struct wb_getpwsid_state { + struct winbindd_domain *user_domain; + struct tevent_context *ev; + struct dom_sid sid; + struct winbind_userinfo *userinfo; + struct winbindd_pw *pw; +}; + +static void wb_getpwsid_queryuser_done(struct tevent_req *subreq); +static void wb_getpwsid_lookupsid_done(struct tevent_req *subreq); +static void wb_getpwsid_sid2uid_done(struct tevent_req *subreq); +static void wb_getpwsid_sid2gid_done(struct tevent_req *subreq); + +struct tevent_req *wb_getpwsid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + const struct dom_sid *user_sid, + struct winbindd_pw *pw) +{ + struct tevent_req *req, *subreq; + struct wb_getpwsid_state *state; + + req = tevent_req_create(mem_ctx, &state, struct wb_getpwsid_state); + if (req == NULL) { + return NULL; + } + sid_copy(&state->sid, user_sid); + state->ev = ev; + state->pw = pw; + + state->user_domain = find_domain_from_sid_noinit(user_sid); + if (state->user_domain == NULL) { + tevent_req_nterror(req, NT_STATUS_NO_SUCH_USER); + return tevent_req_post(req, ev); + } + + subreq = wb_queryuser_send(state, ev, &state->sid); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, wb_getpwsid_queryuser_done, req); + return req; +} + +static void wb_getpwsid_queryuser_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct wb_getpwsid_state *state = tevent_req_data( + req, struct wb_getpwsid_state); + NTSTATUS status; + + status = wb_queryuser_recv(subreq, state, &state->userinfo); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + + if ((state->userinfo->acct_name != NULL) + && (state->userinfo->acct_name[0] != '\0')) { + /* + * QueryUser got us a name, let's got directly to the + * sid2uid step + */ + subreq = wb_sid2uid_send(state, state->ev, + &state->userinfo->user_sid); + if (tevent_req_nomem(subreq, req)) { + return; + } + tevent_req_set_callback(subreq, wb_getpwsid_sid2uid_done, req); + return; + } + + /* + * QueryUser didn't get us a name, do it via LSA. + */ + subreq = wb_lookupsid_send(state, state->ev, + &state->userinfo->user_sid); + if (tevent_req_nomem(subreq, req)) { + return; + } + tevent_req_set_callback(subreq, wb_getpwsid_lookupsid_done, req); +} + +static void wb_getpwsid_lookupsid_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct wb_getpwsid_state *state = tevent_req_data( + req, struct wb_getpwsid_state); + NTSTATUS status; + enum lsa_SidType type; + const char *domain; + + status = wb_lookupsid_recv(subreq, state->userinfo, &type, &domain, + &state->userinfo->acct_name); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + subreq = wb_sid2uid_send(state, state->ev, &state->userinfo->user_sid); + if (tevent_req_nomem(subreq, req)) { + return; + } + tevent_req_set_callback(subreq, wb_getpwsid_sid2uid_done, req); +} + +static void wb_getpwsid_sid2uid_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct wb_getpwsid_state *state = tevent_req_data( + req, struct wb_getpwsid_state); + NTSTATUS status; + + status = wb_sid2uid_recv(subreq, &state->pw->pw_uid); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + subreq = wb_sid2gid_send(state, state->ev, + &state->userinfo->group_sid); + if (tevent_req_nomem(subreq, req)) { + return; + } + tevent_req_set_callback(subreq, wb_getpwsid_sid2gid_done, req); +} + +static void wb_getpwsid_sid2gid_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct wb_getpwsid_state *state = tevent_req_data( + req, struct wb_getpwsid_state); + NTSTATUS status; + char *username; + char *mapped_name; + + status = wb_sid2gid_recv(subreq, &state->pw->pw_gid); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + + username = talloc_strdup_lower(state, state->userinfo->acct_name); + if (tevent_req_nomem(username, req)) { + return; + } + + status = normalize_name_map(state, state->user_domain, username, + &mapped_name); + + if (NT_STATUS_IS_OK(status) + || NT_STATUS_EQUAL(status, NT_STATUS_FILE_RENAMED)) { + /* + * normalize_name_map did something + */ + fstrcpy(state->pw->pw_name, mapped_name); + TALLOC_FREE(mapped_name); + } else { + fill_domain_username(state->pw->pw_name, + state->user_domain->name, + username, True); + } + fstrcpy(state->pw->pw_passwd, "*"); + fstrcpy(state->pw->pw_gecos, state->userinfo->full_name); + + if (!fillup_pw_field(lp_template_homedir(), username, + state->user_domain->name, state->pw->pw_uid, + state->pw->pw_gid, state->userinfo->homedir, + state->pw->pw_dir)) { + DEBUG(5, ("Could not compose homedir\n")); + tevent_req_nterror(req, NT_STATUS_NO_MEMORY); + return; + } + + if (!fillup_pw_field(lp_template_shell(), state->pw->pw_name, + state->user_domain->name, state->pw->pw_uid, + state->pw->pw_gid, state->userinfo->shell, + state->pw->pw_shell)) { + DEBUG(5, ("Could not compose shell\n")); + tevent_req_nterror(req, NT_STATUS_NO_MEMORY); + return; + } + + tevent_req_done(req); +} + +NTSTATUS wb_getpwsid_recv(struct tevent_req *req) +{ + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + return status; + } + return NT_STATUS_OK; +} diff --git a/source3/winbindd/wb_gettoken.c b/source3/winbindd/wb_gettoken.c new file mode 100644 index 0000000000..26189e5a97 --- /dev/null +++ b/source3/winbindd/wb_gettoken.c @@ -0,0 +1,218 @@ +/* + Unix SMB/CIFS implementation. + async gettoken + Copyright (C) Volker Lendecke 2009 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "includes.h" +#include "winbindd.h" +#include "librpc/gen_ndr/cli_wbint.h" + +struct wb_gettoken_state { + struct tevent_context *ev; + struct dom_sid usersid; + int num_sids; + struct dom_sid *sids; +}; + +static bool wb_add_rids_to_sids(TALLOC_CTX *mem_ctx, + int *pnum_sids, struct dom_sid **psids, + const struct dom_sid *domain_sid, + int num_rids, uint32_t *rids); + +static void wb_gettoken_gotgroups(struct tevent_req *subreq); +static void wb_gettoken_gotlocalgroups(struct tevent_req *subreq); +static void wb_gettoken_gotbuiltins(struct tevent_req *subreq); + +struct tevent_req *wb_gettoken_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + const struct dom_sid *sid) +{ + struct tevent_req *req, *subreq; + struct wb_gettoken_state *state; + struct winbindd_domain *domain; + + req = tevent_req_create(mem_ctx, &state, struct wb_gettoken_state); + if (req == NULL) { + return NULL; + } + sid_copy(&state->usersid, sid); + state->ev = ev; + + domain = find_domain_from_sid_noinit(sid); + if (domain == NULL) { + DEBUG(5, ("Could not find domain from SID %s\n", + sid_string_dbg(sid))); + tevent_req_nterror(req, NT_STATUS_NO_SUCH_USER); + return tevent_req_post(req, ev); + } + + subreq = wb_lookupusergroups_send(state, ev, domain, &state->usersid); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, wb_gettoken_gotgroups, req); + return req; +} + +static void wb_gettoken_gotgroups(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct wb_gettoken_state *state = tevent_req_data( + req, struct wb_gettoken_state); + struct dom_sid *sids; + struct winbindd_domain *domain; + NTSTATUS status; + + status = wb_lookupusergroups_recv(subreq, state, &state->num_sids, + &state->sids); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + + sids = talloc_realloc(state, state->sids, struct dom_sid, + state->num_sids + 1); + if (tevent_req_nomem(sids, req)) { + return; + } + memmove(&sids[1], &sids[0], state->num_sids * sizeof(sids[0])); + sid_copy(&sids[0], &state->usersid); + state->num_sids += 1; + state->sids = sids; + + /* + * Expand our domain's aliases + */ + domain = find_our_domain(); + if (domain == NULL) { + tevent_req_nterror(req, NT_STATUS_INTERNAL_ERROR); + return; + } + + subreq = wb_lookupuseraliases_send(state, state->ev, domain, + state->num_sids, state->sids); + if (tevent_req_nomem(subreq, req)) { + return; + } + tevent_req_set_callback(subreq, wb_gettoken_gotlocalgroups, req); +} + +static void wb_gettoken_gotlocalgroups(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct wb_gettoken_state *state = tevent_req_data( + req, struct wb_gettoken_state); + uint32_t num_rids; + uint32_t *rids; + struct winbindd_domain *domain; + NTSTATUS status; + + status = wb_lookupuseraliases_recv(subreq, state, &num_rids, &rids); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + domain = find_our_domain(); + if (!wb_add_rids_to_sids(state, &state->num_sids, &state->sids, + &domain->sid, num_rids, rids)) { + tevent_req_nterror(req, NT_STATUS_NO_MEMORY); + return; + } + TALLOC_FREE(rids); + + /* + * Now expand the builtin groups + */ + + domain = find_builtin_domain(); + if (domain == NULL) { + tevent_req_nterror(req, NT_STATUS_INTERNAL_ERROR); + return; + } + + subreq = wb_lookupuseraliases_send(state, state->ev, domain, + state->num_sids, state->sids); + if (tevent_req_nomem(subreq, req)) { + return; + } + tevent_req_set_callback(subreq, wb_gettoken_gotbuiltins, req); +} + +static void wb_gettoken_gotbuiltins(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct wb_gettoken_state *state = tevent_req_data( + req, struct wb_gettoken_state); + uint32_t num_rids; + uint32_t *rids; + NTSTATUS status; + + status = wb_lookupuseraliases_recv(subreq, state, &num_rids, &rids); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + if (!wb_add_rids_to_sids(state, &state->num_sids, &state->sids, + &global_sid_Builtin, num_rids, rids)) { + tevent_req_nterror(req, NT_STATUS_NO_MEMORY); + return; + } + tevent_req_done(req); +} + +NTSTATUS wb_gettoken_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, + int *num_sids, struct dom_sid **sids) +{ + struct wb_gettoken_state *state = tevent_req_data( + req, struct wb_gettoken_state); + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + return status; + } + *num_sids = state->num_sids; + *sids = talloc_move(mem_ctx, &state->sids); + return NT_STATUS_OK; +} + +static bool wb_add_rids_to_sids(TALLOC_CTX *mem_ctx, + int *pnum_sids, struct dom_sid **psids, + const struct dom_sid *domain_sid, + int num_rids, uint32_t *rids) +{ + struct dom_sid *sids; + int i; + + sids = talloc_realloc(mem_ctx, *psids, struct dom_sid, + *pnum_sids + num_rids); + if (sids == NULL) { + return false; + } + for (i=0; i<num_rids; i++) { + sid_compose(&sids[i+*pnum_sids], domain_sid, rids[i]); + } + + *pnum_sids += num_rids; + *psids = sids; + return true; +} diff --git a/source3/winbindd/wb_gid2sid.c b/source3/winbindd/wb_gid2sid.c new file mode 100644 index 0000000000..a0ae850ef8 --- /dev/null +++ b/source3/winbindd/wb_gid2sid.c @@ -0,0 +1,119 @@ +/* + Unix SMB/CIFS implementation. + async gid2sid + Copyright (C) Volker Lendecke 2009 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "includes.h" +#include "winbindd.h" +#include "librpc/gen_ndr/cli_wbint.h" + +struct wb_gid2sid_state { + struct tevent_context *ev; + char *dom_name; + struct dom_sid sid; +}; + +static void wb_gid2sid_done(struct tevent_req *subreq); + +struct tevent_req *wb_gid2sid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + gid_t gid) +{ + struct tevent_req *req, *subreq; + struct wb_gid2sid_state *state; + struct winbindd_domain *domain; + struct winbindd_child *child; + bool expired; + + req = tevent_req_create(mem_ctx, &state, struct wb_gid2sid_state); + if (req == NULL) { + return NULL; + } + + if (winbindd_use_idmap_cache() + && idmap_cache_find_gid2sid(gid, &state->sid, &expired)) { + + DEBUG(10, ("idmap_cache_find_gid2sid found %d%s\n", + (int)gid, expired ? " (expired)": "")); + + if (!expired || idmap_is_offline()) { + if (is_null_sid(&state->sid)) { + tevent_req_nterror(req, + NT_STATUS_NONE_MAPPED); + } else { + tevent_req_done(req); + } + return tevent_req_post(req, ev); + } + } + + state->dom_name = NULL; + + for (domain = domain_list(); domain != NULL; domain = domain->next) { + if (domain->have_idmap_config + && (gid >= domain->id_range_low) + && (gid <= domain->id_range_high)) { + state->dom_name = domain->name; + break; + } + } + + child = idmap_child(); + + subreq = rpccli_wbint_Gid2Sid_send( + state, ev, child->rpccli, state->dom_name, + gid, &state->sid); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, wb_gid2sid_done, req); + return req; +} + +static void wb_gid2sid_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct wb_gid2sid_state *state = tevent_req_data( + req, struct wb_gid2sid_state); + NTSTATUS status, result; + + status = rpccli_wbint_Gid2Sid_recv(subreq, state, &result); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + if (!NT_STATUS_IS_OK(result)) { + tevent_req_nterror(req, result); + return; + } + tevent_req_done(req); +} + +NTSTATUS wb_gid2sid_recv(struct tevent_req *req, struct dom_sid *sid) +{ + struct wb_gid2sid_state *state = tevent_req_data( + req, struct wb_gid2sid_state); + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + return status; + } + sid_copy(sid, &state->sid); + return NT_STATUS_OK; +} diff --git a/source3/winbindd/wb_lookupname.c b/source3/winbindd/wb_lookupname.c new file mode 100644 index 0000000000..d4e9b9ae6c --- /dev/null +++ b/source3/winbindd/wb_lookupname.c @@ -0,0 +1,104 @@ +/* + Unix SMB/CIFS implementation. + async lookupname + Copyright (C) Volker Lendecke 2009 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "includes.h" +#include "winbindd.h" +#include "librpc/gen_ndr/cli_wbint.h" + +struct wb_lookupname_state { + struct dom_sid sid; + enum lsa_SidType type; +}; + +static void wb_lookupname_done(struct tevent_req *subreq); + +struct tevent_req *wb_lookupname_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + const char *dom_name, const char *name, + uint32_t flags) +{ + struct tevent_req *req, *subreq; + struct wb_lookupname_state *state; + struct winbindd_domain *domain; + NTSTATUS status; + + req = tevent_req_create(mem_ctx, &state, struct wb_lookupname_state); + if (req == NULL) { + return NULL; + } + + domain = find_lookup_domain_from_name(dom_name); + if (domain == NULL) { + DEBUG(5, ("Could not find domain for %s\n", dom_name)); + tevent_req_nterror(req, NT_STATUS_NONE_MAPPED); + return tevent_req_post(req, ev); + } + + status = wcache_name_to_sid(domain, dom_name, name, + &state->sid, &state->type); + if (NT_STATUS_IS_OK(status)) { + tevent_req_done(req); + return tevent_req_post(req, ev); + } + + subreq = rpccli_wbint_LookupName_send( + state, ev, domain->child.rpccli, dom_name, name, flags, + &state->type, &state->sid); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, wb_lookupname_done, req); + return req; +} + +static void wb_lookupname_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct wb_lookupname_state *state = tevent_req_data( + req, struct wb_lookupname_state); + NTSTATUS status, result; + + status = rpccli_wbint_LookupName_recv(subreq, state, &result); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + if (!NT_STATUS_IS_OK(result)) { + tevent_req_nterror(req, result); + return; + } + tevent_req_done(req); +} + +NTSTATUS wb_lookupname_recv(struct tevent_req *req, struct dom_sid *sid, + enum lsa_SidType *type) +{ + struct wb_lookupname_state *state = tevent_req_data( + req, struct wb_lookupname_state); + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + return status; + } + sid_copy(sid, &state->sid); + *type = state->type; + return NT_STATUS_OK; +} diff --git a/source3/winbindd/wb_lookupsid.c b/source3/winbindd/wb_lookupsid.c new file mode 100644 index 0000000000..f258828048 --- /dev/null +++ b/source3/winbindd/wb_lookupsid.c @@ -0,0 +1,132 @@ +/* + Unix SMB/CIFS implementation. + async lookupsid + Copyright (C) Volker Lendecke 2009 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "includes.h" +#include "winbindd.h" +#include "librpc/gen_ndr/cli_wbint.h" + +struct wb_lookupsid_state { + struct tevent_context *ev; + struct winbindd_domain *lookup_domain; + struct dom_sid sid; + enum lsa_SidType type; + const char *domname; + const char *name; +}; + +static void wb_lookupsid_done(struct tevent_req *subreq); + +struct tevent_req *wb_lookupsid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + const struct dom_sid *sid) +{ + struct tevent_req *req, *subreq; + struct wb_lookupsid_state *state; + char *dom_name, *name; + NTSTATUS status; + + req = tevent_req_create(mem_ctx, &state, struct wb_lookupsid_state); + if (req == NULL) { + return NULL; + } + sid_copy(&state->sid, sid); + state->ev = ev; + + state->lookup_domain = find_lookup_domain_from_sid(sid); + if (state->lookup_domain == NULL) { + DEBUG(5, ("Could not find domain for sid %s\n", + sid_string_dbg(sid))); + tevent_req_nterror(req, NT_STATUS_NONE_MAPPED); + return tevent_req_post(req, ev); + } + + status = wcache_sid_to_name(state->lookup_domain, sid, state, + &dom_name, &name, &state->type); + if (NT_STATUS_IS_OK(status)) { + state->domname = dom_name; + state->name = name; + tevent_req_done(req); + return tevent_req_post(req, ev); + } + + subreq = rpccli_wbint_LookupSid_send( + state, ev, state->lookup_domain->child.rpccli, + &state->sid, &state->type, &state->domname, &state->name); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, wb_lookupsid_done, req); + return req; +} + +static void wb_lookupsid_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct wb_lookupsid_state *state = tevent_req_data( + req, struct wb_lookupsid_state); + struct winbindd_domain *forest_root; + NTSTATUS status, result; + + status = rpccli_wbint_LookupSid_recv(subreq, state, &result); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + if (NT_STATUS_IS_OK(result)) { + tevent_req_done(req); + return; + } + + /* + * Let's try the forest root + */ + forest_root = find_root_domain(); + if ((forest_root == NULL) || (forest_root == state->lookup_domain)) { + tevent_req_nterror(req, result); + return; + } + state->lookup_domain = forest_root; + + subreq = rpccli_wbint_LookupSid_send( + state, state->ev, state->lookup_domain->child.rpccli, + &state->sid, &state->type, &state->domname, &state->name); + if (tevent_req_nomem(subreq, req)) { + return; + } + tevent_req_set_callback(subreq, wb_lookupsid_done, req); +} + +NTSTATUS wb_lookupsid_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, + enum lsa_SidType *type, const char **domain, + const char **name) +{ + struct wb_lookupsid_state *state = tevent_req_data( + req, struct wb_lookupsid_state); + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + return status; + } + *type = state->type; + *domain = talloc_move(mem_ctx, &state->domname); + *name = talloc_move(mem_ctx, &state->name); + return NT_STATUS_OK; +} diff --git a/source3/winbindd/wb_lookupuseraliases.c b/source3/winbindd/wb_lookupuseraliases.c new file mode 100644 index 0000000000..e2e5e2da08 --- /dev/null +++ b/source3/winbindd/wb_lookupuseraliases.c @@ -0,0 +1,101 @@ +/* + Unix SMB/CIFS implementation. + async lookupuseraliases + Copyright (C) Volker Lendecke 2009 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "includes.h" +#include "winbindd.h" +#include "librpc/gen_ndr/cli_wbint.h" + +struct wb_lookupuseraliases_state { + struct tevent_context *ev; + struct wbint_SidArray sids; + struct wbint_RidArray rids; +}; + +static void wb_lookupuseraliases_done(struct tevent_req *subreq); + +struct tevent_req *wb_lookupuseraliases_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct winbindd_domain *domain, + int num_sids, + const struct dom_sid *sids) +{ + struct tevent_req *req, *subreq; + struct wb_lookupuseraliases_state *state; + NTSTATUS status; + + req = tevent_req_create(mem_ctx, &state, + struct wb_lookupuseraliases_state); + if (req == NULL) { + return NULL; + } + state->sids.num_sids = num_sids; + state->sids.sids = CONST_DISCARD(struct dom_sid *, sids); + + status = wcache_lookup_useraliases(domain, state, num_sids, sids, + &state->rids.num_rids, + &state->rids.rids); + if (NT_STATUS_IS_OK(status)) { + tevent_req_done(req); + return tevent_req_post(req, ev); + } + + subreq = rpccli_wbint_LookupUserAliases_send( + state, ev, domain->child.rpccli, &state->sids, &state->rids); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, wb_lookupuseraliases_done, req); + return req; +} + +static void wb_lookupuseraliases_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct wb_lookupuseraliases_state *state = tevent_req_data( + req, struct wb_lookupuseraliases_state); + NTSTATUS status, result; + + status = rpccli_wbint_LookupUserAliases_recv(subreq, state, &result); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + if (!NT_STATUS_IS_OK(result)) { + tevent_req_nterror(req, result); + return; + } + tevent_req_done(req); +} + +NTSTATUS wb_lookupuseraliases_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, + uint32_t *num_aliases, uint32_t **aliases) +{ + struct wb_lookupuseraliases_state *state = tevent_req_data( + req, struct wb_lookupuseraliases_state); + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + return status; + } + *num_aliases = state->rids.num_rids; + *aliases = talloc_move(mem_ctx, &state->rids.rids); + return NT_STATUS_OK; +} diff --git a/source3/winbindd/wb_lookupusergroups.c b/source3/winbindd/wb_lookupusergroups.c new file mode 100644 index 0000000000..4e96b45c57 --- /dev/null +++ b/source3/winbindd/wb_lookupusergroups.c @@ -0,0 +1,99 @@ +/* + Unix SMB/CIFS implementation. + async lookupusergroups + Copyright (C) Volker Lendecke 2009 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "includes.h" +#include "winbindd.h" +#include "librpc/gen_ndr/cli_wbint.h" + +struct wb_lookupusergroups_state { + struct tevent_context *ev; + struct dom_sid sid; + struct wbint_SidArray sids; +}; + +static void wb_lookupusergroups_done(struct tevent_req *subreq); + +struct tevent_req *wb_lookupusergroups_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct winbindd_domain *domain, + const struct dom_sid *sid) +{ + struct tevent_req *req, *subreq; + struct wb_lookupusergroups_state *state; + NTSTATUS status; + + req = tevent_req_create(mem_ctx, &state, + struct wb_lookupusergroups_state); + if (req == NULL) { + return NULL; + } + sid_copy(&state->sid, sid); + + status = wcache_lookup_usergroups(domain, state, sid, + &state->sids.num_sids, + &state->sids.sids); + if (NT_STATUS_IS_OK(status)) { + tevent_req_done(req); + return tevent_req_post(req, ev); + } + + subreq = rpccli_wbint_LookupUserGroups_send( + state, ev, domain->child.rpccli, &state->sid, &state->sids); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, wb_lookupusergroups_done, req); + return req; +} + +static void wb_lookupusergroups_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct wb_lookupusergroups_state *state = tevent_req_data( + req, struct wb_lookupusergroups_state); + NTSTATUS status, result; + + status = rpccli_wbint_LookupUserGroups_recv(subreq, state, &result); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + if (!NT_STATUS_IS_OK(result)) { + tevent_req_nterror(req, result); + return; + } + tevent_req_done(req); +} + +NTSTATUS wb_lookupusergroups_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, + int *num_sids, struct dom_sid **sids) +{ + struct wb_lookupusergroups_state *state = tevent_req_data( + req, struct wb_lookupusergroups_state); + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + return status; + } + *num_sids = state->sids.num_sids; + *sids = talloc_move(mem_ctx, &state->sids.sids); + return NT_STATUS_OK; +} diff --git a/source3/winbindd/wb_queryuser.c b/source3/winbindd/wb_queryuser.c new file mode 100644 index 0000000000..27b8d29951 --- /dev/null +++ b/source3/winbindd/wb_queryuser.c @@ -0,0 +1,121 @@ +/* + Unix SMB/CIFS implementation. + async queryuser + Copyright (C) Volker Lendecke 2009 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "includes.h" +#include "winbindd.h" +#include "librpc/gen_ndr/cli_wbint.h" + +struct wb_queryuser_state { + struct dom_sid sid; + struct wbint_userinfo info; +}; + +static void wb_queryuser_done(struct tevent_req *subreq); + +struct tevent_req *wb_queryuser_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + const struct dom_sid *user_sid) +{ + struct tevent_req *req, *subreq; + struct wb_queryuser_state *state; + struct winbindd_domain *domain; + struct winbind_userinfo info; + NTSTATUS status; + + req = tevent_req_create(mem_ctx, &state, struct wb_queryuser_state); + if (req == NULL) { + return NULL; + } + sid_copy(&state->sid, user_sid); + + domain = find_domain_from_sid_noinit(user_sid); + if (domain == NULL) { + tevent_req_nterror(req, NT_STATUS_NO_SUCH_USER); + return tevent_req_post(req, ev); + } + + status = wcache_query_user(domain, state, &state->sid, &info); + if (NT_STATUS_IS_OK(status)) { + state->info.acct_name = info.acct_name; + state->info.full_name = info.full_name; + state->info.homedir = info.homedir; + state->info.shell = info.shell; + state->info.primary_gid = info.primary_gid; + sid_copy(&state->info.user_sid, &info.user_sid); + sid_copy(&state->info.group_sid, &info.group_sid); + tevent_req_done(req); + return tevent_req_post(req, ev); + } + + subreq = rpccli_wbint_QueryUser_send(state, ev, domain->child.rpccli, + &state->sid, &state->info); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, wb_queryuser_done, req); + return req; +} + +static void wb_queryuser_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct wb_queryuser_state *state = tevent_req_data( + req, struct wb_queryuser_state); + NTSTATUS status, result; + + status = rpccli_wbint_QueryUser_recv(subreq, state, &result); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + if (!NT_STATUS_IS_OK(result)) { + tevent_req_nterror(req, result); + return; + } + tevent_req_done(req); +} + +NTSTATUS wb_queryuser_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, + struct winbind_userinfo **pinfo) +{ + struct wb_queryuser_state *state = tevent_req_data( + req, struct wb_queryuser_state); + struct winbind_userinfo *info; + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + return status; + } + + info = talloc(mem_ctx, struct winbind_userinfo); + if (info == NULL) { + return NT_STATUS_NO_MEMORY; + } + info->acct_name = talloc_move(info, &state->info.acct_name); + info->full_name = talloc_move(info, &state->info.full_name); + info->homedir = talloc_move(info, &state->info.homedir); + info->shell = talloc_move(info, &state->info.shell); + info->primary_gid = state->info.primary_gid; + sid_copy(&info->user_sid, &state->info.user_sid); + sid_copy(&info->group_sid, &state->info.group_sid); + *pinfo = info; + return NT_STATUS_OK; +} diff --git a/source3/winbindd/wb_sid2gid.c b/source3/winbindd/wb_sid2gid.c new file mode 100644 index 0000000000..a578746ea2 --- /dev/null +++ b/source3/winbindd/wb_sid2gid.c @@ -0,0 +1,170 @@ +/* + Unix SMB/CIFS implementation. + async sid2gid + Copyright (C) Volker Lendecke 2009 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "includes.h" +#include "winbindd.h" +#include "librpc/gen_ndr/cli_wbint.h" + +struct wb_sid2gid_state { + struct tevent_context *ev; + struct dom_sid sid; + char *dom_name; + uint64 gid64; + gid_t gid; +}; + +static void wb_sid2gid_lookup_done(struct tevent_req *subreq); +static void wb_sid2gid_done(struct tevent_req *subreq); + + +struct tevent_req *wb_sid2gid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + const struct dom_sid *sid) +{ + struct tevent_req *req, *subreq; + struct wb_sid2gid_state *state; + bool expired; + + req = tevent_req_create(mem_ctx, &state, struct wb_sid2gid_state); + if (req == NULL) { + return NULL; + } + sid_copy(&state->sid, sid); + state->ev = ev; + + if (winbindd_use_idmap_cache() + && idmap_cache_find_sid2gid(sid, &state->gid, &expired)) { + + DEBUG(10, ("idmap_cache_find_sid2gid found %d%s\n", + (int)state->gid, expired ? " (expired)": "")); + + if (!expired || IS_DOMAIN_OFFLINE(find_our_domain())) { + if (state->gid == -1) { + tevent_req_nterror(req, NT_STATUS_NONE_MAPPED); + } else { + tevent_req_done(req); + } + return tevent_req_post(req, ev); + } + } + + /* + * We need to make sure the sid is of the right type to not flood + * idmap with wrong entries + */ + + subreq = wb_lookupsid_send(state, ev, &state->sid); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, wb_sid2gid_lookup_done, req); + return req; +} + +static void wb_sid2gid_lookup_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct wb_sid2gid_state *state = tevent_req_data( + req, struct wb_sid2gid_state); + struct winbindd_domain *domain; + const char *domname; + const char *name; + enum lsa_SidType type; + NTSTATUS status; + struct winbindd_child *child; + + status = wb_lookupsid_recv(subreq, talloc_tos(), &type, &domname, + &name); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + + if ((type != SID_NAME_DOM_GRP) && (type != SID_NAME_ALIAS) + && (type != SID_NAME_WKN_GRP)) { + DEBUG(5, ("Sid %s is not a group.\n", + sid_string_dbg(&state->sid))); + /* + * We have to set the cache ourselves here, the child + * which is normally responsible was not queried yet. + */ + idmap_cache_set_sid2gid(&state->sid, -1); + tevent_req_nterror(req, NT_STATUS_INVALID_SID); + return; + } + + domain = find_domain_from_sid_noinit(&state->sid); + + /* + * TODO: Issue a gettrustinfo here in case we don't have "domain" yet? + */ + + if ((domain != NULL) && domain->have_idmap_config) { + state->dom_name = domain->name; + } else { + state->dom_name = NULL; + } + + child = idmap_child(); + + subreq = rpccli_wbint_Sid2Gid_send(state, state->ev, child->rpccli, + state->dom_name, &state->sid, + &state->gid64); + if (tevent_req_nomem(subreq, req)) { + return; + } + tevent_req_set_callback(subreq, wb_sid2gid_done, req); +} + +static void wb_sid2gid_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct wb_sid2gid_state *state = tevent_req_data( + req, struct wb_sid2gid_state); + NTSTATUS status, result; + + status = rpccli_wbint_Sid2Gid_recv(subreq, state, &result); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + if (!NT_STATUS_IS_OK(result)) { + tevent_req_nterror(req, result); + return; + } + + state->gid = state->gid64; + tevent_req_done(req); +} + +NTSTATUS wb_sid2gid_recv(struct tevent_req *req, gid_t *gid) +{ + struct wb_sid2gid_state *state = tevent_req_data( + req, struct wb_sid2gid_state); + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + return status; + } + *gid = state->gid; + return NT_STATUS_OK; +} diff --git a/source3/winbindd/wb_sid2uid.c b/source3/winbindd/wb_sid2uid.c new file mode 100644 index 0000000000..abfe257bfa --- /dev/null +++ b/source3/winbindd/wb_sid2uid.c @@ -0,0 +1,168 @@ +/* + Unix SMB/CIFS implementation. + async sid2uid + Copyright (C) Volker Lendecke 2009 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "includes.h" +#include "winbindd.h" +#include "librpc/gen_ndr/cli_wbint.h" + +struct wb_sid2uid_state { + struct tevent_context *ev; + struct dom_sid sid; + char *dom_name; + uint64 uid64; + uid_t uid; +}; + +static void wb_sid2uid_lookup_done(struct tevent_req *subreq); +static void wb_sid2uid_done(struct tevent_req *subreq); + +struct tevent_req *wb_sid2uid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + const struct dom_sid *sid) +{ + struct tevent_req *req, *subreq; + struct wb_sid2uid_state *state; + bool expired; + + req = tevent_req_create(mem_ctx, &state, struct wb_sid2uid_state); + if (req == NULL) { + return NULL; + } + sid_copy(&state->sid, sid); + state->ev = ev; + + if (winbindd_use_idmap_cache() + && idmap_cache_find_sid2uid(sid, &state->uid, &expired)) { + + DEBUG(10, ("idmap_cache_find_sid2uid found %d%s\n", + (int)state->uid, expired ? " (expired)": "")); + + if (!expired || IS_DOMAIN_OFFLINE(find_our_domain())) { + if (state->uid == -1) { + tevent_req_nterror(req, NT_STATUS_NONE_MAPPED); + } else { + tevent_req_done(req); + } + return tevent_req_post(req, ev); + } + } + + /* + * We need to make sure the sid is of the right type to not flood + * idmap with wrong entries + */ + + subreq = wb_lookupsid_send(state, ev, &state->sid); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, wb_sid2uid_lookup_done, req); + return req; +} + +static void wb_sid2uid_lookup_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct wb_sid2uid_state *state = tevent_req_data( + req, struct wb_sid2uid_state); + struct winbindd_domain *domain; + const char *domname; + const char *name; + enum lsa_SidType type; + NTSTATUS status; + struct winbindd_child *child; + + status = wb_lookupsid_recv(subreq, talloc_tos(), &type, &domname, + &name); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + + if ((type != SID_NAME_USER) && (type != SID_NAME_COMPUTER)) { + DEBUG(5, ("Sid %s is not a user or a computer.\n", + sid_string_dbg(&state->sid))); + /* + * We have to set the cache ourselves here, the child + * which is normally responsible was not queried yet. + */ + idmap_cache_set_sid2uid(&state->sid, -1); + tevent_req_nterror(req, NT_STATUS_INVALID_SID); + return; + } + + domain = find_domain_from_sid_noinit(&state->sid); + + /* + * TODO: Issue a gettrustinfo here in case we don't have "domain" yet? + */ + + if ((domain != NULL) && domain->have_idmap_config) { + state->dom_name = domain->name; + } else { + state->dom_name = NULL; + } + + child = idmap_child(); + + subreq = rpccli_wbint_Sid2Uid_send(state, state->ev, child->rpccli, + state->dom_name, &state->sid, + &state->uid64); + if (tevent_req_nomem(subreq, req)) { + return; + } + tevent_req_set_callback(subreq, wb_sid2uid_done, req); +} + +static void wb_sid2uid_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct wb_sid2uid_state *state = tevent_req_data( + req, struct wb_sid2uid_state); + NTSTATUS status, result; + + status = rpccli_wbint_Sid2Uid_recv(subreq, state, &result); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + if (!NT_STATUS_IS_OK(result)) { + tevent_req_nterror(req, result); + return; + } + + state->uid = state->uid64; + tevent_req_done(req); +} + +NTSTATUS wb_sid2uid_recv(struct tevent_req *req, uid_t *uid) +{ + struct wb_sid2uid_state *state = tevent_req_data( + req, struct wb_sid2uid_state); + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + return status; + } + *uid = state->uid; + return NT_STATUS_OK; +} diff --git a/source3/winbindd/wb_uid2sid.c b/source3/winbindd/wb_uid2sid.c new file mode 100644 index 0000000000..18ef3b214a --- /dev/null +++ b/source3/winbindd/wb_uid2sid.c @@ -0,0 +1,119 @@ +/* + Unix SMB/CIFS implementation. + async uid2sid + Copyright (C) Volker Lendecke 2009 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "includes.h" +#include "winbindd.h" +#include "librpc/gen_ndr/cli_wbint.h" + +struct wb_uid2sid_state { + struct tevent_context *ev; + char *dom_name; + struct dom_sid sid; +}; + +static void wb_uid2sid_done(struct tevent_req *subreq); + +struct tevent_req *wb_uid2sid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + uid_t uid) +{ + struct tevent_req *req, *subreq; + struct wb_uid2sid_state *state; + struct winbindd_domain *domain; + struct winbindd_child *child; + bool expired; + + req = tevent_req_create(mem_ctx, &state, struct wb_uid2sid_state); + if (req == NULL) { + return NULL; + } + + if (winbindd_use_idmap_cache() + && idmap_cache_find_uid2sid(uid, &state->sid, &expired)) { + + DEBUG(10, ("idmap_cache_find_uid2sid found %d%s\n", + (int)uid, expired ? " (expired)": "")); + + if (!expired || idmap_is_offline()) { + if (is_null_sid(&state->sid)) { + tevent_req_nterror(req, + NT_STATUS_NONE_MAPPED); + } else { + tevent_req_done(req); + } + return tevent_req_post(req, ev); + } + } + + state->dom_name = NULL; + + for (domain = domain_list(); domain != NULL; domain = domain->next) { + if (domain->have_idmap_config + && (uid >= domain->id_range_low) + && (uid <= domain->id_range_high)) { + state->dom_name = domain->name; + break; + } + } + + child = idmap_child(); + + subreq = rpccli_wbint_Uid2Sid_send( + state, ev, child->rpccli, state->dom_name, + uid, &state->sid); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, wb_uid2sid_done, req); + return req; +} + +static void wb_uid2sid_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct wb_uid2sid_state *state = tevent_req_data( + req, struct wb_uid2sid_state); + NTSTATUS status, result; + + status = rpccli_wbint_Uid2Sid_recv(subreq, state, &result); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + if (!NT_STATUS_IS_OK(result)) { + tevent_req_nterror(req, result); + return; + } + tevent_req_done(req); +} + +NTSTATUS wb_uid2sid_recv(struct tevent_req *req, struct dom_sid *sid) +{ + struct wb_uid2sid_state *state = tevent_req_data( + req, struct wb_uid2sid_state); + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + return status; + } + sid_copy(sid, &state->sid); + return NT_STATUS_OK; +} diff --git a/source3/winbindd/winbindd.c b/source3/winbindd/winbindd.c index 4b6ebd2c42..348816b39c 100644 --- a/source3/winbindd/winbindd.c +++ b/source3/winbindd/winbindd.c @@ -427,20 +427,11 @@ static struct winbindd_dispatch_table { /* User functions */ - { WINBINDD_GETPWNAM, winbindd_getpwnam, "GETPWNAM" }, - { WINBINDD_GETPWUID, winbindd_getpwuid, "GETPWUID" }, - { WINBINDD_GETPWSID, winbindd_getpwsid, "GETPWSID" }, - { WINBINDD_SETPWENT, winbindd_setpwent, "SETPWENT" }, { WINBINDD_ENDPWENT, winbindd_endpwent, "ENDPWENT" }, { WINBINDD_GETPWENT, winbindd_getpwent, "GETPWENT" }, - { WINBINDD_GETGROUPS, winbindd_getgroups, "GETGROUPS" }, { WINBINDD_GETUSERSIDS, winbindd_getusersids, "GETUSERSIDS" }, - { WINBINDD_GETUSERDOMGROUPS, winbindd_getuserdomgroups, - "GETUSERDOMGROUPS" }, - { WINBINDD_GETSIDALIASES, winbindd_getsidaliases, - "LOOKUPUSERALIASES" }, /* Group functions */ @@ -469,16 +460,10 @@ static struct winbindd_dispatch_table { /* SID related functions */ - { WINBINDD_LOOKUPSID, winbindd_lookupsid, "LOOKUPSID" }, - { WINBINDD_LOOKUPNAME, winbindd_lookupname, "LOOKUPNAME" }, { WINBINDD_LOOKUPRIDS, winbindd_lookuprids, "LOOKUPRIDS" }, /* Lookup related functions */ - { WINBINDD_SID_TO_UID, winbindd_sid_to_uid, "SID_TO_UID" }, - { WINBINDD_SID_TO_GID, winbindd_sid_to_gid, "SID_TO_GID" }, - { WINBINDD_UID_TO_SID, winbindd_uid_to_sid, "UID_TO_SID" }, - { WINBINDD_GID_TO_SID, winbindd_gid_to_sid, "GID_TO_SID" }, { WINBINDD_ALLOCATE_UID, winbindd_allocate_uid, "ALLOCATE_UID" }, { WINBINDD_ALLOCATE_GID, winbindd_allocate_gid, "ALLOCATE_GID" }, { WINBINDD_SET_MAPPING, winbindd_set_mapping, "SET_MAPPING" }, @@ -488,7 +473,6 @@ static struct winbindd_dispatch_table { /* Miscellaneous */ { WINBINDD_CHECK_MACHACC, winbindd_check_machine_acct, "CHECK_MACHACC" }, - { WINBINDD_PING, winbindd_ping, "PING" }, { WINBINDD_INFO, winbindd_info, "INFO" }, { WINBINDD_INTERFACE_VERSION, winbindd_interface_version, "INTERFACE_VERSION" }, @@ -526,6 +510,30 @@ struct winbindd_async_dispatch_table { static struct winbindd_async_dispatch_table async_nonpriv_table[] = { { WINBINDD_PING, "PING", wb_ping_send, wb_ping_recv }, + { WINBINDD_LOOKUPSID, "LOOKUPSID", + winbindd_lookupsid_send, winbindd_lookupsid_recv }, + { WINBINDD_LOOKUPNAME, "LOOKUPNAME", + winbindd_lookupname_send, winbindd_lookupname_recv }, + { WINBINDD_SID_TO_UID, "SID_TO_UID", + winbindd_sid_to_uid_send, winbindd_sid_to_uid_recv }, + { WINBINDD_SID_TO_GID, "SID_TO_GID", + winbindd_sid_to_gid_send, winbindd_sid_to_gid_recv }, + { WINBINDD_UID_TO_SID, "UID_TO_SID", + winbindd_uid_to_sid_send, winbindd_uid_to_sid_recv }, + { WINBINDD_GID_TO_SID, "GID_TO_SID", + winbindd_gid_to_sid_send, winbindd_gid_to_sid_recv }, + { WINBINDD_GETPWSID, "GETPWSID", + winbindd_getpwsid_send, winbindd_getpwsid_recv }, + { WINBINDD_GETPWNAM, "GETPWNAM", + winbindd_getpwnam_send, winbindd_getpwnam_recv }, + { WINBINDD_GETPWUID, "GETPWUID", + winbindd_getpwuid_send, winbindd_getpwuid_recv }, + { WINBINDD_GETSIDALIASES, "GETSIDALIASES", + winbindd_getsidaliases_send, winbindd_getsidaliases_recv }, + { WINBINDD_GETUSERDOMGROUPS, "GETUSERDOMGROUPS", + winbindd_getuserdomgroups_send, winbindd_getuserdomgroups_recv }, + { WINBINDD_GETGROUPS, "GETGROUPS", + winbindd_getgroups_send, winbindd_getgroups_recv }, { 0, NULL, NULL, NULL } }; diff --git a/source3/winbindd/winbindd.h b/source3/winbindd/winbindd.h index 8f0db44617..baab7fd11a 100644 --- a/source3/winbindd/winbindd.h +++ b/source3/winbindd/winbindd.h @@ -138,6 +138,7 @@ struct winbindd_child { int sock; struct tevent_queue *queue; + struct rpc_pipe_client *rpccli; struct timed_event *lockout_policy_event; struct timed_event *machine_password_change_event; diff --git a/source3/winbindd/winbindd_async.c b/source3/winbindd/winbindd_async.c index f53875f617..094602160d 100644 --- a/source3/winbindd/winbindd_async.c +++ b/source3/winbindd/winbindd_async.c @@ -632,25 +632,32 @@ bool print_sidlist(TALLOC_CTX *mem_ctx, const DOM_SID *sids, return True; } -bool parse_sidlist(TALLOC_CTX *mem_ctx, char *sidstr, +bool parse_sidlist(TALLOC_CTX *mem_ctx, const char *sidstr, DOM_SID **sids, size_t *num_sids) { - char *p, *q; + const char *p, *q; p = sidstr; if (p == NULL) return False; while (p[0] != '\0') { + fstring tmp; + size_t sidlen; DOM_SID sid; q = strchr(p, '\n'); if (q == NULL) { DEBUG(0, ("Got invalid sidstr: %s\n", p)); return False; } - *q = '\0'; + sidlen = PTR_DIFF(q, p); + if (sidlen >= sizeof(tmp)-1) { + return false; + } + memcpy(tmp, p, sidlen); + tmp[sidlen] = '\0'; q += 1; - if (!string_to_sid(&sid, p)) { + if (!string_to_sid(&sid, tmp)) { DEBUG(0, ("Could not parse sid %s\n", p)); return False; } diff --git a/source3/winbindd/winbindd_cache.c b/source3/winbindd/winbindd_cache.c index bec2a714c8..5dfdc5ae29 100644 --- a/source3/winbindd/winbindd_cache.c +++ b/source3/winbindd/winbindd_cache.c @@ -1605,28 +1605,31 @@ skip_save: return status; } -/* convert a single name to a sid in a domain */ -static NTSTATUS name_to_sid(struct winbindd_domain *domain, - TALLOC_CTX *mem_ctx, +NTSTATUS wcache_name_to_sid(struct winbindd_domain *domain, const char *domain_name, const char *name, - uint32_t flags, - DOM_SID *sid, + struct dom_sid *sid, enum lsa_SidType *type) { struct winbind_cache *cache = get_cache(domain); - struct cache_entry *centry = NULL; + struct cache_entry *centry; NTSTATUS status; - fstring uname; + char *uname; - if (!cache->tdb) - goto do_query; + if (cache->tdb == NULL) { + return NT_STATUS_NOT_FOUND; + } + + uname = talloc_strdup_upper(talloc_tos(), name); + if (uname == NULL) { + return NT_STATUS_NO_MEMORY; + } - fstrcpy(uname, name); - strupper_m(uname); centry = wcache_fetch(cache, domain, "NS/%s/%s", domain_name, uname); - if (!centry) - goto do_query; + TALLOC_FREE(uname); + if (centry == NULL) { + return NT_STATUS_NOT_FOUND; + } status = centry->status; if (NT_STATUS_IS_OK(status)) { @@ -1634,13 +1637,29 @@ static NTSTATUS name_to_sid(struct winbindd_domain *domain, centry_sid(centry, sid); } - DEBUG(10,("name_to_sid: [Cached] - cached name for domain %s status: %s\n", - domain->name, nt_errstr(status) )); + DEBUG(10,("name_to_sid: [Cached] - cached name for domain %s status: " + "%s\n", domain->name, nt_errstr(status) )); centry_free(centry); return status; +} + +/* convert a single name to a sid in a domain */ +static NTSTATUS name_to_sid(struct winbindd_domain *domain, + TALLOC_CTX *mem_ctx, + const char *domain_name, + const char *name, + uint32_t flags, + DOM_SID *sid, + enum lsa_SidType *type) +{ + NTSTATUS status; + + status = wcache_name_to_sid(domain, domain_name, name, sid, type); + if (!NT_STATUS_EQUAL(status, NT_STATUS_NOT_FOUND)) { + return status; + } -do_query: ZERO_STRUCTP(sid); /* If the seq number check indicated that there is a problem @@ -1678,42 +1697,65 @@ do_query: return status; } -/* convert a sid to a user or group name. The sid is guaranteed to be in the domain - given */ -static NTSTATUS sid_to_name(struct winbindd_domain *domain, +NTSTATUS wcache_sid_to_name(struct winbindd_domain *domain, + const struct dom_sid *sid, TALLOC_CTX *mem_ctx, - const DOM_SID *sid, char **domain_name, char **name, enum lsa_SidType *type) { struct winbind_cache *cache = get_cache(domain); - struct cache_entry *centry = NULL; + struct cache_entry *centry; + char *sid_string; NTSTATUS status; - fstring sid_string; - if (!cache->tdb) - goto do_query; + if (cache->tdb == NULL) { + return NT_STATUS_NOT_FOUND; + } - centry = wcache_fetch(cache, domain, "SN/%s", - sid_to_fstring(sid_string, sid)); - if (!centry) - goto do_query; + sid_string = sid_string_tos(sid); + if (sid_string == NULL) { + return NT_STATUS_NO_MEMORY; + } - status = centry->status; - if (NT_STATUS_IS_OK(status)) { + centry = wcache_fetch(cache, domain, "SN/%s", sid_string); + TALLOC_FREE(sid_string); + if (centry == NULL) { + return NT_STATUS_NOT_FOUND; + } + + if (NT_STATUS_IS_OK(centry->status)) { *type = (enum lsa_SidType)centry_uint32(centry); *domain_name = centry_string(centry, mem_ctx); *name = centry_string(centry, mem_ctx); } - DEBUG(10,("sid_to_name: [Cached] - cached name for domain %s status: %s\n", - domain->name, nt_errstr(status) )); - + status = centry->status; centry_free(centry); + + DEBUG(10,("sid_to_name: [Cached] - cached name for domain %s status: " + "%s\n", domain->name, nt_errstr(status) )); + return status; +} + +/* convert a sid to a user or group name. The sid is guaranteed to be in the domain + given */ +static NTSTATUS sid_to_name(struct winbindd_domain *domain, + TALLOC_CTX *mem_ctx, + const DOM_SID *sid, + char **domain_name, + char **name, + enum lsa_SidType *type) +{ + NTSTATUS status; + + status = wcache_sid_to_name(domain, sid, mem_ctx, domain_name, name, + type); + if (!NT_STATUS_EQUAL(status, NT_STATUS_NOT_FOUND)) { + return status; + } -do_query: *name = NULL; *domain_name = NULL; @@ -1897,38 +1939,46 @@ static NTSTATUS rids_to_names(struct winbindd_domain *domain, return result; } -/* Lookup user information from a rid */ -static NTSTATUS query_user(struct winbindd_domain *domain, - TALLOC_CTX *mem_ctx, - const DOM_SID *user_sid, - WINBIND_USERINFO *info) +NTSTATUS wcache_query_user(struct winbindd_domain *domain, + TALLOC_CTX *mem_ctx, + const struct dom_sid *user_sid, + struct winbind_userinfo *info) { struct winbind_cache *cache = get_cache(domain); struct cache_entry *centry = NULL; NTSTATUS status; - fstring tmp; + char *sid_string; - if (!cache->tdb) - goto do_query; + if (cache->tdb == NULL) { + return NT_STATUS_NOT_FOUND; + } - centry = wcache_fetch(cache, domain, "U/%s", - sid_to_fstring(tmp, user_sid)); + sid_string = sid_string_tos(user_sid); + if (sid_string == NULL) { + return NT_STATUS_NO_MEMORY; + } - /* If we have an access denied cache entry and a cached info3 in the - samlogon cache then do a query. This will force the rpc back end - to return the info3 data. */ + centry = wcache_fetch(cache, domain, "U/%s", sid_string); + TALLOC_FREE(sid_string); + if (centry == NULL) { + return NT_STATUS_NOT_FOUND; + } - if (NT_STATUS_V(domain->last_status) == NT_STATUS_V(NT_STATUS_ACCESS_DENIED) && + /* + * If we have an access denied cache entry and a cached info3 + * in the samlogon cache then do a query. This will force the + * rpc back end to return the info3 data. + */ + + if (NT_STATUS_EQUAL(domain->last_status, NT_STATUS_ACCESS_DENIED) && netsamlogon_cache_have(user_sid)) { - DEBUG(10, ("query_user: cached access denied and have cached info3\n")); + DEBUG(10, ("query_user: cached access denied and have cached " + "info3\n")); domain->last_status = NT_STATUS_OK; centry_free(centry); - goto do_query; + return NT_STATUS_NOT_FOUND; } - if (!centry) - goto do_query; - /* if status is not ok then this is a negative hit and the rest of the data doesn't matter */ status = centry->status; @@ -1942,13 +1992,26 @@ static NTSTATUS query_user(struct winbindd_domain *domain, centry_sid(centry, &info->group_sid); } - DEBUG(10,("query_user: [Cached] - cached info for domain %s status: %s\n", - domain->name, nt_errstr(status) )); + DEBUG(10,("query_user: [Cached] - cached info for domain %s status: " + "%s\n", domain->name, nt_errstr(status) )); centry_free(centry); return status; +} + +/* Lookup user information from a rid */ +static NTSTATUS query_user(struct winbindd_domain *domain, + TALLOC_CTX *mem_ctx, + const DOM_SID *user_sid, + WINBIND_USERINFO *info) +{ + NTSTATUS status; + + status = wcache_query_user(domain, mem_ctx, user_sid, info); + if (!NT_STATUS_EQUAL(status, NT_STATUS_NOT_FOUND)) { + return status; + } -do_query: ZERO_STRUCTP(info); /* Return status value returned by seq number check */ @@ -1968,63 +2031,81 @@ do_query: return status; } - -/* Lookup groups a user is a member of. */ -static NTSTATUS lookup_usergroups(struct winbindd_domain *domain, +NTSTATUS wcache_lookup_usergroups(struct winbindd_domain *domain, TALLOC_CTX *mem_ctx, - const DOM_SID *user_sid, - uint32 *num_groups, DOM_SID **user_gids) + const struct dom_sid *user_sid, + uint32_t *pnum_sids, + struct dom_sid **psids) { struct winbind_cache *cache = get_cache(domain); struct cache_entry *centry = NULL; NTSTATUS status; - unsigned int i; + uint32_t i, num_sids; + struct dom_sid *sids; fstring sid_string; - if (!cache->tdb) - goto do_query; + if (cache->tdb == NULL) { + return NT_STATUS_NOT_FOUND; + } centry = wcache_fetch(cache, domain, "UG/%s", sid_to_fstring(sid_string, user_sid)); + if (centry == NULL) { + return NT_STATUS_NOT_FOUND; + } /* If we have an access denied cache entry and a cached info3 in the samlogon cache then do a query. This will force the rpc back end to return the info3 data. */ - if (NT_STATUS_V(domain->last_status) == NT_STATUS_V(NT_STATUS_ACCESS_DENIED) && - netsamlogon_cache_have(user_sid)) { - DEBUG(10, ("lookup_usergroups: cached access denied and have cached info3\n")); + if (NT_STATUS_EQUAL(domain->last_status, NT_STATUS_ACCESS_DENIED) + && netsamlogon_cache_have(user_sid)) { + DEBUG(10, ("lookup_usergroups: cached access denied and have " + "cached info3\n")); domain->last_status = NT_STATUS_OK; centry_free(centry); - goto do_query; + return NT_STATUS_NOT_FOUND; } - if (!centry) - goto do_query; - - *num_groups = centry_uint32(centry); - - if (*num_groups == 0) - goto do_cached; - - (*user_gids) = TALLOC_ARRAY(mem_ctx, DOM_SID, *num_groups); - if (! (*user_gids)) { - smb_panic_fn("lookup_usergroups out of memory"); + num_sids = centry_uint32(centry); + sids = talloc_array(mem_ctx, struct dom_sid, num_sids); + if (sids == NULL) { + return NT_STATUS_NO_MEMORY; } - for (i=0; i<(*num_groups); i++) { - centry_sid(centry, &(*user_gids)[i]); + + for (i=0; i<num_sids; i++) { + centry_sid(centry, &sids[i]); } -do_cached: status = centry->status; - DEBUG(10,("lookup_usergroups: [Cached] - cached info for domain %s status: %s\n", - domain->name, nt_errstr(status) )); + DEBUG(10,("lookup_usergroups: [Cached] - cached info for domain %s " + "status: %s\n", domain->name, nt_errstr(status))); centry_free(centry); + + *pnum_sids = num_sids; + *psids = sids; return status; +} + +/* Lookup groups a user is a member of. */ +static NTSTATUS lookup_usergroups(struct winbindd_domain *domain, + TALLOC_CTX *mem_ctx, + const DOM_SID *user_sid, + uint32 *num_groups, DOM_SID **user_gids) +{ + struct cache_entry *centry = NULL; + NTSTATUS status; + unsigned int i; + fstring sid_string; + + status = wcache_lookup_usergroups(domain, mem_ctx, user_sid, + num_groups, user_gids); + if (!NT_STATUS_EQUAL(status, NT_STATUS_NOT_FOUND)) { + return status; + } -do_query: (*num_groups) = 0; (*user_gids) = NULL; @@ -2059,58 +2140,74 @@ skip_save: return status; } -static NTSTATUS lookup_useraliases(struct winbindd_domain *domain, - TALLOC_CTX *mem_ctx, - uint32 num_sids, const DOM_SID *sids, - uint32 *num_aliases, uint32 **alias_rids) +static char *wcache_make_sidlist(TALLOC_CTX *mem_ctx, uint32_t num_sids, + const struct dom_sid *sids) +{ + uint32_t i; + char *sidlist; + + sidlist = talloc_strdup(mem_ctx, ""); + if (sidlist == NULL) { + return NULL; + } + for (i=0; i<num_sids; i++) { + fstring tmp; + sidlist = talloc_asprintf_append_buffer( + sidlist, "/%s", sid_to_fstring(tmp, &sids[i])); + if (sidlist == NULL) { + return NULL; + } + } + return sidlist; +} + +NTSTATUS wcache_lookup_useraliases(struct winbindd_domain *domain, + TALLOC_CTX *mem_ctx, uint32_t num_sids, + const struct dom_sid *sids, + uint32_t *pnum_aliases, uint32_t **paliases) { struct winbind_cache *cache = get_cache(domain); struct cache_entry *centry = NULL; + uint32_t num_aliases; + uint32_t *aliases; NTSTATUS status; - char *sidlist = talloc_strdup(mem_ctx, ""); + char *sidlist; int i; - if (!cache->tdb) - goto do_query; + if (cache->tdb == NULL) { + return NT_STATUS_NOT_FOUND; + } if (num_sids == 0) { - *num_aliases = 0; - *alias_rids = NULL; + *pnum_aliases = 0; + *paliases = NULL; return NT_STATUS_OK; } /* We need to cache indexed by the whole list of SIDs, the aliases * resulting might come from any of the SIDs. */ - for (i=0; i<num_sids; i++) { - fstring tmp; - sidlist = talloc_asprintf(mem_ctx, "%s/%s", sidlist, - sid_to_fstring(tmp, &sids[i])); - if (sidlist == NULL) - return NT_STATUS_NO_MEMORY; + sidlist = wcache_make_sidlist(talloc_tos(), num_sids, sids); + if (sidlist == NULL) { + return NT_STATUS_NO_MEMORY; } centry = wcache_fetch(cache, domain, "UA%s", sidlist); + TALLOC_FREE(sidlist); + if (centry == NULL) { + return NT_STATUS_NOT_FOUND; + } - if (!centry) - goto do_query; - - *num_aliases = centry_uint32(centry); - *alias_rids = NULL; - - if (*num_aliases) { - (*alias_rids) = TALLOC_ARRAY(mem_ctx, uint32, *num_aliases); - - if ((*alias_rids) == NULL) { - centry_free(centry); - return NT_STATUS_NO_MEMORY; - } - } else { - (*alias_rids) = NULL; + num_aliases = centry_uint32(centry); + aliases = talloc_array(mem_ctx, uint32_t, num_aliases); + if (aliases == NULL) { + centry_free(centry); + return NT_STATUS_NO_MEMORY; } - for (i=0; i<(*num_aliases); i++) - (*alias_rids)[i] = centry_uint32(centry); + for (i=0; i<num_aliases; i++) { + aliases[i] = centry_uint32(centry); + } status = centry->status; @@ -2118,9 +2215,29 @@ static NTSTATUS lookup_useraliases(struct winbindd_domain *domain, "status %s\n", domain->name, nt_errstr(status))); centry_free(centry); + + *pnum_aliases = num_aliases; + *paliases = aliases; + return status; +} + +static NTSTATUS lookup_useraliases(struct winbindd_domain *domain, + TALLOC_CTX *mem_ctx, + uint32 num_sids, const DOM_SID *sids, + uint32 *num_aliases, uint32 **alias_rids) +{ + struct cache_entry *centry = NULL; + NTSTATUS status; + char *sidlist; + int i; + + status = wcache_lookup_useraliases(domain, mem_ctx, num_sids, sids, + num_aliases, alias_rids); + if (!NT_STATUS_EQUAL(status, NT_STATUS_NOT_FOUND)) { + return status; + } - do_query: (*num_aliases) = 0; (*alias_rids) = NULL; @@ -2130,6 +2247,11 @@ static NTSTATUS lookup_useraliases(struct winbindd_domain *domain, DEBUG(10,("lookup_usergroups: [Cached] - doing backend query for info " "for domain %s\n", domain->name )); + sidlist = wcache_make_sidlist(talloc_tos(), num_sids, sids); + if (sidlist == NULL) { + return NT_STATUS_NO_MEMORY; + } + status = domain->backend->lookup_useraliases(domain, mem_ctx, num_sids, sids, num_aliases, alias_rids); @@ -2625,36 +2747,14 @@ bool lookup_cached_sid(TALLOC_CTX *mem_ctx, const DOM_SID *sid, enum lsa_SidType *type) { struct winbindd_domain *domain; - struct winbind_cache *cache; - struct cache_entry *centry = NULL; NTSTATUS status; - fstring tmp; domain = find_lookup_domain_from_sid(sid); if (domain == NULL) { return false; } - - cache = get_cache(domain); - - if (cache->tdb == NULL) { - return false; - } - - centry = wcache_fetch(cache, domain, "SN/%s", - sid_to_fstring(tmp, sid)); - if (centry == NULL) { - return false; - } - - if (NT_STATUS_IS_OK(centry->status)) { - *type = (enum lsa_SidType)centry_uint32(centry); - *domain_name = centry_string(centry, mem_ctx); - *name = centry_string(centry, mem_ctx); - } - - status = centry->status; - centry_free(centry); + status = wcache_sid_to_name(domain, sid, mem_ctx, domain_name, name, + type); return NT_STATUS_IS_OK(status); } @@ -2665,46 +2765,22 @@ bool lookup_cached_name(TALLOC_CTX *mem_ctx, enum lsa_SidType *type) { struct winbindd_domain *domain; - struct winbind_cache *cache; - struct cache_entry *centry = NULL; NTSTATUS status; - fstring uname; - bool original_online_state; + bool original_online_state; domain = find_lookup_domain_from_name(domain_name); if (domain == NULL) { return false; } - cache = get_cache(domain); - - if (cache->tdb == NULL) { - return false; - } - - fstrcpy(uname, name); - strupper_m(uname); - /* If we are doing a cached logon, temporarily set the domain offline so the cache won't expire the entry */ original_online_state = domain->online; domain->online = false; - centry = wcache_fetch(cache, domain, "NS/%s/%s", domain_name, uname); + status = wcache_name_to_sid(domain, domain_name, name, sid, type); domain->online = original_online_state; - if (centry == NULL) { - return false; - } - - if (NT_STATUS_IS_OK(centry->status)) { - *type = (enum lsa_SidType)centry_uint32(centry); - centry_sid(centry, sid); - } - - status = centry->status; - centry_free(centry); - return NT_STATUS_IS_OK(status); } diff --git a/source3/winbindd/winbindd_domain.c b/source3/winbindd/winbindd_domain.c index 8c52df3e16..5ff2e16abb 100644 --- a/source3/winbindd/winbindd_domain.c +++ b/source3/winbindd/winbindd_domain.c @@ -122,6 +122,10 @@ static const struct winbindd_child_dispatch_table domain_dispatch_table[] = { .struct_cmd = WINBINDD_CCACHE_NTLMAUTH, .struct_fn = winbindd_dual_ccache_ntlm_auth, },{ + .name = "NDRCMD", + .struct_cmd = WINBINDD_DUAL_NDRCMD, + .struct_fn = winbindd_dual_ndrcmd, + },{ .name = NULL, } }; diff --git a/source3/winbindd/winbindd_dual.c b/source3/winbindd/winbindd_dual.c index 1985dd8b12..2158834bdd 100644 --- a/source3/winbindd/winbindd_dual.c +++ b/source3/winbindd/winbindd_dual.c @@ -592,6 +592,8 @@ void setup_child(struct winbindd_child *child, child->table = table; child->queue = tevent_queue_create(NULL, "winbind_child"); SMB_ASSERT(child->queue != NULL); + child->rpccli = wbint_rpccli_create(NULL, child); + SMB_ASSERT(child->rpccli != NULL); } struct winbindd_child *children = NULL; @@ -1307,6 +1309,16 @@ bool winbindd_reinit_after_fork(const char *logfilename) return true; } +/* + * In a child there will be only one domain, reference that here. + */ +static struct winbindd_domain *child_domain; + +struct winbindd_domain *wb_child_domain(void) +{ + return child_domain; +} + static bool fork_domain_child(struct winbindd_child *child) { int fdpair[2]; @@ -1321,6 +1333,7 @@ static bool fork_domain_child(struct winbindd_child *child) } else { DEBUG(10, ("fork_domain_child called without domain.\n")); } + child_domain = child->domain; if (socketpair(AF_UNIX, SOCK_STREAM, 0, fdpair) != 0) { DEBUG(0, ("Could not open child pipe: %s\n", diff --git a/source3/winbindd/winbindd_dual_ndr.c b/source3/winbindd/winbindd_dual_ndr.c new file mode 100644 index 0000000000..f72d6615a0 --- /dev/null +++ b/source3/winbindd/winbindd_dual_ndr.c @@ -0,0 +1,273 @@ +/* + Unix SMB/CIFS implementation. + + Provide parent->child communication based on NDR marshalling + + Copyright (C) Volker Lendecke 2009 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +/* + * This file implements an RPC between winbind parent and child processes, + * leveraging the autogenerated marshalling routines for MSRPC. This is not + * MSRPC, as it does not go through the whole DCERPC fragmentation, we just + * leverage much the same infrastructure we already have for it. + */ + +#include "includes.h" +#include "winbindd/winbindd.h" +#include "winbindd/winbindd_proto.h" +#include "librpc/gen_ndr/srv_wbint.h" + +struct wb_ndr_transport_priv { + struct winbindd_child *child; +}; + +struct wb_ndr_dispatch_state { + const struct ndr_interface_call *call; + void *r; + struct ndr_push *push; + struct winbindd_request request; + struct winbindd_response *response; +}; + +static void wb_ndr_dispatch_done(struct tevent_req *subreq); + +static struct tevent_req *wb_ndr_dispatch_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct rpc_pipe_client *cli, + const struct ndr_interface_table *table, + uint32_t opnum, + void *r) +{ + struct tevent_req *req, *subreq; + struct wb_ndr_dispatch_state *state; + struct wb_ndr_transport_priv *transport = talloc_get_type_abort( + cli->transport->priv, struct wb_ndr_transport_priv); + DATA_BLOB blob; + enum ndr_err_code ndr_err; + + req = tevent_req_create(mem_ctx, &state, + struct wb_ndr_dispatch_state); + if (req == NULL) { + return NULL; + } + + state->r = r; + state->call = &table->calls[opnum]; + + state->push = ndr_push_init_ctx(state, NULL); + if (tevent_req_nomem(state->push, req)) { + return tevent_req_post(req, ev); + } + + ndr_err = state->call->ndr_push(state->push, NDR_IN, r); + if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { + tevent_req_nterror(req, ndr_map_error2ntstatus(ndr_err)); + TALLOC_FREE(state->push); + return tevent_req_post(req, ev); + } + + blob = ndr_push_blob(state->push); + + state->request.cmd = WINBINDD_DUAL_NDRCMD; + state->request.data.ndrcmd = opnum; + state->request.extra_data.data = (char *)blob.data; + state->request.extra_len = blob.length; + + subreq = wb_child_request_send(state, ev, transport->child, + &state->request); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, wb_ndr_dispatch_done, req); + return req; +} + +static void wb_ndr_dispatch_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct wb_ndr_dispatch_state *state = tevent_req_data( + req, struct wb_ndr_dispatch_state); + int ret, err; + + ret = wb_child_request_recv(subreq, state, &state->response, &err); + TALLOC_FREE(subreq); + if (ret == -1) { + tevent_req_nterror(req, map_nt_error_from_unix(err)); + return; + } + tevent_req_done(req); +} + +static NTSTATUS wb_ndr_dispatch_recv(struct tevent_req *req, + TALLOC_CTX *mem_ctx) +{ + struct wb_ndr_dispatch_state *state = tevent_req_data( + req, struct wb_ndr_dispatch_state); + NTSTATUS status; + struct ndr_pull *pull; + enum ndr_err_code ndr_err; + DATA_BLOB blob; + + if (tevent_req_is_nterror(req, &status)) { + return status; + } + + blob.data = (uint8_t *)state->response->extra_data.data; + blob.length = state->response->length + - sizeof(struct winbindd_response); + + pull = ndr_pull_init_blob(&blob, mem_ctx, NULL); + if (pull == NULL) { + return NT_STATUS_NO_MEMORY; + } + + /* have the ndr parser alloc memory for us */ + pull->flags |= LIBNDR_FLAG_REF_ALLOC; + ndr_err = state->call->ndr_pull(pull, NDR_OUT, state->r); + TALLOC_FREE(pull); + + if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) { + return ndr_map_error2ntstatus(ndr_err); + } + + return NT_STATUS_OK; +} + +static NTSTATUS wb_ndr_dispatch(struct rpc_pipe_client *cli, + TALLOC_CTX *mem_ctx, + const struct ndr_interface_table *table, + uint32_t opnum, void *r) +{ + TALLOC_CTX *frame = talloc_stackframe(); + struct event_context *ev; + struct tevent_req *req; + NTSTATUS status = NT_STATUS_OK; + + ev = event_context_init(frame); + if (ev == NULL) { + status = NT_STATUS_NO_MEMORY; + goto fail; + } + + req = wb_ndr_dispatch_send(frame, ev, cli, table, opnum, r); + if (req == NULL) { + status = NT_STATUS_NO_MEMORY; + goto fail; + } + + if (!tevent_req_poll(req, ev)) { + status = map_nt_error_from_unix(errno); + goto fail; + } + + status = wb_ndr_dispatch_recv(req, mem_ctx); + fail: + TALLOC_FREE(frame); + return status; +} + +struct rpc_pipe_client *wbint_rpccli_create(TALLOC_CTX *mem_ctx, + struct winbindd_child *child) +{ + struct rpc_pipe_client *result; + struct wb_ndr_transport_priv *transp; + + result = talloc(mem_ctx, struct rpc_pipe_client); + if (result == NULL) { + return NULL; + } + result->abstract_syntax = ndr_table_wbint.syntax_id; + result->transfer_syntax = ndr_transfer_syntax; + result->dispatch = wb_ndr_dispatch; + result->dispatch_send = wb_ndr_dispatch_send; + result->dispatch_recv = wb_ndr_dispatch_recv; + result->max_xmit_frag = RPC_MAX_PDU_FRAG_LEN; + result->max_recv_frag = RPC_MAX_PDU_FRAG_LEN; + result->desthost = NULL; + result->srv_name_slash = NULL; + + /* + * Initialize a fake transport. Due to our own wb_ndr_dispatch + * function we don't use all the fragmentation engine in + * cli_pipe, which would use all the _read and _write + * functions in rpc_cli_transport. But we need a place to + * store the child struct in, and we're re-using + * result->transport->priv for that. + */ + + result->transport = talloc_zero(result, struct rpc_cli_transport); + if (result->transport == NULL) { + TALLOC_FREE(result); + return NULL; + } + transp = talloc(result->transport, struct wb_ndr_transport_priv); + if (transp == NULL) { + TALLOC_FREE(result); + return NULL; + } + transp->child = child; + result->transport->priv = transp; + return result; +} + +enum winbindd_result winbindd_dual_ndrcmd(struct winbindd_domain *domain, + struct winbindd_cli_state *state) +{ + pipes_struct p; + struct api_struct *fns; + int num_fns; + bool ret; + + wbint_get_pipe_fns(&fns, &num_fns); + + if (state->request->data.ndrcmd >= num_fns) { + return WINBINDD_ERROR; + } + + ZERO_STRUCT(p); + p.mem_ctx = talloc_stackframe(); + p.in_data.data.buffer_size = state->request->extra_len; + p.in_data.data.data_p = state->request->extra_data.data; + prs_init(&p.out_data.rdata, 0, state->mem_ctx, false); + + ret = fns[state->request->data.ndrcmd].fn(&p); + TALLOC_FREE(p.mem_ctx); + if (!ret) { + return WINBINDD_ERROR; + } + + state->response->extra_data.data = + talloc_memdup(state->mem_ctx, p.out_data.rdata.data_p, + p.out_data.rdata.data_offset); + state->response->length += p.out_data.rdata.data_offset; + prs_mem_free(&p.out_data.rdata); + if (state->response->extra_data.data == NULL) { + return WINBINDD_ERROR; + } + return WINBINDD_OK; +} + +/* + * Just a dummy to make srv_wbint.c happy + */ +NTSTATUS rpc_srv_register(int version, const char *clnt, const char *srv, + const struct ndr_interface_table *iface, + const struct api_struct *cmds, int size) +{ + return NT_STATUS_OK; +} diff --git a/source3/winbindd/winbindd_dual_srv.c b/source3/winbindd/winbindd_dual_srv.c new file mode 100644 index 0000000000..9be295ffdc --- /dev/null +++ b/source3/winbindd/winbindd_dual_srv.c @@ -0,0 +1,174 @@ +/* + Unix SMB/CIFS implementation. + + In-Child server implementation of the routines defined in wbint.idl + + Copyright (C) Volker Lendecke 2009 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "includes.h" +#include "winbindd/winbindd.h" +#include "winbindd/winbindd_proto.h" +#include "librpc/gen_ndr/srv_wbint.h" + +void _wbint_Ping(pipes_struct *p, struct wbint_Ping *r) +{ + *r->out.out_data = r->in.in_data; +} + +NTSTATUS _wbint_LookupSid(pipes_struct *p, struct wbint_LookupSid *r) +{ + struct winbindd_domain *domain = wb_child_domain(); + char *dom_name; + char *name; + enum lsa_SidType type; + NTSTATUS status; + + if (domain == NULL) { + return NT_STATUS_REQUEST_NOT_ACCEPTED; + } + + status = domain->methods->sid_to_name(domain, p->mem_ctx, r->in.sid, + &dom_name, &name, &type); + if (!NT_STATUS_IS_OK(status)) { + return status; + } + + *r->out.domain = dom_name; + *r->out.name = name; + *r->out.type = type; + return NT_STATUS_OK; +} + +NTSTATUS _wbint_LookupName(pipes_struct *p, struct wbint_LookupName *r) +{ + struct winbindd_domain *domain = wb_child_domain(); + + if (domain == NULL) { + return NT_STATUS_REQUEST_NOT_ACCEPTED; + } + + return domain->methods->name_to_sid( + domain, p->mem_ctx, r->in.domain, r->in.name, r->in.flags, + r->out.sid, r->out.type); +} + +NTSTATUS _wbint_Sid2Uid(pipes_struct *p, struct wbint_Sid2Uid *r) +{ + uid_t uid; + NTSTATUS status; + + status = idmap_sid_to_uid(r->in.dom_name ? r->in.dom_name : "", + r->in.sid, &uid); + if (!NT_STATUS_IS_OK(status)) { + return status; + } + *r->out.uid = uid; + return NT_STATUS_OK; +} + +NTSTATUS _wbint_Sid2Gid(pipes_struct *p, struct wbint_Sid2Gid *r) +{ + gid_t gid; + NTSTATUS status; + + status = idmap_sid_to_gid(r->in.dom_name ? r->in.dom_name : "", + r->in.sid, &gid); + if (!NT_STATUS_IS_OK(status)) { + return status; + } + *r->out.gid = gid; + return NT_STATUS_OK; +} + +NTSTATUS _wbint_Uid2Sid(pipes_struct *p, struct wbint_Uid2Sid *r) +{ + NTSTATUS status; + + status = idmap_uid_to_sid(r->in.dom_name ? r->in.dom_name : "", + r->out.sid, r->in.uid); + if (!NT_STATUS_IS_OK(status)) { + return status; + } + return NT_STATUS_OK; +} + +NTSTATUS _wbint_Gid2Sid(pipes_struct *p, struct wbint_Gid2Sid *r) +{ + NTSTATUS status; + + status = idmap_gid_to_sid(r->in.dom_name ? r->in.dom_name : "", + r->out.sid, r->in.gid); + if (!NT_STATUS_IS_OK(status)) { + return status; + } + return NT_STATUS_OK; +} + +NTSTATUS _wbint_QueryUser(pipes_struct *p, struct wbint_QueryUser *r) +{ + struct winbindd_domain *domain = wb_child_domain(); + WINBIND_USERINFO uinfo; + NTSTATUS status; + + if (domain == NULL) { + return NT_STATUS_REQUEST_NOT_ACCEPTED; + } + + status = domain->methods->query_user(domain, p->mem_ctx, r->in.sid, + &uinfo); + if (!NT_STATUS_IS_OK(status)) { + return status; + } + + r->out.info->acct_name = uinfo.acct_name; + r->out.info->full_name = uinfo.full_name; + r->out.info->homedir = uinfo.homedir; + r->out.info->shell = uinfo.shell; + r->out.info->primary_gid = uinfo.primary_gid; + sid_copy(&r->out.info->user_sid, &uinfo.user_sid); + sid_copy(&r->out.info->group_sid, &uinfo.group_sid); + + return NT_STATUS_OK; +} + +NTSTATUS _wbint_LookupUserAliases(pipes_struct *p, + struct wbint_LookupUserAliases *r) +{ + struct winbindd_domain *domain = wb_child_domain(); + + if (domain == NULL) { + return NT_STATUS_REQUEST_NOT_ACCEPTED; + } + + return domain->methods->lookup_useraliases( + domain, p->mem_ctx, r->in.sids->num_sids, r->in.sids->sids, + &r->out.rids->num_rids, &r->out.rids->rids); +} + +NTSTATUS _wbint_LookupUserGroups(pipes_struct *p, + struct wbint_LookupUserGroups *r) +{ + struct winbindd_domain *domain = wb_child_domain(); + + if (domain == NULL) { + return NT_STATUS_REQUEST_NOT_ACCEPTED; + } + + return domain->methods->lookup_usergroups( + domain, p->mem_ctx, r->in.sid, + &r->out.sids->num_sids, &r->out.sids->sids); +} diff --git a/source3/winbindd/winbindd_getgroups.c b/source3/winbindd/winbindd_getgroups.c new file mode 100644 index 0000000000..9e6465696e --- /dev/null +++ b/source3/winbindd/winbindd_getgroups.c @@ -0,0 +1,222 @@ +/* + Unix SMB/CIFS implementation. + async implementation of WINBINDD_GETGROUPS + Copyright (C) Volker Lendecke 2009 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "includes.h" +#include "winbindd.h" + +struct winbindd_getgroups_state { + struct tevent_context *ev; + fstring domname; + fstring username; + struct dom_sid sid; + enum lsa_SidType type; + int num_sids; + struct dom_sid *sids; + int next_sid; + int num_gids; + gid_t *gids; +}; + +static void winbindd_getgroups_lookupname_done(struct tevent_req *subreq); +static void winbindd_getgroups_gettoken_done(struct tevent_req *subreq); +static void winbindd_getgroups_sid2gid_done(struct tevent_req *subreq); + +struct tevent_req *winbindd_getgroups_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct winbindd_request *request) +{ + struct tevent_req *req, *subreq; + struct winbindd_getgroups_state *state; + char *domuser, *mapped_user; + struct winbindd_domain *domain; + NTSTATUS status; + + req = tevent_req_create(mem_ctx, &state, + struct winbindd_getgroups_state); + if (req == NULL) { + return NULL; + } + state->ev = ev; + + /* Ensure null termination */ + request->data.username[sizeof(request->data.username)-1]='\0'; + + DEBUG(3, ("getgroups %s\n", request->data.username)); + + domuser = request->data.username; + + status = normalize_name_unmap(state, domuser, &mapped_user); + + if (NT_STATUS_IS_OK(status) + || NT_STATUS_EQUAL(status, NT_STATUS_FILE_RENAMED)) { + /* normalize_name_unmapped did something */ + domuser = mapped_user; + } + + if (!parse_domain_user(domuser, state->domname, state->username)) { + DEBUG(5, ("Could not parse domain user: %s\n", domuser)); + tevent_req_nterror(req, NT_STATUS_INVALID_PARAMETER); + return tevent_req_post(req, ev); + } + + domain = find_domain_from_name_noinit(state->domname); + if (domain == NULL) { + /* Retry with DNS name */ + char *p = strchr(domuser, '@'); + if (p != NULL) { + domain = find_domain_from_name_noinit(p+1); + } + } + if (domain == NULL) { + DEBUG(7, ("could not find domain entry for domain %s\n", + state->domname)); + tevent_req_nterror(req, NT_STATUS_NO_SUCH_USER); + return tevent_req_post(req, ev); + } + + if (lp_winbind_trusted_domains_only() && domain->primary) { + DEBUG(7,("winbindd_getgroups: My domain -- " + "rejecting getgroups() for %s\\%s.\n", + state->domname, state->username)); + tevent_req_nterror(req, NT_STATUS_NO_SUCH_USER); + return tevent_req_post(req, ev); + } + + subreq = wb_lookupname_send(state, ev, state->domname, state->username, + LOOKUP_NAME_NO_NSS); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, winbindd_getgroups_lookupname_done, + req); + return req; +} + +static void winbindd_getgroups_lookupname_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct winbindd_getgroups_state *state = tevent_req_data( + req, struct winbindd_getgroups_state); + NTSTATUS status; + + status = wb_lookupname_recv(subreq, &state->sid, &state->type); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + + subreq = wb_gettoken_send(state, state->ev, &state->sid); + if (tevent_req_nomem(subreq, req)) { + return; + } + tevent_req_set_callback(subreq, winbindd_getgroups_gettoken_done, req); +} + +static void winbindd_getgroups_gettoken_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct winbindd_getgroups_state *state = tevent_req_data( + req, struct winbindd_getgroups_state); + NTSTATUS status; + + status = wb_gettoken_recv(subreq, state, &state->num_sids, + &state->sids); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + + /* + * Convert the group SIDs to gids. state->sids[0] contains the user + * sid, so start at index 1. + */ + + state->gids = talloc_array(state, gid_t, state->num_sids-1); + if (tevent_req_nomem(state->gids, req)) { + return; + } + state->num_gids = 0; + state->next_sid = 1; + + subreq = wb_sid2gid_send(state, state->ev, + &state->sids[state->next_sid]); + if (tevent_req_nomem(subreq, req)) { + return; + } + tevent_req_set_callback(subreq, winbindd_getgroups_sid2gid_done, req); +} + +static void winbindd_getgroups_sid2gid_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct winbindd_getgroups_state *state = tevent_req_data( + req, struct winbindd_getgroups_state); + NTSTATUS status; + + status = wb_sid2gid_recv(subreq, &state->gids[state->num_gids]); + TALLOC_FREE(subreq); + + /* + * In case of failure, just continue with the next gid + */ + if (NT_STATUS_IS_OK(status)) { + state->num_gids += 1; + } + state->next_sid += 1; + + if (state->next_sid >= state->num_sids) { + tevent_req_done(req); + return; + } + + subreq = wb_sid2gid_send(state, state->ev, + &state->sids[state->next_sid]); + if (tevent_req_nomem(subreq, req)) { + return; + } + tevent_req_set_callback(subreq, winbindd_getgroups_sid2gid_done, req); +} + +NTSTATUS winbindd_getgroups_recv(struct tevent_req *req, + struct winbindd_response *response) +{ + struct winbindd_getgroups_state *state = tevent_req_data( + req, struct winbindd_getgroups_state); + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + DEBUG(5, ("Could not convert sid %s: %s\n", + sid_string_dbg(&state->sid), nt_errstr(status))); + return status; + } + + response->data.num_entries = state->num_gids; + + if (state->num_gids > 0) { + response->extra_data.data = talloc_move(response, + &state->gids); + response->length += state->num_gids * sizeof(gid_t); + } + return NT_STATUS_OK; +} diff --git a/source3/winbindd/winbindd_getpwnam.c b/source3/winbindd/winbindd_getpwnam.c new file mode 100644 index 0000000000..80b618c4aa --- /dev/null +++ b/source3/winbindd/winbindd_getpwnam.c @@ -0,0 +1,142 @@ +/* + Unix SMB/CIFS implementation. + async implementation of WINBINDD_GETPWNAM + Copyright (C) Volker Lendecke 2009 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "includes.h" +#include "winbindd.h" + +struct winbindd_getpwnam_state { + struct tevent_context *ev; + fstring domname; + fstring username; + struct dom_sid sid; + enum lsa_SidType type; + struct winbindd_pw pw; +}; + +static void winbindd_getpwnam_lookupname_done(struct tevent_req *subreq); +static void winbindd_getpwnam_done(struct tevent_req *subreq); + +struct tevent_req *winbindd_getpwnam_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct winbindd_request *request) +{ + struct tevent_req *req, *subreq; + struct winbindd_getpwnam_state *state; + char *domuser, *mapped_user; + NTSTATUS status; + + req = tevent_req_create(mem_ctx, &state, + struct winbindd_getpwnam_state); + if (req == NULL) { + return NULL; + } + state->ev = ev; + + /* Ensure null termination */ + request->data.username[sizeof(request->data.username)-1]='\0'; + + DEBUG(3, ("getpwnam %s\n", request->data.username)); + + domuser = request->data.username; + + status = normalize_name_unmap(state, domuser, &mapped_user); + + if (NT_STATUS_IS_OK(status) + || NT_STATUS_EQUAL(status, NT_STATUS_FILE_RENAMED)) { + /* normalize_name_unmapped did something */ + domuser = mapped_user; + } + + if (!parse_domain_user(domuser, state->domname, state->username)) { + DEBUG(5, ("Could not parse domain user: %s\n", domuser)); + tevent_req_nterror(req, NT_STATUS_INVALID_PARAMETER); + return tevent_req_post(req, ev); + } + + if (lp_winbind_trusted_domains_only() + && strequal(state->domname, lp_workgroup())) { + DEBUG(7,("winbindd_getpwnam: My domain -- " + "rejecting getpwnam() for %s\\%s.\n", + state->domname, state->username)); + tevent_req_nterror(req, NT_STATUS_NO_SUCH_USER); + return tevent_req_post(req, ev); + } + + subreq = wb_lookupname_send(state, ev, state->domname, state->username, + LOOKUP_NAME_NO_NSS); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, winbindd_getpwnam_lookupname_done, + req); + return req; +} + +static void winbindd_getpwnam_lookupname_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct winbindd_getpwnam_state *state = tevent_req_data( + req, struct winbindd_getpwnam_state); + NTSTATUS status; + + status = wb_lookupname_recv(subreq, &state->sid, &state->type); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + + subreq = wb_getpwsid_send(state, state->ev, &state->sid, &state->pw); + if (tevent_req_nomem(subreq, req)) { + return; + } + tevent_req_set_callback(subreq, winbindd_getpwnam_done, req); +} + +static void winbindd_getpwnam_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + NTSTATUS status; + + status = wb_getpwsid_recv(subreq); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + tevent_req_done(req); +} + +NTSTATUS winbindd_getpwnam_recv(struct tevent_req *req, + struct winbindd_response *response) +{ + struct winbindd_getpwnam_state *state = tevent_req_data( + req, struct winbindd_getpwnam_state); + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + DEBUG(5, ("Could not convert sid %s: %s\n", + sid_string_dbg(&state->sid), nt_errstr(status))); + return status; + } + response->data.pw = state->pw; + return NT_STATUS_OK; +} diff --git a/source3/winbindd/winbindd_getpwsid.c b/source3/winbindd/winbindd_getpwsid.c new file mode 100644 index 0000000000..135cbf6f61 --- /dev/null +++ b/source3/winbindd/winbindd_getpwsid.c @@ -0,0 +1,92 @@ +/* + Unix SMB/CIFS implementation. + async implementation of WINBINDD_GETPWSID + Copyright (C) Volker Lendecke 2009 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "includes.h" +#include "winbindd.h" + +struct winbindd_getpwsid_state { + struct dom_sid sid; + struct winbindd_pw pw; +}; + +static void winbindd_getpwsid_done(struct tevent_req *subreq); + +struct tevent_req *winbindd_getpwsid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct winbindd_request *request) +{ + struct tevent_req *req, *subreq; + struct winbindd_getpwsid_state *state; + + req = tevent_req_create(mem_ctx, &state, + struct winbindd_getpwsid_state); + if (req == NULL) { + return NULL; + } + + /* Ensure null termination */ + request->data.sid[sizeof(request->data.sid)-1]='\0'; + + DEBUG(3, ("getpwsid %s\n", request->data.sid)); + + if (!string_to_sid(&state->sid, request->data.sid)) { + DEBUG(1, ("Could not get convert sid %s from string\n", + request->data.sid)); + tevent_req_nterror(req, NT_STATUS_INVALID_PARAMETER); + return tevent_req_post(req, ev); + } + + subreq = wb_getpwsid_send(state, ev, &state->sid, &state->pw); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, winbindd_getpwsid_done, req); + return req; +} + +static void winbindd_getpwsid_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + NTSTATUS status; + + status = wb_getpwsid_recv(subreq); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + tevent_req_done(req); +} + +NTSTATUS winbindd_getpwsid_recv(struct tevent_req *req, + struct winbindd_response *response) +{ + struct winbindd_getpwsid_state *state = tevent_req_data( + req, struct winbindd_getpwsid_state); + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + DEBUG(5, ("Could not convert sid %s: %s\n", + sid_string_dbg(&state->sid), nt_errstr(status))); + return status; + } + response->data.pw = state->pw; + return NT_STATUS_OK; +} diff --git a/source3/winbindd/winbindd_getpwuid.c b/source3/winbindd/winbindd_getpwuid.c new file mode 100644 index 0000000000..0c667cfccc --- /dev/null +++ b/source3/winbindd/winbindd_getpwuid.c @@ -0,0 +1,108 @@ +/* + Unix SMB/CIFS implementation. + async implementation of WINBINDD_GETPWUID + Copyright (C) Volker Lendecke 2009 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "includes.h" +#include "winbindd.h" + +struct winbindd_getpwuid_state { + struct tevent_context *ev; + struct dom_sid sid; + struct winbindd_pw pw; +}; + +static void winbindd_getpwuid_uid2sid_done(struct tevent_req *subreq); +static void winbindd_getpwuid_done(struct tevent_req *subreq); + +struct tevent_req *winbindd_getpwuid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct winbindd_request *request) +{ + struct tevent_req *req, *subreq; + struct winbindd_getpwuid_state *state; + + req = tevent_req_create(mem_ctx, &state, + struct winbindd_getpwuid_state); + if (req == NULL) { + return NULL; + } + state->ev = ev; + + DEBUG(3, ("getpwuid %d\n", (int)request->data.uid)); + + subreq = wb_uid2sid_send(state, ev, request->data.uid); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, winbindd_getpwuid_uid2sid_done, + req); + return req; +} + +static void winbindd_getpwuid_uid2sid_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct winbindd_getpwuid_state *state = tevent_req_data( + req, struct winbindd_getpwuid_state); + NTSTATUS status; + + status = wb_uid2sid_recv(subreq, &state->sid); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + + subreq = wb_getpwsid_send(state, state->ev, &state->sid, &state->pw); + if (tevent_req_nomem(subreq, req)) { + return; + } + tevent_req_set_callback(subreq, winbindd_getpwuid_done, req); +} + +static void winbindd_getpwuid_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + NTSTATUS status; + + status = wb_getpwsid_recv(subreq); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + tevent_req_done(req); +} + +NTSTATUS winbindd_getpwuid_recv(struct tevent_req *req, + struct winbindd_response *response) +{ + struct winbindd_getpwuid_state *state = tevent_req_data( + req, struct winbindd_getpwuid_state); + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + DEBUG(5, ("Could not convert sid %s: %s\n", + sid_string_dbg(&state->sid), nt_errstr(status))); + return status; + } + response->data.pw = state->pw; + return NT_STATUS_OK; +} diff --git a/source3/winbindd/winbindd_getsidaliases.c b/source3/winbindd/winbindd_getsidaliases.c new file mode 100644 index 0000000000..788c88f550 --- /dev/null +++ b/source3/winbindd/winbindd_getsidaliases.c @@ -0,0 +1,137 @@ +/* + Unix SMB/CIFS implementation. + async implementation of WINBINDD_GETSIDALIASES + Copyright (C) Volker Lendecke 2009 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "includes.h" +#include "winbindd.h" + +struct winbindd_getsidaliases_state { + struct dom_sid sid; + uint32_t num_aliases; + uint32_t *aliases; +}; + +static void winbindd_getsidaliases_done(struct tevent_req *subreq); + +struct tevent_req *winbindd_getsidaliases_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct winbindd_request *request) +{ + struct tevent_req *req, *subreq; + struct winbindd_getsidaliases_state *state; + struct winbindd_domain *domain; + size_t num_sids; + struct dom_sid *sids; + + req = tevent_req_create(mem_ctx, &state, + struct winbindd_getsidaliases_state); + if (req == NULL) { + return NULL; + } + + /* Ensure null termination */ + request->data.sid[sizeof(request->data.sid)-1]='\0'; + + DEBUG(3, ("getsidaliases %s\n", request->data.sid)); + + if (!string_to_sid(&state->sid, request->data.sid)) { + DEBUG(1, ("Could not get convert sid %s from string\n", + request->data.sid)); + tevent_req_nterror(req, NT_STATUS_INVALID_PARAMETER); + return tevent_req_post(req, ev); + } + + domain = find_domain_from_sid_noinit(&state->sid); + if (domain == NULL) { + DEBUG(1,("could not find domain entry for sid %s\n", + request->data.sid)); + tevent_req_nterror(req, NT_STATUS_NO_SUCH_DOMAIN); + return tevent_req_post(req, ev); + } + + num_sids = 0; + sids = NULL; + + if ((request->extra_data.data != NULL) + && !parse_sidlist(state, request->extra_data.data, + &sids, &num_sids)) { + DEBUG(1, ("Could not parse SID list: %s\n", + request->extra_data.data)); + tevent_req_nterror(req, NT_STATUS_INVALID_PARAMETER); + return tevent_req_post(req, ev); + } + + subreq = wb_lookupuseraliases_send(state, ev, domain, num_sids, sids); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, winbindd_getsidaliases_done, req); + return req; +} + +static void winbindd_getsidaliases_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct winbindd_getsidaliases_state *state = tevent_req_data( + req, struct winbindd_getsidaliases_state); + NTSTATUS status; + + status = wb_lookupuseraliases_recv(subreq, state, &state->num_aliases, + &state->aliases); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + tevent_req_done(req); +} + +NTSTATUS winbindd_getsidaliases_recv(struct tevent_req *req, + struct winbindd_response *response) +{ + struct winbindd_getsidaliases_state *state = tevent_req_data( + req, struct winbindd_getsidaliases_state); + NTSTATUS status; + int i; + char *sidlist; + + if (tevent_req_is_nterror(req, &status)) { + return status; + } + + sidlist = talloc_strdup(response, ""); + if (sidlist == NULL) { + return NT_STATUS_NO_MEMORY; + } + for (i=0; i<state->num_aliases; i++) { + struct dom_sid sid; + fstring tmp; + sid_compose(&sid, &state->sid, state->aliases[i]); + + sidlist = talloc_asprintf_append_buffer( + sidlist, "%s\n", sid_to_fstring(tmp, &sid)); + if (sidlist == NULL) { + return NT_STATUS_NO_MEMORY; + } + } + response->extra_data.data = sidlist; + response->length += talloc_get_size(sidlist); + response->data.num_entries = state->num_aliases; + return NT_STATUS_OK; +} diff --git a/source3/winbindd/winbindd_getuserdomgroups.c b/source3/winbindd/winbindd_getuserdomgroups.c new file mode 100644 index 0000000000..e67768307f --- /dev/null +++ b/source3/winbindd/winbindd_getuserdomgroups.c @@ -0,0 +1,121 @@ +/* + Unix SMB/CIFS implementation. + async implementation of WINBINDD_GETUSERDOMGROUPS + Copyright (C) Volker Lendecke 2009 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "includes.h" +#include "winbindd.h" + +struct winbindd_getuserdomgroups_state { + struct dom_sid sid; + int num_sids; + struct dom_sid *sids; +}; + +static void winbindd_getuserdomgroups_done(struct tevent_req *subreq); + +struct tevent_req *winbindd_getuserdomgroups_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct winbindd_request *request) +{ + struct tevent_req *req, *subreq; + struct winbindd_getuserdomgroups_state *state; + struct winbindd_domain *domain; + + req = tevent_req_create(mem_ctx, &state, + struct winbindd_getuserdomgroups_state); + if (req == NULL) { + return NULL; + } + + /* Ensure null termination */ + request->data.sid[sizeof(request->data.sid)-1]='\0'; + + DEBUG(3, ("getuserdomgroups %s\n", request->data.sid)); + + if (!string_to_sid(&state->sid, request->data.sid)) { + DEBUG(1, ("Could not get convert sid %s from string\n", + request->data.sid)); + tevent_req_nterror(req, NT_STATUS_INVALID_PARAMETER); + return tevent_req_post(req, ev); + } + + domain = find_domain_from_sid_noinit(&state->sid); + if (domain == NULL) { + DEBUG(1,("could not find domain entry for sid %s\n", + request->data.sid)); + tevent_req_nterror(req, NT_STATUS_NO_SUCH_DOMAIN); + return tevent_req_post(req, ev); + } + + subreq = wb_lookupusergroups_send(state, ev, domain, &state->sid); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, winbindd_getuserdomgroups_done, req); + return req; +} + +static void winbindd_getuserdomgroups_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct winbindd_getuserdomgroups_state *state = tevent_req_data( + req, struct winbindd_getuserdomgroups_state); + NTSTATUS status; + + status = wb_lookupusergroups_recv(subreq, state, &state->num_sids, + &state->sids); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + tevent_req_done(req); +} + +NTSTATUS winbindd_getuserdomgroups_recv(struct tevent_req *req, + struct winbindd_response *response) +{ + struct winbindd_getuserdomgroups_state *state = tevent_req_data( + req, struct winbindd_getuserdomgroups_state); + NTSTATUS status; + int i; + char *sidlist; + + if (tevent_req_is_nterror(req, &status)) { + return status; + } + + sidlist = talloc_strdup(response, ""); + if (sidlist == NULL) { + return NT_STATUS_NO_MEMORY; + } + for (i=0; i<state->num_sids; i++) { + fstring tmp; + sidlist = talloc_asprintf_append_buffer( + sidlist, "%s\n", + sid_to_fstring(tmp, &state->sids[i])); + if (sidlist == NULL) { + return NT_STATUS_NO_MEMORY; + } + } + response->extra_data.data = sidlist; + response->length += talloc_get_size(sidlist); + response->data.num_entries = state->num_sids; + return NT_STATUS_OK; +} diff --git a/source3/winbindd/winbindd_gid_to_sid.c b/source3/winbindd/winbindd_gid_to_sid.c new file mode 100644 index 0000000000..b2cc3c2613 --- /dev/null +++ b/source3/winbindd/winbindd_gid_to_sid.c @@ -0,0 +1,87 @@ +/* + Unix SMB/CIFS implementation. + async implementation of WINBINDD_GID_TO_SID + Copyright (C) Volker Lendecke 2009 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "includes.h" +#include "winbindd.h" + +struct winbindd_gid_to_sid_state { + struct tevent_context *ev; + gid_t gid; + struct dom_sid sid; +}; + +static void winbindd_gid_to_sid_done(struct tevent_req *subreq); + +struct tevent_req *winbindd_gid_to_sid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct winbindd_request *request) +{ + struct tevent_req *req, *subreq; + struct winbindd_gid_to_sid_state *state; + + req = tevent_req_create(mem_ctx, &state, + struct winbindd_gid_to_sid_state); + if (req == NULL) { + return NULL; + } + state->ev = ev; + + DEBUG(3, ("gid_to_sid %d\n", (int)request->data.gid)); + + subreq = wb_gid2sid_send(state, ev, request->data.gid); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, winbindd_gid_to_sid_done, req); + return req; +} + +static void winbindd_gid_to_sid_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct winbindd_gid_to_sid_state *state = tevent_req_data( + req, struct winbindd_gid_to_sid_state); + NTSTATUS status; + + status = wb_gid2sid_recv(subreq, &state->sid); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + tevent_req_done(req); +} + +NTSTATUS winbindd_gid_to_sid_recv(struct tevent_req *req, + struct winbindd_response *response) +{ + struct winbindd_gid_to_sid_state *state = tevent_req_data( + req, struct winbindd_gid_to_sid_state); + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + DEBUG(5, ("Could not convert sid %s: %s\n", + sid_string_dbg(&state->sid), nt_errstr(status))); + return status; + } + sid_to_fstring(response->data.sid.sid, &state->sid); + response->data.sid.type = SID_NAME_USER; + return NT_STATUS_OK; +} diff --git a/source3/winbindd/winbindd_group.c b/source3/winbindd/winbindd_group.c index f78becb699..c1a898d73b 100644 --- a/source3/winbindd/winbindd_group.c +++ b/source3/winbindd/winbindd_group.c @@ -1559,178 +1559,6 @@ struct getgroups_state { size_t num_token_gids; }; -static void getgroups_usersid_recv(void *private_data, bool success, - const DOM_SID *sid, enum lsa_SidType type); -static void getgroups_tokensids_recv(void *private_data, bool success, - DOM_SID *token_sids, size_t num_token_sids); -static void getgroups_sid2gid_recv(void *private_data, bool success, gid_t gid); - -void winbindd_getgroups(struct winbindd_cli_state *state) -{ - struct getgroups_state *s; - char *real_name = NULL; - NTSTATUS nt_status = NT_STATUS_UNSUCCESSFUL; - - /* Ensure null termination */ - state->request->data.username - [sizeof(state->request->data.username)-1]='\0'; - - DEBUG(3, ("[%5lu]: getgroups %s\n", (unsigned long)state->pid, - state->request->data.username)); - - /* Parse domain and username */ - - s = TALLOC_P(state->mem_ctx, struct getgroups_state); - if (s == NULL) { - DEBUG(0, ("talloc failed\n")); - request_error(state); - return; - } - - s->state = state; - - nt_status = normalize_name_unmap(state->mem_ctx, - state->request->data.username, - &real_name); - - /* Reset the real_name pointer if we didn't do anything - productive in the above call */ - if (!NT_STATUS_IS_OK(nt_status) && - !NT_STATUS_EQUAL(nt_status, NT_STATUS_FILE_RENAMED)) - { - real_name = state->request->data.username; - } - - if (!parse_domain_user_talloc(state->mem_ctx, real_name, - &s->domname, &s->username)) { - DEBUG(5, ("Could not parse domain user: %s\n", - real_name)); - - /* error out if we do not have nested group support */ - - if ( !lp_winbind_nested_groups() ) { - request_error(state); - return; - } - - s->domname = talloc_strdup(state->mem_ctx, - get_global_sam_name()); - s->username = talloc_strdup(state->mem_ctx, - state->request->data.username); - } - - /* Get info for the domain (either by short domain name or - DNS name in the case of a UPN) */ - - s->domain = find_domain_from_name_noinit(s->domname); - if (!s->domain) { - char *p = strchr(s->username, '@'); - - if (p) { - s->domain = find_domain_from_name_noinit(p+1); - } - - } - - if (s->domain == NULL) { - DEBUG(7, ("could not find domain entry for domain %s\n", - s->domname)); - request_error(state); - return; - } - - if ( s->domain->primary && lp_winbind_trusted_domains_only()) { - DEBUG(7,("winbindd_getgroups: My domain -- rejecting " - "getgroups() for %s\\%s.\n", s->domname, - s->username)); - request_error(state); - return; - } - - /* Get rid and name type from name. The following costs 1 packet */ - - winbindd_lookupname_async(state->mem_ctx, - s->domname, s->username, - getgroups_usersid_recv, - WINBINDD_GETGROUPS, s); -} - -static void getgroups_usersid_recv(void *private_data, bool success, - const DOM_SID *sid, enum lsa_SidType type) -{ - struct getgroups_state *s = - (struct getgroups_state *)private_data; - - if ((!success) || - ((type != SID_NAME_USER) && (type != SID_NAME_COMPUTER))) { - request_error(s->state); - return; - } - - sid_copy(&s->user_sid, sid); - - winbindd_gettoken_async(s->state->mem_ctx, &s->user_sid, - getgroups_tokensids_recv, s); -} - -static void getgroups_tokensids_recv(void *private_data, bool success, - DOM_SID *token_sids, size_t num_token_sids) -{ - struct getgroups_state *s = - (struct getgroups_state *)private_data; - - /* We need at least the user sid and the primary group in the token, - * otherwise it's an error */ - - if ((!success) || (num_token_sids < 2)) { - request_error(s->state); - return; - } - - s->token_sids = token_sids; - s->num_token_sids = num_token_sids; - s->i = 0; - - s->token_gids = NULL; - s->num_token_gids = 0; - - getgroups_sid2gid_recv(s, False, 0); -} - -static void getgroups_sid2gid_recv(void *private_data, bool success, gid_t gid) -{ - struct getgroups_state *s = - (struct getgroups_state *)private_data; - - if (success) { - if (!add_gid_to_array_unique(s->state->mem_ctx, gid, - &s->token_gids, - &s->num_token_gids)) { - return; - } - } - - if (s->i < s->num_token_sids) { - const DOM_SID *sid = &s->token_sids[s->i]; - s->i += 1; - - if (sid_equal(sid, &s->user_sid)) { - getgroups_sid2gid_recv(s, False, 0); - return; - } - - winbindd_sid2gid_async(s->state->mem_ctx, sid, - getgroups_sid2gid_recv, s); - return; - } - - s->state->response->data.num_entries = s->num_token_gids; - if (s->num_token_gids) { - s->state->response->extra_data.data = s->token_gids; - s->state->response->length += s->num_token_gids * sizeof(gid_t); - } - request_ok(s->state); -} /* Get user supplementary sids. This is equivalent to the winbindd_getgroups() function but it involves a SID->SIDs mapping @@ -1815,32 +1643,6 @@ static void getusersids_recv(void *private_data, bool success, DOM_SID *sids, request_ok(state); } -void winbindd_getuserdomgroups(struct winbindd_cli_state *state) -{ - DOM_SID user_sid; - struct winbindd_domain *domain; - - /* Ensure null termination */ - state->request->data.sid[sizeof(state->request->data.sid)-1]='\0'; - - if (!string_to_sid(&user_sid, state->request->data.sid)) { - DEBUG(1, ("Could not get convert sid %s from string\n", - state->request->data.sid)); - request_error(state); - return; - } - - /* Get info for the domain */ - if ((domain = find_domain_from_sid_noinit(&user_sid)) == NULL) { - DEBUG(0,("could not find domain entry for sid %s\n", - sid_string_dbg(&user_sid))); - request_error(state); - return; - } - - sendto_domain(state, domain); -} - enum winbindd_result winbindd_dual_getuserdomgroups(struct winbindd_domain *domain, struct winbindd_cli_state *state) { @@ -1887,32 +1689,6 @@ enum winbindd_result winbindd_dual_getuserdomgroups(struct winbindd_domain *doma return WINBINDD_OK; } -void winbindd_getsidaliases(struct winbindd_cli_state *state) -{ - DOM_SID domain_sid; - struct winbindd_domain *domain; - - /* Ensure null termination */ - state->request->data.sid[sizeof(state->request->data.sid)-1]='\0'; - - if (!string_to_sid(&domain_sid, state->request->data.sid)) { - DEBUG(1, ("Could not get convert sid %s from string\n", - state->request->data.sid)); - request_error(state); - return; - } - - /* Get info for the domain */ - if ((domain = find_domain_from_sid_noinit(&domain_sid)) == NULL) { - DEBUG(0,("could not find domain entry for sid %s\n", - sid_string_dbg(&domain_sid))); - request_error(state); - return; - } - - sendto_domain(state, domain); -} - enum winbindd_result winbindd_dual_getsidaliases(struct winbindd_domain *domain, struct winbindd_cli_state *state) { diff --git a/source3/winbindd/winbindd_idmap.c b/source3/winbindd/winbindd_idmap.c index 6e24a9c212..7bcc58a014 100644 --- a/source3/winbindd/winbindd_idmap.c +++ b/source3/winbindd/winbindd_idmap.c @@ -565,6 +565,10 @@ static const struct winbindd_child_dispatch_table idmap_dispatch_table[] = { .struct_cmd = WINBINDD_ALLOCATE_GID, .struct_fn = winbindd_dual_allocate_gid, },{ + .name = "NDRCMD", + .struct_cmd = WINBINDD_DUAL_NDRCMD, + .struct_fn = winbindd_dual_ndrcmd, + },{ .name = NULL, } }; diff --git a/source3/winbindd/winbindd_locator.c b/source3/winbindd/winbindd_locator.c index 43dadfae29..b35d8dcf54 100644 --- a/source3/winbindd/winbindd_locator.c +++ b/source3/winbindd/winbindd_locator.c @@ -165,6 +165,10 @@ static const struct winbindd_child_dispatch_table locator_dispatch_table[] = { .struct_cmd = WINBINDD_DSGETDCNAME, .struct_fn = dual_dsgetdcname, },{ + .name = "NDRCMD", + .struct_cmd = WINBINDD_DUAL_NDRCMD, + .struct_fn = winbindd_dual_ndrcmd, + },{ .name = NULL, } }; diff --git a/source3/winbindd/winbindd_lookupname.c b/source3/winbindd/winbindd_lookupname.c new file mode 100644 index 0000000000..0918076717 --- /dev/null +++ b/source3/winbindd/winbindd_lookupname.c @@ -0,0 +1,110 @@ +/* + Unix SMB/CIFS implementation. + async implementation of WINBINDD_GETPWNAM + Copyright (C) Volker Lendecke 2009 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "includes.h" +#include "winbindd.h" + +struct winbindd_lookupname_state { + struct tevent_context *ev; + struct dom_sid sid; + enum lsa_SidType type; +}; + +static void winbindd_lookupname_done(struct tevent_req *subreq); + +struct tevent_req *winbindd_lookupname_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct winbindd_request *request) +{ + struct tevent_req *req, *subreq; + struct winbindd_lookupname_state *state; + char *domname, *name, *p; + + req = tevent_req_create(mem_ctx, &state, + struct winbindd_lookupname_state); + if (req == NULL) { + return NULL; + } + state->ev = ev; + + /* Ensure null termination */ + request->data.name.dom_name[ + sizeof(request->data.name.dom_name)-1]='\0'; + request->data.name.name[sizeof(request->data.name.name)-1]='\0'; + + /* cope with the name being a fully qualified name */ + p = strstr(request->data.name.name, lp_winbind_separator()); + if (p) { + *p = 0; + domname = request->data.name.name; + name = p+1; + } else if ((p = strchr(request->data.name.name, '@')) != NULL) { + /* upn */ + domname = p + 1; + *p = 0; + name = request->data.name.name; + } else { + domname = request->data.name.dom_name; + name = request->data.name.name; + } + + DEBUG(3, ("lookupname %s%s%s\n", domname, lp_winbind_separator(), + name)); + + subreq = wb_lookupname_send(state, ev, domname, name, 0); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, winbindd_lookupname_done, req); + return req; +} + +static void winbindd_lookupname_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct winbindd_lookupname_state *state = tevent_req_data( + req, struct winbindd_lookupname_state); + NTSTATUS status; + + status = wb_lookupname_recv(subreq, &state->sid, &state->type); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + tevent_req_done(req); +} + +NTSTATUS winbindd_lookupname_recv(struct tevent_req *req, + struct winbindd_response *response) +{ + struct winbindd_lookupname_state *state = tevent_req_data( + req, struct winbindd_lookupname_state); + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + DEBUG(5, ("Could not convert sid %s: %s\n", + sid_string_dbg(&state->sid), nt_errstr(status))); + return status; + } + sid_to_fstring(response->data.sid.sid, &state->sid); + response->data.sid.type = state->type; + return NT_STATUS_OK; +} diff --git a/source3/winbindd/winbindd_lookupsid.c b/source3/winbindd/winbindd_lookupsid.c new file mode 100644 index 0000000000..7647f1d682 --- /dev/null +++ b/source3/winbindd/winbindd_lookupsid.c @@ -0,0 +1,101 @@ +/* + Unix SMB/CIFS implementation. + async implementation of WINBINDD_GETPWNAM + Copyright (C) Volker Lendecke 2009 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "includes.h" +#include "winbindd.h" + +struct winbindd_lookupsid_state { + struct tevent_context *ev; + struct dom_sid sid; + enum lsa_SidType type; + const char *domname; + const char *name; +}; + +static void winbindd_lookupsid_done(struct tevent_req *subreq); + +struct tevent_req *winbindd_lookupsid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct winbindd_request *request) +{ + struct tevent_req *req, *subreq; + struct winbindd_lookupsid_state *state; + + req = tevent_req_create(mem_ctx, &state, + struct winbindd_lookupsid_state); + if (req == NULL) { + return NULL; + } + state->ev = ev; + + /* Ensure null termination */ + request->data.sid[sizeof(request->data.sid)-1]='\0'; + + DEBUG(3, ("lookupsid %s\n", request->data.sid)); + + if (!string_to_sid(&state->sid, request->data.sid)) { + DEBUG(5, ("%s not a SID\n", request->data.sid)); + tevent_req_nterror(req, NT_STATUS_INVALID_PARAMETER); + return tevent_req_post(req, ev);; + } + + subreq = wb_lookupsid_send(state, ev, &state->sid); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, winbindd_lookupsid_done, req); + return req; +} + +static void winbindd_lookupsid_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct winbindd_lookupsid_state *state = tevent_req_data( + req, struct winbindd_lookupsid_state); + NTSTATUS status; + + status = wb_lookupsid_recv(subreq, state, &state->type, + &state->domname, &state->name); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + tevent_req_done(req); +} + +NTSTATUS winbindd_lookupsid_recv(struct tevent_req *req, + struct winbindd_response *response) +{ + struct winbindd_lookupsid_state *state = tevent_req_data( + req, struct winbindd_lookupsid_state); + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + DEBUG(5, ("Could not lookup sid %s: %s\n", + sid_string_dbg(&state->sid), nt_errstr(status))); + return status; + } + + fstrcpy(response->data.name.dom_name, state->domname); + fstrcpy(response->data.name.name, state->name); + response->data.name.type = state->type; + return NT_STATUS_OK; +} diff --git a/source3/winbindd/winbindd_misc.c b/source3/winbindd/winbindd_misc.c index 3f71910023..c6608316d1 100644 --- a/source3/winbindd/winbindd_misc.c +++ b/source3/winbindd/winbindd_misc.c @@ -741,12 +741,6 @@ static void domain_info_done(struct tevent_req *req) request_ok(state->cli); } -void winbindd_ping(struct winbindd_cli_state *state) -{ - DEBUG(3, ("[%5lu]: ping\n", (unsigned long)state->pid)); - request_ok(state); -} - /* List various tidbits of information */ void winbindd_info(struct winbindd_cli_state *state) diff --git a/source3/winbindd/winbindd_proto.h b/source3/winbindd/winbindd_proto.h index c9decf8cc4..a9a374a532 100644 --- a/source3/winbindd/winbindd_proto.h +++ b/source3/winbindd/winbindd_proto.h @@ -100,7 +100,7 @@ enum winbindd_result winbindd_dual_list_groups(struct winbindd_domain *domain, struct winbindd_cli_state *state); bool print_sidlist(TALLOC_CTX *mem_ctx, const DOM_SID *sids, size_t num_sids, char **result, ssize_t *len); -bool parse_sidlist(TALLOC_CTX *mem_ctx, char *sidstr, +bool parse_sidlist(TALLOC_CTX *mem_ctx, const char *sidstr, DOM_SID **sids, size_t *num_sids); enum winbindd_result winbindd_dual_lookuprids(struct winbindd_domain *domain, struct winbindd_cli_state *state); @@ -149,6 +149,12 @@ bool wcache_invalidate_cache(void); bool init_wcache(void); bool initialize_winbindd_cache(void); void close_winbindd_cache(void); +NTSTATUS wcache_sid_to_name(struct winbindd_domain *domain, + const struct dom_sid *sid, + TALLOC_CTX *mem_ctx, + char **domain_name, + char **name, + enum lsa_SidType *type); bool lookup_cached_sid(TALLOC_CTX *mem_ctx, const DOM_SID *sid, char **domain_name, char **name, enum lsa_SidType *type); @@ -160,6 +166,25 @@ bool lookup_cached_name(TALLOC_CTX *mem_ctx, void cache_name2sid(struct winbindd_domain *domain, const char *domain_name, const char *name, enum lsa_SidType type, const DOM_SID *sid); +NTSTATUS wcache_name_to_sid(struct winbindd_domain *domain, + const char *domain_name, + const char *name, + struct dom_sid *sid, + enum lsa_SidType *type); +NTSTATUS wcache_query_user(struct winbindd_domain *domain, + TALLOC_CTX *mem_ctx, + const struct dom_sid *user_sid, + struct winbind_userinfo *info); +NTSTATUS wcache_lookup_useraliases(struct winbindd_domain *domain, + TALLOC_CTX *mem_ctx, + uint32 num_sids, const DOM_SID *sids, + uint32 *pnum_aliases, uint32 **paliases); +NTSTATUS wcache_lookup_usergroups(struct winbindd_domain *domain, + TALLOC_CTX *mem_ctx, + const struct dom_sid *user_sid, + uint32_t *pnum_sids, + struct dom_sid **psids); + void wcache_flush_cache(void); NTSTATUS wcache_count_cached_creds(struct winbindd_domain *domain, int *count); NTSTATUS wcache_remove_oldest_cached_creds(struct winbindd_domain *domain, const DOM_SID *sid) ; @@ -330,6 +355,7 @@ void winbind_msg_dump_domain_list(struct messaging_context *msg_ctx, struct server_id server_id, DATA_BLOB *data); bool winbindd_reinit_after_fork(const char *logfilename); +struct winbindd_domain *wb_child_domain(void); /* The following definitions come from winbindd/winbindd_group.c */ @@ -492,6 +518,14 @@ enum winbindd_result winbindd_dual_allocate_gid(struct winbindd_domain *domain, /* The following definitions come from winbindd/winbindd_user.c */ +bool fillup_pw_field(const char *lp_template, + const char *username, + const char *domname, + uid_t uid, + gid_t gid, + const char *in, + fstring out); + enum winbindd_result winbindd_dual_userinfo(struct winbindd_domain *domain, struct winbindd_cli_state *state); void winbindd_getpwnam(struct winbindd_cli_state *state); @@ -594,4 +628,145 @@ NTSTATUS wb_ping_recv(struct tevent_req *req, enum winbindd_result winbindd_dual_ping(struct winbindd_domain *domain, struct winbindd_cli_state *state); +struct rpc_pipe_client *wbint_rpccli_create(TALLOC_CTX *mem_ctx, + struct winbindd_child *child); +enum winbindd_result winbindd_dual_ndrcmd(struct winbindd_domain *domain, + struct winbindd_cli_state *state); + +struct tevent_req *wb_lookupsid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + const struct dom_sid *sid); +NTSTATUS wb_lookupsid_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, + enum lsa_SidType *type, const char **domain, + const char **name); + +struct tevent_req *winbindd_lookupsid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct winbindd_request *request); +NTSTATUS winbindd_lookupsid_recv(struct tevent_req *req, + struct winbindd_response *response); + +struct tevent_req *wb_lookupname_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + const char *dom_name, const char *name, + uint32_t flags); +NTSTATUS wb_lookupname_recv(struct tevent_req *req, struct dom_sid *sid, + enum lsa_SidType *type); + +struct tevent_req *winbindd_lookupname_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct winbindd_request *request); +NTSTATUS winbindd_lookupname_recv(struct tevent_req *req, + struct winbindd_response *response); + +struct tevent_req *wb_sid2uid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + const struct dom_sid *sid); +NTSTATUS wb_sid2uid_recv(struct tevent_req *req, uid_t *uid); + +struct tevent_req *winbindd_sid_to_uid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct winbindd_request *request); +NTSTATUS winbindd_sid_to_uid_recv(struct tevent_req *req, + struct winbindd_response *response); + +struct tevent_req *wb_sid2gid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + const struct dom_sid *sid); +NTSTATUS wb_sid2gid_recv(struct tevent_req *req, gid_t *gid); + +struct tevent_req *winbindd_sid_to_gid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct winbindd_request *request); +NTSTATUS winbindd_sid_to_gid_recv(struct tevent_req *req, + struct winbindd_response *response); + +struct tevent_req *wb_uid2sid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + uid_t uid); +NTSTATUS wb_uid2sid_recv(struct tevent_req *req, struct dom_sid *sid); + +struct tevent_req *winbindd_uid_to_sid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct winbindd_request *request); +NTSTATUS winbindd_uid_to_sid_recv(struct tevent_req *req, + struct winbindd_response *response); + +struct tevent_req *wb_gid2sid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + gid_t gid); +NTSTATUS wb_gid2sid_recv(struct tevent_req *req, struct dom_sid *sid); + +struct tevent_req *winbindd_gid_to_sid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct winbindd_request *request); +NTSTATUS winbindd_gid_to_sid_recv(struct tevent_req *req, + struct winbindd_response *response); + +struct tevent_req *wb_queryuser_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + const struct dom_sid *user_sid); +NTSTATUS wb_queryuser_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, + struct winbind_userinfo **pinfo); + +struct tevent_req *wb_getpwsid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + const struct dom_sid *user_sid, + struct winbindd_pw *pw); +NTSTATUS wb_getpwsid_recv(struct tevent_req *req); + +struct tevent_req *winbindd_getpwsid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct winbindd_request *request); +NTSTATUS winbindd_getpwsid_recv(struct tevent_req *req, + struct winbindd_response *response); + +struct tevent_req *winbindd_getpwnam_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct winbindd_request *request); +NTSTATUS winbindd_getpwnam_recv(struct tevent_req *req, + struct winbindd_response *response); + +struct tevent_req *winbindd_getpwuid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct winbindd_request *request); +NTSTATUS winbindd_getpwuid_recv(struct tevent_req *req, + struct winbindd_response *response); +struct tevent_req *wb_lookupuseraliases_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct winbindd_domain *domain, + int num_sids, + const struct dom_sid *sids); +NTSTATUS wb_lookupuseraliases_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, + uint32_t *num_aliases, uint32_t **aliases); +struct tevent_req *winbindd_getsidaliases_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct winbindd_request *request); +NTSTATUS winbindd_getsidaliases_recv(struct tevent_req *req, + struct winbindd_response *response); +struct tevent_req *wb_lookupusergroups_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct winbindd_domain *domain, + const struct dom_sid *sid); +NTSTATUS wb_lookupusergroups_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, + int *num_sids, struct dom_sid **sids); + +struct tevent_req *winbindd_getuserdomgroups_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct winbindd_request *request); +NTSTATUS winbindd_getuserdomgroups_recv(struct tevent_req *req, + struct winbindd_response *response); +struct tevent_req *wb_gettoken_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + const struct dom_sid *sid); +NTSTATUS wb_gettoken_recv(struct tevent_req *req, TALLOC_CTX *mem_ctx, + int *num_sids, struct dom_sid **sids); +struct tevent_req *winbindd_getgroups_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct winbindd_request *request); +NTSTATUS winbindd_getgroups_recv(struct tevent_req *req, + struct winbindd_response *response); + + + #endif /* _WINBINDD_PROTO_H_ */ diff --git a/source3/winbindd/winbindd_sid.c b/source3/winbindd/winbindd_sid.c index f8cf7db920..db000682ae 100644 --- a/source3/winbindd/winbindd_sid.c +++ b/source3/winbindd/winbindd_sid.c @@ -27,108 +27,6 @@ /* Convert a string */ -static void lookupsid_recv(void *private_data, bool success, - const char *dom_name, const char *name, - enum lsa_SidType type); - -void winbindd_lookupsid(struct winbindd_cli_state *state) -{ - DOM_SID sid; - - /* Ensure null termination */ - state->request->data.sid[sizeof(state->request->data.sid)-1]='\0'; - - DEBUG(3, ("[%5lu]: lookupsid %s\n", (unsigned long)state->pid, - state->request->data.sid)); - - if (!string_to_sid(&sid, state->request->data.sid)) { - DEBUG(5, ("%s not a SID\n", state->request->data.sid)); - request_error(state); - return; - } - - winbindd_lookupsid_async(state->mem_ctx, &sid, lookupsid_recv, state); -} - -static void lookupsid_recv(void *private_data, bool success, - const char *dom_name, const char *name, - enum lsa_SidType type) -{ - struct winbindd_cli_state *state = - talloc_get_type_abort(private_data, struct winbindd_cli_state); - - if (!success) { - DEBUG(5, ("lookupsid returned an error\n")); - request_error(state); - return; - } - - fstrcpy(state->response->data.name.dom_name, dom_name); - fstrcpy(state->response->data.name.name, name); - state->response->data.name.type = type; - request_ok(state); -} - -/** - * Look up the SID for a qualified name. - **/ - -static void lookupname_recv(void *private_data, bool success, - const DOM_SID *sid, enum lsa_SidType type); - -void winbindd_lookupname(struct winbindd_cli_state *state) -{ - char *name_domain, *name_user; - char *p; - - /* Ensure null termination */ - state->request->data.name.dom_name[sizeof(state->request->data.name.dom_name)-1]='\0'; - - /* Ensure null termination */ - state->request->data.name.name[sizeof(state->request->data.name.name)-1]='\0'; - - /* cope with the name being a fully qualified name */ - p = strstr(state->request->data.name.name, lp_winbind_separator()); - if (p) { - *p = 0; - name_domain = state->request->data.name.name; - name_user = p+1; - } else if ((p = strchr(state->request->data.name.name, '@')) != NULL) { - /* upn */ - name_domain = p + 1; - *p = 0; - name_user = state->request->data.name.name; - } else { - name_domain = state->request->data.name.dom_name; - name_user = state->request->data.name.name; - } - - DEBUG(3, ("[%5lu]: lookupname %s%s%s\n", (unsigned long)state->pid, - name_domain, lp_winbind_separator(), name_user)); - - winbindd_lookupname_async(state->mem_ctx, name_domain, name_user, - lookupname_recv, WINBINDD_LOOKUPNAME, - state); -} - -static void lookupname_recv(void *private_data, bool success, - const DOM_SID *sid, enum lsa_SidType type) -{ - struct winbindd_cli_state *state = - talloc_get_type_abort(private_data, struct winbindd_cli_state); - - if (!success) { - DEBUG(5, ("lookupname returned an error\n")); - request_error(state); - return; - } - - sid_to_fstring(state->response->data.sid.sid, sid); - state->response->data.sid.type = type; - request_ok(state); - return; -} - void winbindd_lookuprids(struct winbindd_cli_state *state) { struct winbindd_domain *domain; @@ -157,228 +55,6 @@ void winbindd_lookuprids(struct winbindd_cli_state *state) sendto_domain(state, domain); } -/* Convert a sid to a uid. We assume we only have one rid attached to the - sid. */ - -static void sid2uid_recv(void *private_data, bool success, uid_t uid) -{ - struct winbindd_cli_state *state = - talloc_get_type_abort(private_data, struct winbindd_cli_state); - struct dom_sid sid; - - string_to_sid(&sid, state->request->data.sid); - - if (!success) { - DEBUG(5, ("Could not convert sid %s\n", - state->request->data.sid)); - request_error(state); - return; - } - - state->response->data.uid = uid; - request_ok(state); -} - -static void sid2uid_lookupsid_recv( void *private_data, bool success, - const char *domain_name, - const char *name, - enum lsa_SidType type) -{ - struct winbindd_cli_state *state = - talloc_get_type_abort(private_data, struct winbindd_cli_state); - DOM_SID sid; - - if (!string_to_sid(&sid, state->request->data.sid)) { - DEBUG(1, ("sid2uid_lookupsid_recv: Could not get convert sid " - "%s from string\n", state->request->data.sid)); - request_error(state); - return; - } - - if (!success) { - DEBUG(5, ("sid2uid_lookupsid_recv Could not convert get sid type for %s\n", - state->request->data.sid)); - goto fail; - } - - if ( (type!=SID_NAME_USER) && (type!=SID_NAME_COMPUTER) ) { - DEBUG(5,("sid2uid_lookupsid_recv: Sid %s is not a user or a computer.\n", - state->request->data.sid)); - goto fail; - } - - /* always use the async interface (may block) */ - winbindd_sid2uid_async(state->mem_ctx, &sid, sid2uid_recv, state); - return; - - fail: - /* - * We have to set the cache ourselves here, the child which is - * normally responsible was not queried yet. - */ - idmap_cache_set_sid2uid(&sid, -1); - request_error(state); - return; -} - -void winbindd_sid_to_uid(struct winbindd_cli_state *state) -{ - DOM_SID sid; - uid_t uid; - bool expired; - - /* Ensure null termination */ - state->request->data.sid[sizeof(state->request->data.sid)-1]='\0'; - - DEBUG(3, ("[%5lu]: sid to uid %s\n", (unsigned long)state->pid, - state->request->data.sid)); - - if (!string_to_sid(&sid, state->request->data.sid)) { - DEBUG(1, ("Could not get convert sid %s from string\n", - state->request->data.sid)); - request_error(state); - return; - } - - if (idmap_cache_find_sid2uid(&sid, &uid, &expired)) { - DEBUG(10, ("idmap_cache_find_sid2uid found %d%s\n", - (int)uid, expired ? " (expired)": "")); - if (expired && IS_DOMAIN_ONLINE(find_our_domain())) { - DEBUG(10, ("revalidating expired entry\n")); - goto backend; - } - if (uid == -1) { - DEBUG(10, ("Returning negative cache entry\n")); - request_error(state); - return; - } - DEBUG(10, ("Returning positive cache entry\n")); - state->response->data.uid = uid; - request_ok(state); - return; - } - - /* Validate the SID as a user. Hopefully this will hit cache. - Needed to prevent DoS by exhausting the uid allocation - range from random SIDs. */ - - backend: - winbindd_lookupsid_async( state->mem_ctx, &sid, sid2uid_lookupsid_recv, state ); -} - -/* Convert a sid to a gid. We assume we only have one rid attached to the - sid.*/ - -static void sid2gid_recv(void *private_data, bool success, gid_t gid) -{ - struct winbindd_cli_state *state = - talloc_get_type_abort(private_data, struct winbindd_cli_state); - struct dom_sid sid; - - string_to_sid(&sid, state->request->data.sid); - - if (!success) { - DEBUG(5, ("Could not convert sid %s\n", - state->request->data.sid)); - request_error(state); - return; - } - - state->response->data.gid = gid; - request_ok(state); -} - -static void sid2gid_lookupsid_recv( void *private_data, bool success, - const char *domain_name, - const char *name, - enum lsa_SidType type) -{ - struct winbindd_cli_state *state = - talloc_get_type_abort(private_data, struct winbindd_cli_state); - DOM_SID sid; - - if (!string_to_sid(&sid, state->request->data.sid)) { - DEBUG(1, ("sid2gid_lookupsid_recv: Could not get convert sid " - "%s from string\n", state->request->data.sid)); - request_error(state); - return; - } - - if (!success) { - DEBUG(5, ("sid2gid_lookupsid_recv: Could not get sid type for %s\n", - state->request->data.sid)); - goto fail; - } - - if ( (type!=SID_NAME_DOM_GRP) && - (type!=SID_NAME_ALIAS) && - (type!=SID_NAME_WKN_GRP) ) - { - DEBUG(5,("sid2gid_lookupsid_recv: Sid %s is not a group.\n", - state->request->data.sid)); - goto fail; - } - - /* always use the async interface (may block) */ - winbindd_sid2gid_async(state->mem_ctx, &sid, sid2gid_recv, state); - return; - - fail: - /* - * We have to set the cache ourselves here, the child which is - * normally responsible was not queried yet. - */ - idmap_cache_set_sid2gid(&sid, -1); - request_error(state); - return; -} - -void winbindd_sid_to_gid(struct winbindd_cli_state *state) -{ - DOM_SID sid; - gid_t gid; - bool expired; - - /* Ensure null termination */ - state->request->data.sid[sizeof(state->request->data.sid)-1]='\0'; - - DEBUG(3, ("[%5lu]: sid to gid %s\n", (unsigned long)state->pid, - state->request->data.sid)); - - if (!string_to_sid(&sid, state->request->data.sid)) { - DEBUG(1, ("Could not get convert sid %s from string\n", - state->request->data.sid)); - request_error(state); - return; - } - - if (idmap_cache_find_sid2gid(&sid, &gid, &expired)) { - DEBUG(10, ("idmap_cache_find_sid2gid found %d%s\n", - (int)gid, expired ? " (expired)": "")); - if (expired && IS_DOMAIN_ONLINE(find_our_domain())) { - DEBUG(10, ("revalidating expired entry\n")); - goto backend; - } - if (gid == -1) { - DEBUG(10, ("Returning negative cache entry\n")); - request_error(state); - return; - } - DEBUG(10, ("Returning positive cache entry\n")); - state->response->data.gid = gid; - request_ok(state); - return; - } - - /* Validate the SID as a group. Hopefully this will hit cache. - Needed to prevent DoS by exhausting the uid allocation - range from random SIDs. */ - - backend: - winbindd_lookupsid_async( state->mem_ctx, &sid, sid2gid_lookupsid_recv, - state ); -} - static void set_mapping_recv(void *private_data, bool success) { struct winbindd_cli_state *state = @@ -495,122 +171,6 @@ void winbindd_set_hwm(struct winbindd_cli_state *state) winbindd_set_hwm_async(state->mem_ctx, &xid, set_hwm_recv, state); } -/* Convert a uid to a sid */ - -static void uid2sid_recv(void *private_data, bool success, const char *sidstr) -{ - struct winbindd_cli_state *state = - (struct winbindd_cli_state *)private_data; - struct dom_sid sid; - - if (!success || !string_to_sid(&sid, sidstr)) { - ZERO_STRUCT(sid); - idmap_cache_set_sid2uid(&sid, state->request->data.uid); - request_error(state); - return; - } - - DEBUG(10,("uid2sid: uid %lu has sid %s\n", - (unsigned long)(state->request->data.uid), sidstr)); - - idmap_cache_set_sid2uid(&sid, state->request->data.uid); - fstrcpy(state->response->data.sid.sid, sidstr); - state->response->data.sid.type = SID_NAME_USER; - request_ok(state); - return; -} - -void winbindd_uid_to_sid(struct winbindd_cli_state *state) -{ - struct dom_sid sid; - bool expired; - - DEBUG(3, ("[%5lu]: uid to sid %lu\n", (unsigned long)state->pid, - (unsigned long)state->request->data.uid)); - - if (idmap_cache_find_uid2sid(state->request->data.uid, &sid, - &expired)) { - DEBUG(10, ("idmap_cache_find_uid2sid found %d%s\n", - (int)state->request->data.uid, - expired ? " (expired)": "")); - if (expired && IS_DOMAIN_ONLINE(find_our_domain())) { - DEBUG(10, ("revalidating expired entry\n")); - goto backend; - } - if (is_null_sid(&sid)) { - DEBUG(10, ("Returning negative cache entry\n")); - request_error(state); - return; - } - DEBUG(10, ("Returning positive cache entry\n")); - sid_to_fstring(state->response->data.sid.sid, &sid); - request_ok(state); - return; - } - - /* always go via the async interface (may block) */ - backend: - winbindd_uid2sid_async(state->mem_ctx, state->request->data.uid, uid2sid_recv, state); -} - -/* Convert a gid to a sid */ - -static void gid2sid_recv(void *private_data, bool success, const char *sidstr) -{ - struct winbindd_cli_state *state = - (struct winbindd_cli_state *)private_data; - struct dom_sid sid; - - if (!success || !string_to_sid(&sid, sidstr)) { - ZERO_STRUCT(sid); - idmap_cache_set_sid2gid(&sid, state->request->data.gid); - request_error(state); - return; - } - DEBUG(10,("gid2sid: gid %lu has sid %s\n", - (unsigned long)(state->request->data.gid), sidstr)); - - idmap_cache_set_sid2gid(&sid, state->request->data.gid); - fstrcpy(state->response->data.sid.sid, sidstr); - state->response->data.sid.type = SID_NAME_DOM_GRP; - request_ok(state); - return; -} - - -void winbindd_gid_to_sid(struct winbindd_cli_state *state) -{ - struct dom_sid sid; - bool expired; - - DEBUG(3, ("[%5lu]: gid to sid %lu\n", (unsigned long)state->pid, - (unsigned long)state->request->data.gid)); - - if (idmap_cache_find_gid2sid(state->request->data.gid, &sid, - &expired)) { - DEBUG(10, ("idmap_cache_find_gid2sid found %d%s\n", - (int)state->request->data.gid, - expired ? " (expired)": "")); - if (expired && IS_DOMAIN_ONLINE(find_our_domain())) { - DEBUG(10, ("revalidating expired entry\n")); - goto backend; - } - if (is_null_sid(&sid)) { - DEBUG(10, ("Returning negative cache entry\n")); - request_error(state); - return; - } - DEBUG(10, ("Returning positive cache entry\n")); - sid_to_fstring(state->response->data.sid.sid, &sid); - request_ok(state); - return; - } - - /* always use async calls (may block) */ - backend: - winbindd_gid2sid_async(state->mem_ctx, state->request->data.gid, gid2sid_recv, state); -} - void winbindd_allocate_uid(struct winbindd_cli_state *state) { if ( !state->privileged ) { diff --git a/source3/winbindd/winbindd_sid_to_gid.c b/source3/winbindd/winbindd_sid_to_gid.c new file mode 100644 index 0000000000..323b44d7f9 --- /dev/null +++ b/source3/winbindd/winbindd_sid_to_gid.c @@ -0,0 +1,94 @@ +/* + Unix SMB/CIFS implementation. + async implementation of WINBINDD_SID_TO_GID + Copyright (C) Volker Lendecke 2009 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "includes.h" +#include "winbindd.h" + +struct winbindd_sid_to_gid_state { + struct dom_sid sid; + gid_t gid; +}; + +static void winbindd_sid_to_gid_done(struct tevent_req *subreq); + +struct tevent_req *winbindd_sid_to_gid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct winbindd_request *request) +{ + struct tevent_req *req, *subreq; + struct winbindd_sid_to_gid_state *state; + + req = tevent_req_create(mem_ctx, &state, + struct winbindd_sid_to_gid_state); + if (req == NULL) { + return NULL; + } + + /* Ensure null termination */ + request->data.sid[sizeof(request->data.sid)-1]='\0'; + + DEBUG(3, ("sid to gid %s\n", request->data.sid)); + + if (!string_to_sid(&state->sid, request->data.sid)) { + DEBUG(1, ("Could not get convert sid %s from string\n", + request->data.sid)); + tevent_req_nterror(req, NT_STATUS_INVALID_PARAMETER); + return tevent_req_post(req, ev); + } + + subreq = wb_sid2gid_send(state, ev, &state->sid); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, winbindd_sid_to_gid_done, req); + return req; +} + +static void winbindd_sid_to_gid_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct winbindd_sid_to_gid_state *state = tevent_req_data( + req, struct winbindd_sid_to_gid_state); + NTSTATUS status; + + status = wb_sid2gid_recv(subreq, &state->gid); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + tevent_req_done(req); +} + +NTSTATUS winbindd_sid_to_gid_recv(struct tevent_req *req, + struct winbindd_response *response) +{ + struct winbindd_sid_to_gid_state *state = tevent_req_data( + req, struct winbindd_sid_to_gid_state); + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + DEBUG(5, ("Could not convert sid %s: %s\n", + sid_string_dbg(&state->sid), nt_errstr(status))); + return status; + } + response->data.gid = state->gid; + return NT_STATUS_OK; +} diff --git a/source3/winbindd/winbindd_sid_to_uid.c b/source3/winbindd/winbindd_sid_to_uid.c new file mode 100644 index 0000000000..a6ff6cbaf4 --- /dev/null +++ b/source3/winbindd/winbindd_sid_to_uid.c @@ -0,0 +1,94 @@ +/* + Unix SMB/CIFS implementation. + async implementation of WINBINDD_SID_TO_UID + Copyright (C) Volker Lendecke 2009 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "includes.h" +#include "winbindd.h" + +struct winbindd_sid_to_uid_state { + struct dom_sid sid; + uid_t uid; +}; + +static void winbindd_sid_to_uid_done(struct tevent_req *subreq); + +struct tevent_req *winbindd_sid_to_uid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct winbindd_request *request) +{ + struct tevent_req *req, *subreq; + struct winbindd_sid_to_uid_state *state; + + req = tevent_req_create(mem_ctx, &state, + struct winbindd_sid_to_uid_state); + if (req == NULL) { + return NULL; + } + + /* Ensure null termination */ + request->data.sid[sizeof(request->data.sid)-1]='\0'; + + DEBUG(3, ("sid to uid %s\n", request->data.sid)); + + if (!string_to_sid(&state->sid, request->data.sid)) { + DEBUG(1, ("Could not get convert sid %s from string\n", + request->data.sid)); + tevent_req_nterror(req, NT_STATUS_INVALID_PARAMETER); + return tevent_req_post(req, ev); + } + + subreq = wb_sid2uid_send(state, ev, &state->sid); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, winbindd_sid_to_uid_done, req); + return req; +} + +static void winbindd_sid_to_uid_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct winbindd_sid_to_uid_state *state = tevent_req_data( + req, struct winbindd_sid_to_uid_state); + NTSTATUS status; + + status = wb_sid2uid_recv(subreq, &state->uid); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + tevent_req_done(req); +} + +NTSTATUS winbindd_sid_to_uid_recv(struct tevent_req *req, + struct winbindd_response *response) +{ + struct winbindd_sid_to_uid_state *state = tevent_req_data( + req, struct winbindd_sid_to_uid_state); + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + DEBUG(5, ("Could not convert sid %s: %s\n", + sid_string_dbg(&state->sid), nt_errstr(status))); + return status; + } + response->data.uid = state->uid; + return NT_STATUS_OK; +} diff --git a/source3/winbindd/winbindd_uid_to_sid.c b/source3/winbindd/winbindd_uid_to_sid.c new file mode 100644 index 0000000000..151fffd296 --- /dev/null +++ b/source3/winbindd/winbindd_uid_to_sid.c @@ -0,0 +1,87 @@ +/* + Unix SMB/CIFS implementation. + async implementation of WINBINDD_UID_TO_SID + Copyright (C) Volker Lendecke 2009 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. +*/ + +#include "includes.h" +#include "winbindd.h" + +struct winbindd_uid_to_sid_state { + struct tevent_context *ev; + uid_t uid; + struct dom_sid sid; +}; + +static void winbindd_uid_to_sid_done(struct tevent_req *subreq); + +struct tevent_req *winbindd_uid_to_sid_send(TALLOC_CTX *mem_ctx, + struct tevent_context *ev, + struct winbindd_request *request) +{ + struct tevent_req *req, *subreq; + struct winbindd_uid_to_sid_state *state; + + req = tevent_req_create(mem_ctx, &state, + struct winbindd_uid_to_sid_state); + if (req == NULL) { + return NULL; + } + state->ev = ev; + + DEBUG(3, ("uid_to_sid %d\n", (int)request->data.uid)); + + subreq = wb_uid2sid_send(state, ev, request->data.uid); + if (tevent_req_nomem(subreq, req)) { + return tevent_req_post(req, ev); + } + tevent_req_set_callback(subreq, winbindd_uid_to_sid_done, req); + return req; +} + +static void winbindd_uid_to_sid_done(struct tevent_req *subreq) +{ + struct tevent_req *req = tevent_req_callback_data( + subreq, struct tevent_req); + struct winbindd_uid_to_sid_state *state = tevent_req_data( + req, struct winbindd_uid_to_sid_state); + NTSTATUS status; + + status = wb_uid2sid_recv(subreq, &state->sid); + TALLOC_FREE(subreq); + if (!NT_STATUS_IS_OK(status)) { + tevent_req_nterror(req, status); + return; + } + tevent_req_done(req); +} + +NTSTATUS winbindd_uid_to_sid_recv(struct tevent_req *req, + struct winbindd_response *response) +{ + struct winbindd_uid_to_sid_state *state = tevent_req_data( + req, struct winbindd_uid_to_sid_state); + NTSTATUS status; + + if (tevent_req_is_nterror(req, &status)) { + DEBUG(5, ("Could not convert sid %s: %s\n", + sid_string_dbg(&state->sid), nt_errstr(status))); + return status; + } + sid_to_fstring(response->data.sid.sid, &state->sid); + response->data.sid.type = SID_NAME_USER; + return NT_STATUS_OK; +} diff --git a/source3/winbindd/winbindd_user.c b/source3/winbindd/winbindd_user.c index c445ef0bdc..240b0f524f 100644 --- a/source3/winbindd/winbindd_user.c +++ b/source3/winbindd/winbindd_user.c @@ -27,7 +27,7 @@ #undef DBGC_CLASS #define DBGC_CLASS DBGC_WINBIND -static bool fillup_pw_field(const char *lp_template, +bool fillup_pw_field(const char *lp_template, const char *username, const char *domname, uid_t uid, @@ -195,386 +195,6 @@ enum winbindd_result winbindd_dual_userinfo(struct winbindd_domain *domain, return WINBINDD_OK; } -struct getpwsid_state { - struct winbindd_cli_state *state; - struct winbindd_domain *domain; - char *username; - char *fullname; - char *homedir; - char *shell; - DOM_SID user_sid; - uid_t uid; - DOM_SID group_sid; - gid_t gid; - bool username_mapped; -}; - -static void getpwsid_queryuser_recv(void *private_data, bool success, - const char *acct_name, - const char *full_name, - const char *homedir, - const char *shell, - gid_t gid, - uint32 group_rid); -static void getpwsid_sid2uid_recv(void *private_data, bool success, uid_t uid); -static void getpwsid_sid2gid_recv(void *private_data, bool success, gid_t gid); - -static void getpwsid_queryuser(struct winbindd_cli_state *state, - const DOM_SID *sid) -{ - struct getpwsid_state *s; - - s = TALLOC_ZERO_P(state->mem_ctx, struct getpwsid_state); - if (s == NULL) { - DEBUG(0, ("talloc failed\n")); - goto error; - } - - s->state = state; - s->domain = find_domain_from_sid_noinit(sid); - if (s->domain == NULL) { - DEBUG(3, ("Could not find domain for sid %s\n", - sid_string_dbg(sid))); - goto error; - } - - sid_copy(&s->user_sid, sid); - - query_user_async(s->state->mem_ctx, s->domain, sid, - getpwsid_queryuser_recv, s); - return; - - error: - request_error(state); -} - -static void getpwsid_queryuser_recv(void *private_data, bool success, - const char *acct_name, - const char *full_name, - const char *homedir, - const char *shell, - gid_t gid, - uint32 group_rid) -{ - fstring username; - struct getpwsid_state *s = - talloc_get_type_abort(private_data, struct getpwsid_state); - char *mapped_name; - NTSTATUS nt_status = NT_STATUS_UNSUCCESSFUL; - - if (!success) { - DEBUG(5, ("Could not query domain %s SID %s\n", - s->domain->name, sid_string_dbg(&s->user_sid))); - request_error(s->state); - return; - } - - if ( acct_name && *acct_name ) { - fstrcpy( username, acct_name ); - } else { - char *domain_name = NULL; - enum lsa_SidType type; - char *user_name = NULL; - struct winbindd_domain *domain = NULL; - - domain = find_lookup_domain_from_sid(&s->user_sid); - if (domain == NULL) { - DEBUG(5, ("find_lookup_domain_from_sid(%s) failed\n", - sid_string_dbg(&s->user_sid))); - request_error(s->state); - return; - } - winbindd_lookup_name_by_sid(s->state->mem_ctx, domain, - &s->user_sid, &domain_name, - &user_name, &type ); - - /* If this still fails we are done. Just error out */ - if ( !user_name ) { - DEBUG(5,("Could not obtain a name for SID %s\n", - sid_string_dbg(&s->user_sid))); - request_error(s->state); - return; - } - - fstrcpy( username, user_name ); - } - - strlower_m( username ); - s->username = talloc_strdup(s->state->mem_ctx, username); - - nt_status = normalize_name_map(s->state->mem_ctx, s->domain, - s->username, &mapped_name); - - /* Basic removal of whitespace */ - if (NT_STATUS_IS_OK(nt_status)) { - s->username = mapped_name; - s->username_mapped = false; - } - /* Complete name replacement */ - else if (NT_STATUS_EQUAL(nt_status, NT_STATUS_FILE_RENAMED)) { - s->username = mapped_name; - s->username_mapped = true; - } - /* No change at all */ - else { - s->username_mapped = false; - } - - s->fullname = talloc_strdup(s->state->mem_ctx, full_name); - s->homedir = talloc_strdup(s->state->mem_ctx, homedir); - s->shell = talloc_strdup(s->state->mem_ctx, shell); - s->gid = gid; - sid_copy(&s->group_sid, &s->domain->sid); - sid_append_rid(&s->group_sid, group_rid); - - winbindd_sid2uid_async(s->state->mem_ctx, &s->user_sid, - getpwsid_sid2uid_recv, s); -} - -static void getpwsid_sid2uid_recv(void *private_data, bool success, uid_t uid) -{ - struct getpwsid_state *s = - talloc_get_type_abort(private_data, struct getpwsid_state); - - if (!success) { - DEBUG(5, ("Could not query uid for user %s\\%s\n", - s->domain->name, s->username)); - request_error(s->state); - return; - } - - s->uid = uid; - winbindd_sid2gid_async(s->state->mem_ctx, &s->group_sid, - getpwsid_sid2gid_recv, s); -} - -static void getpwsid_sid2gid_recv(void *private_data, bool success, gid_t gid) -{ - struct getpwsid_state *s = - talloc_get_type_abort(private_data, struct getpwsid_state); - struct winbindd_pw *pw; - fstring output_username; - - /* allow the nss backend to override the primary group ID. - If the gid has already been set, then keep it. - This makes me feel dirty. If the nss backend already - gave us a gid, we don't really care whether the sid2gid() - call worked or not. --jerry */ - - if ( s->gid == (gid_t)-1 ) { - - if (!success) { - DEBUG(5, ("Could not query gid for user %s\\%s\n", - s->domain->name, s->username)); - goto failed; - } - - /* take what the sid2gid() call gave us */ - s->gid = gid; - } - - pw = &s->state->response->data.pw; - pw->pw_uid = s->uid; - pw->pw_gid = s->gid; - - /* allow username to be overridden by the alias mapping */ - - if ( s->username_mapped ) { - fstrcpy( output_username, s->username ); - } else { - fill_domain_username(output_username, s->domain->name, - s->username, True); - } - - safe_strcpy(pw->pw_name, output_username, sizeof(pw->pw_name) - 1); - safe_strcpy(pw->pw_gecos, s->fullname, sizeof(pw->pw_gecos) - 1); - - if (!fillup_pw_field(lp_template_homedir(), s->username, - s->domain->name, pw->pw_uid, pw->pw_gid, - s->homedir, pw->pw_dir)) { - DEBUG(5, ("Could not compose homedir\n")); - goto failed; - } - - if (!fillup_pw_field(lp_template_shell(), s->username, - s->domain->name, pw->pw_uid, pw->pw_gid, - s->shell, pw->pw_shell)) { - DEBUG(5, ("Could not compose shell\n")); - goto failed; - } - - /* Password - set to "*" as we can't generate anything useful here. - Authentication can be done using the pam_winbind module. */ - - safe_strcpy(pw->pw_passwd, "*", sizeof(pw->pw_passwd) - 1); - - request_ok(s->state); - return; - - failed: - request_error(s->state); -} - -/* Return a password structure from a username. */ - -static void getpwnam_name2sid_recv(void *private_data, bool success, - const DOM_SID *sid, enum lsa_SidType type); - -void winbindd_getpwnam(struct winbindd_cli_state *state) -{ - struct winbindd_domain *domain; - fstring domname, username; - char *mapped_user = NULL; - char *domuser; - NTSTATUS nt_status = NT_STATUS_UNSUCCESSFUL; - - domuser = state->request->data.username; - - /* Ensure null termination (it's an fstring) */ - domuser[sizeof(state->request->data.username)-1] = '\0'; - - DEBUG(3, ("[%5lu]: getpwnam %s\n", - (unsigned long)state->pid, - domuser)); - - nt_status = normalize_name_unmap(state->mem_ctx, domuser, - &mapped_user); - - /* If we could not convert from an aliased name or a - normalized name, then just use the original name */ - - if (!NT_STATUS_IS_OK(nt_status) && - !NT_STATUS_EQUAL(nt_status, NT_STATUS_FILE_RENAMED)) - { - mapped_user = domuser; - } - - if (!parse_domain_user(mapped_user, domname, username)) { - DEBUG(5, ("Could not parse domain user: %s\n", domuser)); - request_error(state); - return; - } - - /* Get info for the domain */ - - domain = find_domain_from_name_noinit(domname); - - if (domain == NULL) { - DEBUG(7, ("could not find domain entry for domain %s. " - "Using primary domain\n", domname)); - domain = find_our_domain(); - if (domain == NULL) { - DEBUG(0, ("Cannot find my primary domain " - "structure!\n")); - request_error(state); - return; - } - } - - if (strequal(domname, lp_workgroup()) && - lp_winbind_trusted_domains_only() ) { - DEBUG(7,("winbindd_getpwnam: My domain -- " - "rejecting getpwnam() for %s\\%s.\n", - domname, username)); - request_error(state); - return; - } - - /* Get rid and name type from name. The following costs 1 packet */ - - winbindd_lookupname_async(state->mem_ctx, domname, username, - getpwnam_name2sid_recv, WINBINDD_GETPWNAM, - state); -} - -static void getpwnam_name2sid_recv(void *private_data, bool success, - const DOM_SID *sid, enum lsa_SidType type) -{ - struct winbindd_cli_state *state = - (struct winbindd_cli_state *)private_data; - fstring domname, username; - char *domuser = state->request->data.username; - - if (!success) { - DEBUG(5, ("Could not lookup name for user %s\n", domuser)); - request_error(state); - return; - } - - if ((type != SID_NAME_USER) && (type != SID_NAME_COMPUTER)) { - DEBUG(5, ("%s is not a user\n", domuser)); - request_error(state); - return; - } - - if (parse_domain_user(domuser, domname, username)) { - check_domain_trusted(domname, sid); - } - - getpwsid_queryuser(state, sid); -} - -static void getpwuid_recv(void *private_data, bool success, const char *sid) -{ - struct winbindd_cli_state *state = - (struct winbindd_cli_state *)private_data; - DOM_SID user_sid; - - if (!success) { - DEBUG(10,("uid2sid_recv: uid [%lu] to sid mapping failed\n.", - (unsigned long)(state->request->data.uid))); - request_error(state); - return; - } - - DEBUG(10,("uid2sid_recv: uid %lu has sid %s\n", - (unsigned long)(state->request->data.uid), sid)); - - if (!string_to_sid(&user_sid, sid)) { - DEBUG(1,("uid2sid_recv: Could not convert sid %s " - "from string\n,", sid)); - request_error(state); - return; - } - - getpwsid_queryuser(state, &user_sid); -} - -/* Return a password structure given a uid number */ -void winbindd_getpwuid(struct winbindd_cli_state *state) -{ - uid_t uid = state->request->data.uid; - - DEBUG(3, ("[%5lu]: getpwuid %lu\n", - (unsigned long)state->pid, - (unsigned long)uid)); - - /* always query idmap via the async interface */ - /* if this turns to be too slow we will add here - * a direct query to the cache */ - winbindd_uid2sid_async(state->mem_ctx, uid, getpwuid_recv, state); -} - -/* Return a password structure given a sid */ -void winbindd_getpwsid(struct winbindd_cli_state *state) -{ - DOM_SID sid; - - /* Ensure null termination */ - state->request->data.sid[sizeof(state->request->data.sid)-1]='\0'; - - DEBUG(3, ("[%5lu]: getpwsid %s\n", (unsigned long)state->pid, - state->request->data.sid)); - - if (!string_to_sid(&sid, state->request->data.sid)) { - DEBUG(5, ("%s not a SID\n", state->request->data.sid)); - request_error(state); - return; - } - - getpwsid_queryuser(state, &sid); -} - /* * set/get/endpwent functions */ |