From d2ffcea0ee46efa9967caca7d8896c846e60a3ae Mon Sep 17 00:00:00 2001 From: Thomas Sader Date: Tue, 9 Jul 2024 22:44:34 +0200 Subject: [PATCH 01/47] Github Actions: Test OpenSSL 0.9.8 (#1642) --- .github/workflows/dependencies.yml | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/.github/workflows/dependencies.yml b/.github/workflows/dependencies.yml index d76a5e6c7..246f35043 100644 --- a/.github/workflows/dependencies.yml +++ b/.github/workflows/dependencies.yml @@ -27,6 +27,24 @@ jobs: make -j4 && make install - name: Build run: ./configure --with-tcl=$HOME/tcl/lib && LD_LIBRARY_PATH=$HOME/tcl/lib make config eggdrop + ssl-version-098: + name: OpenSSL 0.9.8 + continue-on-error: true + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + path: 'eggdrop' + - name: install dependencies + run: sudo apt-get install tcl tcl-dev + - name: Build OpenSSL + run: | + wget https://www.openssl.org/source/old/0.9.x/openssl-0.9.8zh.tar.gz && \ + sha256sum --status --check <(echo f1d9f3ed1b85a82ecf80d0e2d389e1fda3fca9a4dba0bf07adbf231e1a5e2fd6 openssl-0.9.8zh.tar.gz) && \ + tar xzf openssl-0.9.8zh.tar.gz && \ + cd openssl-0.9.8zh && ./config --prefix=$HOME/ssl -fPIC && make -j4 && make install_sw + - name: Build + run: cd $GITHUB_WORKSPACE/eggdrop && ./configure --with-sslinc=$HOME/ssl/include --with-ssllib=$HOME/ssl/lib && LD_LIBRARY_PATH=$HOME/ssl/lib make config eggdrop ssl-version-10: name: OpenSSL 1.0 continue-on-error: true @@ -39,7 +57,9 @@ jobs: run: sudo apt-get install tcl tcl-dev - name: Build OpenSSL run: | - wget https://www.openssl.org/source/old/1.0.2/openssl-1.0.2u.tar.gz && tar xzf openssl-1.0.2u.tar.gz && \ + wget https://www.openssl.org/source/old/1.0.2/openssl-1.0.2u.tar.gz && \ + sha256sum --status --check <(echo ecd0c6ffb493dd06707d38b14bb4d8c2288bb7033735606569d8f90f89669d16 openssl-1.0.2u.tar.gz) && \ + tar xzf openssl-1.0.2u.tar.gz && \ cd openssl-1.0.2u && ./config --prefix=$HOME/ssl -fPIC && make -j4 && make install_sw - name: Build run: cd $GITHUB_WORKSPACE/eggdrop && ./configure --with-sslinc=$HOME/ssl/include --with-ssllib=$HOME/ssl/lib && LD_LIBRARY_PATH=$HOME/ssl/lib make config eggdrop From 41a0acc7b6fa707534b449e6a3866f5a55c8e708 Mon Sep 17 00:00:00 2001 From: Geo Date: Wed, 10 Jul 2024 10:38:21 -0400 Subject: [PATCH 02/47] Fix accidentally removed hostmask from #1585 --- src/mod/irc.mod/chan.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/mod/irc.mod/chan.c b/src/mod/irc.mod/chan.c index 9124d428c..7899eed6e 100644 --- a/src/mod/irc.mod/chan.c +++ b/src/mod/irc.mod/chan.c @@ -429,6 +429,7 @@ static void kick_all(struct chanset_t *chan, char *hostmask, char *comment, flushed = 0; kicknick[0] = 0; for (m = chan->channel.member; m && m->nick[0]; m = m->next) { + sprintf(s, "%s!%s", m->nick, m->userhost); get_user_flagrec(get_user_from_member(m), &fr, chan->dname); if ((me_op(chan) || (me_halfop(chan) && !chan_hasop(m))) && match_addr(hostmask, s) && !chan_sentkick(m) && From 606dc7b90888ede30956cc1d35570e6b5d1073ee Mon Sep 17 00:00:00 2001 From: Geo Date: Thu, 11 Jul 2024 13:59:47 -0400 Subject: [PATCH 03/47] Swap lookup_user_record args Found by: DasBrain Amazingly, args were mis-ordered in the lookup_user_record function declaration. Those responsible have been sacked. Have you ever seen a moose? --- src/userrec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/userrec.c b/src/userrec.c index 66bb8f16c..6961a58a8 100644 --- a/src/userrec.c +++ b/src/userrec.c @@ -283,7 +283,7 @@ struct userrec *get_user_from_member(memberlist *m) * 'm->account' for the account, use the independent source variable 'account' * if available. This allows redundant checking in case of unexpected NULLs */ -struct userrec *lookup_user_record(memberlist *m, char *host, char *account) +struct userrec *lookup_user_record(memberlist *m, char *account, char *host) { struct userrec *u = NULL; From 9159f9b99ae6fd4bf7eb31fab804207da57961f0 Mon Sep 17 00:00:00 2001 From: Michael Ortmann <41313082+michaelortmann@users.noreply.github.com> Date: Fri, 12 Jul 2024 14:55:18 +0200 Subject: [PATCH 04/47] Forbid reloading of python mod (it would crash the bot) --- src/mod/python.mod/python.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/mod/python.mod/python.c b/src/mod/python.mod/python.c index c4221efac..2bf10a387 100644 --- a/src/mod/python.mod/python.c +++ b/src/mod/python.mod/python.c @@ -137,7 +137,14 @@ static Function python_table[] = { char *python_start(Function *global_funcs) { + static int forbid_reload = 0; char *s; + + if (forbid_reload) + /* Reloading, reexecuting PyDateTime_IMPORT, would crash */ + return "You can't reload the " MODULE_NAME " module (it would crash the bot)"; + forbid_reload = 1; + /* Assign the core function table. After this point you use all normal * functions defined in src/mod/modules.h */ From 6adc7d382fba80b4f4511583dd275d03c34ee5f4 Mon Sep 17 00:00:00 2001 From: Michael Ortmann <41313082+michaelortmann@users.noreply.github.com> Date: Fri, 12 Jul 2024 15:12:34 +0200 Subject: [PATCH 05/47] later --- src/mod/python.mod/python.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mod/python.mod/python.c b/src/mod/python.mod/python.c index 2bf10a387..a040e313e 100644 --- a/src/mod/python.mod/python.c +++ b/src/mod/python.mod/python.c @@ -143,7 +143,6 @@ char *python_start(Function *global_funcs) if (forbid_reload) /* Reloading, reexecuting PyDateTime_IMPORT, would crash */ return "You can't reload the " MODULE_NAME " module (it would crash the bot)"; - forbid_reload = 1; /* Assign the core function table. After this point you use all normal * functions defined in src/mod/modules.h @@ -164,6 +163,7 @@ char *python_start(Function *global_funcs) } // irc.mod depends on server.mod and channels.mod, so those were implicitely loaded + forbid_reload = 1; if ((s = init_python())) return s; From e8a96968d84678d0b8e19c5bf31cbc9fa380be2a Mon Sep 17 00:00:00 2001 From: Michael Ortmann <41313082+michaelortmann@users.noreply.github.com> Date: Fri, 12 Jul 2024 17:02:34 +0200 Subject: [PATCH 06/47] Forbid unload --- src/mod/python.mod/python.c | 27 ++++++--------------------- 1 file changed, 6 insertions(+), 21 deletions(-) diff --git a/src/mod/python.mod/python.c b/src/mod/python.mod/python.c index a040e313e..62625943f 100644 --- a/src/mod/python.mod/python.c +++ b/src/mod/python.mod/python.c @@ -104,13 +104,6 @@ static char *init_python() { return NULL; } -static void kill_python() { - if (Py_FinalizeEx() < 0) { - exit(120); - } - return; -} - static void python_report(int idx, int details) { if (details) @@ -119,13 +112,12 @@ static void python_report(int idx, int details) static char *python_close() { - del_hook(HOOK_PRE_SELECT, (Function)python_gil_unlock); - del_hook(HOOK_POST_SELECT, (Function)python_gil_lock); - kill_python(); - rem_builtins(H_dcc, mydcc); - rem_tcl_commands(my_tcl_cmds); - module_undepend(MODULE_NAME); - return NULL; + /* Forbid unloading, because: + * - Reloading (Reexecuting PyDateTime_IMPORT) would crash + * - Py_FinalizeEx() does not clean up everything + * - Complexity regarding running python threads + */ + return "The " MODULE_NAME " module is not allowed to be unloaded."; } static Function python_table[] = { @@ -137,13 +129,7 @@ static Function python_table[] = { char *python_start(Function *global_funcs) { - static int forbid_reload = 0; char *s; - - if (forbid_reload) - /* Reloading, reexecuting PyDateTime_IMPORT, would crash */ - return "You can't reload the " MODULE_NAME " module (it would crash the bot)"; - /* Assign the core function table. After this point you use all normal * functions defined in src/mod/modules.h */ @@ -163,7 +149,6 @@ char *python_start(Function *global_funcs) } // irc.mod depends on server.mod and channels.mod, so those were implicitely loaded - forbid_reload = 1; if ((s = init_python())) return s; From 120ca580b5cd2b56f9e9560b98e0c3395d91e508 Mon Sep 17 00:00:00 2001 From: Thomas Sader Date: Sat, 13 Jul 2024 00:04:50 +0200 Subject: [PATCH 07/47] Update src/mod/python.mod/python.c --- src/mod/python.mod/python.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/mod/python.mod/python.c b/src/mod/python.mod/python.c index 62625943f..5003cd59f 100644 --- a/src/mod/python.mod/python.c +++ b/src/mod/python.mod/python.c @@ -116,6 +116,7 @@ static char *python_close() * - Reloading (Reexecuting PyDateTime_IMPORT) would crash * - Py_FinalizeEx() does not clean up everything * - Complexity regarding running python threads + * see https://bugs.python.org/issue34309 for details */ return "The " MODULE_NAME " module is not allowed to be unloaded."; } From a49c2259227430f959be951b04a4355918ed6db7 Mon Sep 17 00:00:00 2001 From: Thomas Sader Date: Sat, 13 Jul 2024 00:28:29 +0200 Subject: [PATCH 08/47] Python venv support added Found by: simple Patch by: thommey --- src/mod/python.mod/python.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/mod/python.mod/python.c b/src/mod/python.mod/python.c index 5003cd59f..7677dcc6b 100644 --- a/src/mod/python.mod/python.c +++ b/src/mod/python.mod/python.c @@ -64,6 +64,8 @@ static int python_gil_lock() { } static char *init_python() { + const char *venv; + char venvpython[PATH_MAX]; PyObject *pmodule; PyStatus status; PyConfig config; @@ -71,6 +73,14 @@ static char *init_python() { PyConfig_InitPythonConfig(&config); config.install_signal_handlers = 0; config.parse_argv = 0; + if ((venv = getenv("VIRTUAL_ENV"))) { + snprintf(venvpython, sizeof venvpython, "%s/bin/python3", venv); + status = PyConfig_SetBytesString(&config, &config.executable, venvpython); + if (PyStatus_Exception(status)) { + PyConfig_Clear(&config); + return "Python: Fatal error: Could not set venv executable"; + } + } status = PyConfig_SetBytesString(&config, &config.program_name, argv0); if (PyStatus_Exception(status)) { PyConfig_Clear(&config); From 1f49bfe6c6c1ca960b773af331a10296ec5ead25 Mon Sep 17 00:00:00 2001 From: Thomas Sader Date: Sun, 14 Jul 2024 19:28:57 +0200 Subject: [PATCH 09/47] Github actions: use cache for Tcl/SSL compilations (#1652) * Use cache for Tcl/SSL compilations * Test home directory change * Home directories for cache must be specified with ~, $HOME does not work * Fix if-condition syntax error --- .github/workflows/dependencies.yml | 32 ++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/.github/workflows/dependencies.yml b/.github/workflows/dependencies.yml index 246f35043..380528972 100644 --- a/.github/workflows/dependencies.yml +++ b/.github/workflows/dependencies.yml @@ -18,7 +18,13 @@ jobs: - uses: actions/checkout@v4 - name: install dependencies run: sudo apt-get install openssl libssl-dev + - uses: actions/cache@v4 + id: tcl-cache + with: + path: ~/tcl + key: ${{ runner.os }}-tcl-${{ matrix.tcl_version }} - name: Build Tcl + if: steps.tcl-cache.outputs.cache-hit != 'true' run: | wget http://prdownloads.sourceforge.net/tcl/tcl${{ matrix.tcl_version }}-src.tar.gz && \ tar xzf tcl${{ matrix.tcl_version }}-src.tar.gz && \ @@ -37,7 +43,13 @@ jobs: path: 'eggdrop' - name: install dependencies run: sudo apt-get install tcl tcl-dev + - uses: actions/cache@v4 + id: ssl-cache + with: + path: ~/ssl + key: ${{ runner.os }}-ssl-0.9.8zh - name: Build OpenSSL + if: steps.ssl-cache.outputs.cache-hit != 'true' run: | wget https://www.openssl.org/source/old/0.9.x/openssl-0.9.8zh.tar.gz && \ sha256sum --status --check <(echo f1d9f3ed1b85a82ecf80d0e2d389e1fda3fca9a4dba0bf07adbf231e1a5e2fd6 openssl-0.9.8zh.tar.gz) && \ @@ -55,7 +67,13 @@ jobs: path: 'eggdrop' - name: install dependencies run: sudo apt-get install tcl tcl-dev + - uses: actions/cache@v4 + id: ssl-cache + with: + path: ~/ssl + key: ${{ runner.os }}-ssl-1.0.2u - name: Build OpenSSL + if: steps.ssl-cache.outputs.cache-hit != 'true' run: | wget https://www.openssl.org/source/old/1.0.2/openssl-1.0.2u.tar.gz && \ sha256sum --status --check <(echo ecd0c6ffb493dd06707d38b14bb4d8c2288bb7033735606569d8f90f89669d16 openssl-1.0.2u.tar.gz) && \ @@ -68,12 +86,19 @@ jobs: continue-on-error: true runs-on: ubuntu-latest steps: + - uses: actions/cache@v4 + id: ssl-cache + with: + path: ~/ssl + key: ${{ runner.os }}-ssl-1.1.1w - uses: actions/checkout@v4 + if: steps.ssl-cache.outputs.cache-hit != 'true' with: repository: openssl/openssl ref: 'OpenSSL_1_1_1w' path: 'openssl' - name: Build OpenSSL + if: steps.ssl-cache.outputs.cache-hit != 'true' run: | cd $GITHUB_WORKSPACE/openssl && ./config --prefix=$HOME/ssl && make -j4 && make install_sw - name: install dependencies @@ -99,12 +124,19 @@ jobs: regex: "${{ matrix.ssl_version }}.[0-9]+" sort-tags: true id: openssl + - uses: actions/cache@v4 + id: ssl-cache + with: + path: ~/ssl + key: ${{ runner.os }}-ssl-${{ steps.openssl.outputs.tag }} - uses: actions/checkout@v4 + if: steps.ssl-cache.outputs.cache-hit != 'true' with: repository: openssl/openssl ref: ${{ steps.openssl.outputs.tag }} path: 'openssl' - name: Build OpenSSL + if: steps.ssl-cache.outputs.cache-hit != 'true' run: | cd $GITHUB_WORKSPACE/openssl && ./config --prefix=$HOME/ssl && make -j4 && make install_sw - uses: actions/checkout@v4 From 488be7d0da04ff22c87574bc2e762cc5c6f78561 Mon Sep 17 00:00:00 2001 From: Thomas Sader Date: Sun, 14 Jul 2024 20:01:03 +0200 Subject: [PATCH 10/47] Github actions: actually check if SSL support is enabled (#1653) --- .github/workflows/dependencies.yml | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/.github/workflows/dependencies.yml b/.github/workflows/dependencies.yml index 380528972..9c49e9bdc 100644 --- a/.github/workflows/dependencies.yml +++ b/.github/workflows/dependencies.yml @@ -32,7 +32,10 @@ jobs: ./configure --prefix=$HOME/tcl && \ make -j4 && make install - name: Build - run: ./configure --with-tcl=$HOME/tcl/lib && LD_LIBRARY_PATH=$HOME/tcl/lib make config eggdrop + run: | + ./configure --with-tcl=$HOME/tcl/lib | tee configure.log + LD_LIBRARY_PATH=$HOME/tcl/lib make config eggdrop + fgrep -q "Tcl version: ${{ matrix.tcl_version }}" configure.log ssl-version-098: name: OpenSSL 0.9.8 continue-on-error: true @@ -56,7 +59,11 @@ jobs: tar xzf openssl-0.9.8zh.tar.gz && \ cd openssl-0.9.8zh && ./config --prefix=$HOME/ssl -fPIC && make -j4 && make install_sw - name: Build - run: cd $GITHUB_WORKSPACE/eggdrop && ./configure --with-sslinc=$HOME/ssl/include --with-ssllib=$HOME/ssl/lib && LD_LIBRARY_PATH=$HOME/ssl/lib make config eggdrop + run: | + cd $GITHUB_WORKSPACE/eggdrop + ./configure --with-sslinc=$HOME/ssl/include --with-ssllib=$HOME/ssl/lib | tee configure.log + LD_LIBRARY_PATH=$HOME/ssl/lib make config eggdrop + fgrep -q "SSL/TLS Support: yes" configure.log ssl-version-10: name: OpenSSL 1.0 continue-on-error: true @@ -80,7 +87,11 @@ jobs: tar xzf openssl-1.0.2u.tar.gz && \ cd openssl-1.0.2u && ./config --prefix=$HOME/ssl -fPIC && make -j4 && make install_sw - name: Build - run: cd $GITHUB_WORKSPACE/eggdrop && ./configure --with-sslinc=$HOME/ssl/include --with-ssllib=$HOME/ssl/lib && LD_LIBRARY_PATH=$HOME/ssl/lib make config eggdrop + run: | + cd $GITHUB_WORKSPACE/eggdrop + ./configure --with-sslinc=$HOME/ssl/include --with-ssllib=$HOME/ssl/lib | tee configure.log + LD_LIBRARY_PATH=$HOME/ssl/lib make config eggdrop + fgrep -q "SSL/TLS Support: yes" configure.log ssl-version-11: name: OpenSSL 1.1 continue-on-error: true @@ -107,7 +118,11 @@ jobs: with: path: 'eggdrop' - name: Build - run: cd $GITHUB_WORKSPACE/eggdrop && ./configure --with-sslinc=$HOME/ssl/include --with-ssllib=$HOME/ssl/lib && LD_LIBRARY_PATH=$HOME/ssl/lib make config eggdrop + run: | + cd $GITHUB_WORKSPACE/eggdrop + ./configure --with-sslinc=$HOME/ssl/include --with-ssllib=$HOME/ssl/lib | tee configure.log + LD_LIBRARY_PATH=$HOME/ssl/lib make config eggdrop + fgrep -q "SSL/TLS Support: yes" configure.log ssl-versions-3x: name: OpenSSL 3.x strategy: @@ -145,4 +160,8 @@ jobs: - name: install dependencies run: sudo apt-get install tcl tcl-dev - name: Build - run: cd $GITHUB_WORKSPACE/eggdrop && ./configure --with-sslinc=$HOME/ssl/include --with-ssllib=$HOME/ssl/lib64 && LD_LIBRARY_PATH=$HOME/ssl/lib64 make config eggdrop + run: | + cd $GITHUB_WORKSPACE/eggdrop + ./configure --with-sslinc=$HOME/ssl/include --with-ssllib=$HOME/ssl/lib64 | tee configure.log + LD_LIBRARY_PATH=$HOME/ssl/lib64 make config eggdrop + fgrep -q "SSL/TLS Support: yes" configure.log From 63ad89ebbdc359518d506ef25532174ec91f1252 Mon Sep 17 00:00:00 2001 From: Thomas Sader Date: Tue, 16 Jul 2024 18:08:21 +0200 Subject: [PATCH 11/47] Add unbind capability for python mod Patch by: thommey --- src/mod/python.mod/pycmds.c | 95 +++++++++++++++++++++++++++---------- 1 file changed, 69 insertions(+), 26 deletions(-) diff --git a/src/mod/python.mod/pycmds.c b/src/mod/python.mod/pycmds.c index 1e55088c4..9f6754adb 100644 --- a/src/mod/python.mod/pycmds.c +++ b/src/mod/python.mod/pycmds.c @@ -25,23 +25,23 @@ #include #include "src/mod/module.h" -struct py_bind { - tcl_bind_list_t *bindtable; - char tclcmdname[512]; - PyObject *callback; - struct py_bind *next; -}; - typedef struct { PyObject_HEAD - char tclcmdname[512]; + char tclcmdname[128]; } TclFunc; + +typedef struct { + PyObject_HEAD + char tclcmdname[128]; + char *flags; + char *mask; + tcl_bind_list_t *bindtable; + PyObject *callback; +} PythonBind; -static PyTypeObject TclFuncType; +static PyTypeObject TclFuncType, PythonBindType; static int eval_idx = -1; -static struct py_bind *py_bindlist; - static PyObject *EggdropError; //create static Python Exception object static Tcl_Obj *py_to_tcl_obj(PyObject *o); // generic conversion function @@ -141,13 +141,13 @@ static PyObject *py_findircuser(PyObject *self, PyObject *args) { static int tcl_call_python(ClientData cd, Tcl_Interp *irp, int objc, Tcl_Obj *const objv[]) { PyObject *args = PyTuple_New(objc > 1 ? objc - 1: 0); - struct py_bind *bindinfo = cd; + PythonBind *bind = cd; // objc[0] is procname for (int i = 1; i < objc; i++) { PyTuple_SET_ITEM(args, i - 1, Py_BuildValue("s", Tcl_GetStringFromObj(objv[i], NULL))); } - if (!PyObject_Call(bindinfo->callback, args, NULL)) { + if (!PyObject_Call(bind->callback, args, NULL)) { PyErr_Print(); Tcl_SetResult(irp, "Error calling python code", TCL_STATIC); return TCL_ERROR; @@ -199,6 +199,7 @@ static PyObject *py_parse_tcl_dict(PyObject *self, PyObject *args) { strobj = Tcl_NewStringObj(str, -1); if (Tcl_DictObjFirst(tclinterp, strobj, &search, &key, &value, &done) != TCL_OK) { PyErr_SetString(EggdropError, "Supplied string is not a Tcl dictionary"); + return NULL; } result = PyDict_New(); while (!done) { @@ -212,10 +213,34 @@ static PyObject *py_parse_tcl_dict(PyObject *self, PyObject *args) { return result; } +static PyObject *py_unbind(PyObject *self, PyObject *args) { + PythonBind *bind; + + if (!PyObject_TypeCheck(self, &PythonBindType)) { + PyErr_SetString(EggdropError, "Invalid argument for unbind method"); + return NULL; + } + + bind = (PythonBind *)self; + unbind_bind_entry(bind->bindtable, bind->flags, bind->mask, bind->tclcmdname); + // cleanup in python_bind_destroyed callback when Tcl command is destroyed + Py_RETURN_NONE; +} + +void python_bind_destroyed(ClientData cd) { + PythonBind *bind = cd; + + Py_DECREF(bind->callback); + nfree(bind->mask); + nfree(bind->flags); + Py_DECREF((PyObject *)bind); +} + static PyObject *py_bind(PyObject *self, PyObject *args) { PyObject *callback; + PythonBind *bind; + Py_hash_t hash; char *bindtype, *mask, *flags; - struct py_bind *bindinfo; tcl_bind_list_t *tl; // type flags mask callback @@ -237,17 +262,18 @@ static PyObject *py_bind(PyObject *self, PyObject *args) { } Py_IncRef(callback); - bindinfo = nmalloc(sizeof *bindinfo); - bindinfo->bindtable = tl; - bindinfo->callback = callback; - bindinfo->next = py_bindlist; - snprintf(bindinfo->tclcmdname, sizeof bindinfo->tclcmdname, "*python:%s:%s:%" PRIxPTR, bindtype, mask, (uintptr_t)callback); - py_bindlist = bindinfo; - // TODO: deleteproc - Tcl_CreateObjCommand(tclinterp, bindinfo->tclcmdname, tcl_call_python, bindinfo, NULL); - // TODO: flags? - bind_bind_entry(tl, flags, mask, bindinfo->tclcmdname); - Py_RETURN_NONE; + bind = PyObject_New(PythonBind, &PythonBindType); + bind->mask = strdup(mask); + bind->flags = strdup(flags); + bind->bindtable = tl; + bind->callback = callback; + hash = PyObject_Hash((PyObject *)bind); + snprintf(bind->tclcmdname, sizeof bind->tclcmdname, "*python:%s:%" PRIx64, bindtype, (int64_t)hash); + + Tcl_CreateObjCommand(tclinterp, bind->tclcmdname, tcl_call_python, bind, python_bind_destroyed); + bind_bind_entry(tl, flags, mask, bind->tclcmdname); + + return (PyObject *)bind; } static Tcl_Obj *py_list_to_tcl_obj(PyObject *o) { @@ -358,7 +384,7 @@ static PyObject *py_findtclfunc(PyObject *self, PyObject *args) { return NULL; } result = PyObject_New(TclFunc, &TclFuncType); - strcpy(result->tclcmdname, cmdname); + strlcpy(result->tclcmdname, cmdname, sizeof result->tclcmdname); return (PyObject *)result; } @@ -405,6 +431,22 @@ static PyTypeObject TclFuncType = { .tp_call = python_call_tcl, }; +static PyMethodDef PythonBindMethods[] = { + {"unbind", py_unbind, METH_VARARGS, "deregister an eggdrop python bind"}, + {NULL, NULL, 0, NULL} /* Sentinel */ +}; + +static PyTypeObject PythonBindType = { + PyVarObject_HEAD_INIT(NULL, 0) + .tp_name = "eggdrop.PythonBind", + .tp_doc = "Eggdrop bind to a python callback", + .tp_basicsize = sizeof(PythonBind), + .tp_itemsize = 0, + .tp_flags = Py_TPFLAGS_DEFAULT, + .tp_new = PyType_GenericNew, + .tp_methods = PythonBindMethods +}; + PyMODINIT_FUNC PyInit_eggdrop(void) { PyObject *pymodobj, *eggtclmodobj, *pymoddict; @@ -430,6 +472,7 @@ PyMODINIT_FUNC PyInit_eggdrop(void) { PyDict_SetItemString(pymoddict, "eggdrop.tcl", eggtclmodobj); PyType_Ready(&TclFuncType); + PyType_Ready(&PythonBindType); return pymodobj; } From d9f590075d0fc2c4336a6c7268206f095030415f Mon Sep 17 00:00:00 2001 From: Thomas Sader Date: Sat, 20 Jul 2024 11:58:52 +0200 Subject: [PATCH 12/47] Fix python reference counting for binds Fixes segfaults --- src/mod/python.mod/pycmds.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mod/python.mod/pycmds.c b/src/mod/python.mod/pycmds.c index 9f6754adb..d1ae78e5c 100644 --- a/src/mod/python.mod/pycmds.c +++ b/src/mod/python.mod/pycmds.c @@ -260,7 +260,7 @@ static PyObject *py_bind(PyObject *self, PyObject *args) { PyErr_SetString(EggdropError, "callback is not callable"); return NULL; } - Py_IncRef(callback); + Py_INCREF(callback); bind = PyObject_New(PythonBind, &PythonBindType); bind->mask = strdup(mask); @@ -273,6 +273,7 @@ static PyObject *py_bind(PyObject *self, PyObject *args) { Tcl_CreateObjCommand(tclinterp, bind->tclcmdname, tcl_call_python, bind, python_bind_destroyed); bind_bind_entry(tl, flags, mask, bind->tclcmdname); + Py_INCREF((PyObject *)bind); return (PyObject *)bind; } From 43c8393c5d68cd6b8ea3fab31886b8cd396c5787 Mon Sep 17 00:00:00 2001 From: Johannes Kuhn Date: Sat, 20 Jul 2024 17:59:33 +0200 Subject: [PATCH 13/47] Add Tcl9 Tcl_Size to dns module Found by: DasBrain Patch by: DasBrain --- src/mod/dns.mod/dns.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/mod/dns.mod/dns.c b/src/mod/dns.mod/dns.c index a25ee2be8..e60621aa0 100644 --- a/src/mod/dns.mod/dns.c +++ b/src/mod/dns.mod/dns.c @@ -144,7 +144,8 @@ static char *dns_change(ClientData cdata, Tcl_Interp *irp, { char buf[sizeof dns_servers], *p; unsigned short port; - int i, lc, code; + Tcl_Size i, lc; + int code; EGG_CONST char **list, *slist; if (flags & (TCL_TRACE_READS | TCL_TRACE_UNSETS)) { @@ -168,7 +169,7 @@ static char *dns_change(ClientData cdata, Tcl_Interp *irp, myres.nscount = 0; for (i = 0; i < lc; i++) { if (myres.nscount >= MAXNS) { - putlog(LOG_MISC, "*", "DNS: WARNING: %i dns-servers configured but " + putlog(LOG_MISC, "*", "DNS: WARNING: %" TCL_SIZE_MODIFIER "i dns-servers configured but " "kernel-defined limit is %i, ignoring extra servers\n", lc, MAXNS); break; From b1da0d25f80216144ac4c4ee094c18a4482d2fa4 Mon Sep 17 00:00:00 2001 From: Michael Ortmann <41313082+michaelortmann@users.noreply.github.com> Date: Sat, 20 Jul 2024 18:04:47 +0200 Subject: [PATCH 14/47] Convert some tabs to whitespace --- src/dns.c | 2 +- src/flags.c | 6 +++--- src/mod/python.mod/pymod.h | 4 ++-- src/mod/server.mod/servmsg.c | 2 +- src/mod/uptime.mod/uptime.c | 2 +- src/tcl.c | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/dns.c b/src/dns.c index 69b3a03e5..134c7ac53 100644 --- a/src/dns.c +++ b/src/dns.c @@ -549,7 +549,7 @@ void *thread_dns_ipbyhost(void *arg) addr->family = res->ai_family; addr->addrlen = res->ai_addrlen; memcpy(&addr->addr.sa, res->ai_addr, res->ai_addrlen); - error = 0; + error = 0; *dtn->strerror = 0; break; } diff --git a/src/flags.c b/src/flags.c index b7bb0bd86..9c47be3fa 100644 --- a/src/flags.c +++ b/src/flags.c @@ -280,7 +280,7 @@ int sanity_check(int atr) * Wanted attributes (pls_atr) take precedence over existing (atr) attributes * which can cause conflict. * Arguments are: pointer to old attr (to modify attr to save), - * attr to add, attr to remove + * attr to add, attr to remove * Returns: int with number corresponding to zero or more messages */ int user_sanity_check(int * const atr, int const pls_atr, int const min_atr) @@ -530,7 +530,7 @@ int user_sanity_check(int * const atr, int const pls_atr, int const min_atr) * Wanted attributes (pls_atr) take precedence over existing (atr) attributes * which can cause conflict. * Arguments are: pointer to old attr (to modify attr to save), - * attr to add, attr to remove, user attr + * attr to add, attr to remove, user attr * Returns: int with number corresponding to zero or more messages */ int chan_sanity_check(int * const atr, int const pls_atr, int const min_atr, int const usr_atr) @@ -748,7 +748,7 @@ int chan_sanity_check(int * const atr, int const pls_atr, int const min_atr, int * Wanted attributes (pls_atr) take precedence over existing (atr) attributes * which can cause conflict. * Arguments are: pointer to old attr (to modify attr to save), - * attr to add, attr to remove + * attr to add, attr to remove * Returns: int with number corresponding to zero or more messages */ int bot_sanity_check(intptr_t * const atr, intptr_t const pls_atr, intptr_t const min_atr) diff --git a/src/mod/python.mod/pymod.h b/src/mod/python.mod/pymod.h index 5d3ae0fd5..442846fe8 100644 --- a/src/mod/python.mod/pymod.h +++ b/src/mod/python.mod/pymod.h @@ -1,4 +1,4 @@ -#define APIDEF_METHOD(symbol) static PyObject * api_##symbol(PyObject *self, PyObject *args) -#define APIDEF_KWMETHOD(symbol) static PyObject * api_##symbol(PyObject *self, PyObject *args, PyObject *kw) +#define APIDEF_METHOD(symbol) static PyObject * api_##symbol(PyObject *self, PyObject *args) +#define APIDEF_KWMETHOD(symbol) static PyObject * api_##symbol(PyObject *self, PyObject *args, PyObject *kw) #undef putserv diff --git a/src/mod/server.mod/servmsg.c b/src/mod/server.mod/servmsg.c index 91a50e2e9..c0e048a2b 100644 --- a/src/mod/server.mod/servmsg.c +++ b/src/mod/server.mod/servmsg.c @@ -21,7 +21,7 @@ */ #undef answer /* before resolv.h because it could collide with src/mod/module.h - (dietlibc) */ + * (dietlibc) */ #include /* base64 encode b64_ntop() and base64 decode b64_pton() */ #include #ifdef TLS diff --git a/src/mod/uptime.mod/uptime.c b/src/mod/uptime.mod/uptime.c index de75b2c21..cddc1c8eb 100644 --- a/src/mod/uptime.mod/uptime.c +++ b/src/mod/uptime.mod/uptime.c @@ -186,7 +186,7 @@ static int send_uptime(void) uptimecount++; upPack.packets_sent = htonl(uptimecount); /* Tell the server how many - uptime packets we've sent. */ + * uptime packets we've sent. */ upPack.now2 = htonl(time(NULL)); upPack.ontime = 0; diff --git a/src/tcl.c b/src/tcl.c index 64409ee25..5bc135b35 100644 --- a/src/tcl.c +++ b/src/tcl.c @@ -224,7 +224,7 @@ static char *tcl_eggint(ClientData cdata, Tcl_Interp *irp, default_uflags = fr.udef_global; } else if ((int *) ii->var == &userfile_perm) { - p = strtol(s, &endptr, 8); + p = strtol(s, &endptr, 8); if ((p < 01) || (p > 0777) || (*endptr)) return "Invalid userfile permissions, must be octal between 01 and 0777"; userfile_perm = p; From 73b198aa9b8706700ca49f4a170f68fb440f5bd3 Mon Sep 17 00:00:00 2001 From: Geo Date: Sat, 20 Jul 2024 12:15:54 -0400 Subject: [PATCH 15/47] Document minimum library versions --- doc/sphinx_source/install/readme.rst | 20 +++++++++++++++++++- doc/sphinx_source/using/tls.rst | 14 +++++++------- 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/doc/sphinx_source/install/readme.rst b/doc/sphinx_source/install/readme.rst index 29cc7e8f3..6d365a880 100644 --- a/doc/sphinx_source/install/readme.rst +++ b/doc/sphinx_source/install/readme.rst @@ -98,7 +98,25 @@ System Pre-Requisites Before you can compile Eggdrop, Tcl must be installed on your system. Many systems have Tcl installed on them by default (you can check by trying the command "tclsh"; if you are given a '%' for a prompt, it is, and you can type 'exit' to exit the Tcl shell. However, Eggdrop also requires the Tcl development header files to be installed. They can often be installed via an OS package manager, usually called something similar to 'tcl-dev' for the package name. You can also download Tcl source from ``_. - It is also strongly recommended to install openssl (and its development headers) in order to enable SSL/TLS protection of network data. The header files are often called something similar to 'libssl-dev'. + Eggdrop also requires openssl (and its development headers) in order to enable SSL/TLS protection of network data. The header files are often called something similar to 'libssl-dev'. While not advised, this requirement can be removed by compilling using ``./configure --disable-tls``, but you will not be able to connect to TLS-protected IRC servers nor utilize secure botnet communication. + +Minimum Requirements +-------------------- + +Some components of Eggdrop relies on a variety of third-party libraries, documented here. + ++-------------------------------+-------------------+-------------------+ +| Functionality | Package | Minimum Version | ++===============================+===================+===================+ +| Tcl interpreter (required) | Tcl Dev Library | 8.5.0 | ++-------------------------------+-------------------+-------------------+ +| Secure communication | OpenSSL | 0.9.8 | ++-------------------------------+-------------------+-------------------+ +| Python module | Python | 3.8.0 | ++-------------------------------+-------------------+-------------------+ +| Compression module | zlib | Any | ++-------------------------------+-------------------+-------------------+ + Quick Startup ------------- diff --git a/doc/sphinx_source/using/tls.rst b/doc/sphinx_source/using/tls.rst index 6d73e79bf..b4628d2b7 100644 --- a/doc/sphinx_source/using/tls.rst +++ b/doc/sphinx_source/using/tls.rst @@ -6,14 +6,14 @@ TLS support =========== This document provides information about TLS support which is a new -eggdrop feature since version 1.8.0. +Eggdrop feature since version 1.8.0. ----- About ----- Eggdrop can be optionally compiled with TLS support. This requires OpenSSL -0.9.8 or more recent installed on your system. +0.9.8 or later installed on your system. TLS support includes encryption for IRC, DCC, botnet, telnet and scripted connections as well as certificate authentication for users and bots. @@ -82,7 +82,7 @@ Eggdrop can use TLS connections to protect botnet links if it is compiled with T | +port | listen port | fail as leaf only wants TLS | +------------------------------+----------------------------+-------------------------------+ -In short, a bot added to your Eggdrop with a +port in the address can only connect to a bot listening with a +port in the config. Conversely, a bot added to your eggdrop without a + prefix can only connect to a bot listening without a + prefix in the config. +In short, a bot added to your Eggdrop with a +port in the address can only connect to a bot listening with a +port in the config. Conversely, a bot added to your Eggdrop without a + prefix can only connect to a bot listening without a + prefix in the config. If TLS negotiation fails, the connection is deliberately aborted and no clear text is ever sent by the TLS-requiring party. @@ -106,7 +106,7 @@ Scripts can open or connect to TLS ports the usual way specifying the port with a plus sign. Alternatively, the connection could be established as plaintext and later switched on with the starttls Tcl command. (Note that the other side should also switch to TLS at the same -time - the synchronization is the script's job, not eggdrop's.) +time - the synchronization is the script's job, not Eggdrop's.) ------------------------------------- Keys, certificates and authentication @@ -118,7 +118,7 @@ bots and TLS listening ports. General information about certificates and public key infrastructure can be obtained from Internet. This document only contains eggdrop-specific information on the subject. The easy way to create a key and a certificate is to type 'make sslcert' -after compiling your bot (If you installed eggdrop to a non-standard +after compiling your bot (If you installed Eggdrop to a non-standard location, use make sslcert DEST=/path/to/eggdrop). This will generate a 4096-bit private key (eggdrop.key) and a certificate (eggdrop.crt) after you fill in the required fields. Alternatively, you can use 'make sslsilent' @@ -130,12 +130,12 @@ make a ssl certificate for yourself and enable ssl-cert-auth in the config file. Then either connect to the bot using TLS and type ".fprint +" or enter your certificate fingerprint with .fprint SHA1-FINGERPRINT. To generate a ssl certificate for yourself, you can run the following -command from the eggdrop source directory:: +command from the Eggdrop source directory:: openssl req -new -x509 -nodes -keyout my.key -out my.crt -config ssl.conf When asked about bot's handle, put your handle instead. How to use your -new certificate to connect to eggdrop, depends on your irc client. +new certificate to connect to Eggdrop, depends on your irc client. To connect to your bot from the command line, you can use the OpenSSL ssl client:: From c9427727885693d59570b23d72b8c4e19be93f71 Mon Sep 17 00:00:00 2001 From: Michael Ortmann <41313082+michaelortmann@users.noreply.github.com> Date: Sat, 20 Jul 2024 18:16:39 +0200 Subject: [PATCH 16/47] Cleanup python.mod includes --- src/mod/python.mod/Makefile.in | 5 ++--- src/mod/python.mod/python.c | 6 +++--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/mod/python.mod/Makefile.in b/src/mod/python.mod/Makefile.in index be58760c3..bf1c0b622 100644 --- a/src/mod/python.mod/Makefile.in +++ b/src/mod/python.mod/Makefile.in @@ -42,6 +42,5 @@ distclean: clean ../../../src/compat/explicit_bzero.h ../../../src/compat/strlcpy.h \ ../../../src/mod/modvals.h ../../../src/tandem.h \ ../../../src/mod/irc.mod/irc.h ../../../src/mod/server.mod/server.h \ - ../../../src/mod/python.mod/python.h \ - ../../../src/mod/python.mod/pycmds.c \ - ../../../src/mod/python.mod/tclpython.c + .././python.mod/python.h .././python.mod/pycmds.c \ + .././python.mod/tclpython.c diff --git a/src/mod/python.mod/python.c b/src/mod/python.mod/python.c index 7677dcc6b..c0d468907 100644 --- a/src/mod/python.mod/python.c +++ b/src/mod/python.mod/python.c @@ -35,7 +35,7 @@ #include #include "src/mod/irc.mod/irc.h" #include "src/mod/server.mod/server.h" -#include "src/mod/python.mod/python.h" +#include "python.h" //static PyObject *pymodobj; static PyObject *pirp, *pglobals; @@ -43,8 +43,8 @@ static PyObject *pirp, *pglobals; #undef global static Function *global = NULL, *irc_funcs = NULL; static PyThreadState *_pythreadsave; -#include "src/mod/python.mod/pycmds.c" -#include "src/mod/python.mod/tclpython.c" +#include "pycmds.c" +#include "tclpython.c" EXPORT_SCOPE char *python_start(Function *global_funcs); From aceec75326e6022c3ca905e1abd4cdadb4e82ddd Mon Sep 17 00:00:00 2001 From: Thomas Sader Date: Sat, 20 Jul 2024 18:21:35 +0200 Subject: [PATCH 17/47] Fix utimer name duplication check Found by: ZarTek Patch by: thommey Fixes #1655 --- src/tclmisc.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/tclmisc.c b/src/tclmisc.c index bbfdb5299..f2d713a5b 100644 --- a/src/tclmisc.c +++ b/src/tclmisc.c @@ -234,7 +234,7 @@ static int tcl_binds STDVAR return TCL_OK; } -int check_timer_syntax(Tcl_Interp *irp, int argc, char *argv[]) { +int check_timer_syntax(Tcl_Interp *irp, int argc, char *argv[], tcl_timer_t *stack) { char *endptr; long val; @@ -257,7 +257,7 @@ int check_timer_syntax(Tcl_Interp *irp, int argc, char *argv[]) { return 1; } /* Check for existing timers by same name */ - if (find_timer(timer, argv[4])) { + if (find_timer(stack, argv[4])) { Tcl_AppendResult(irp, "timer already exists by that name", NULL); return 1; } @@ -272,7 +272,7 @@ static int tcl_timer STDVAR BADARGS(3, 5, " minutes command ?count ?name??"); - if (check_timer_syntax(irp, argc, argv)) { + if (check_timer_syntax(irp, argc, argv, timer)) { return TCL_ERROR; } x = add_timer(&timer, atoi(argv[1]), (argc >= 4 ? atoi(argv[3]) : 1), @@ -291,7 +291,7 @@ static int tcl_utimer STDVAR BADARGS(3, 5, " seconds command ?count ?name??"); - if (check_timer_syntax(irp, argc, argv)) { + if (check_timer_syntax(irp, argc, argv, utimer)) { return TCL_ERROR; } x = add_timer(&utimer, atoi(argv[1]), (argc == 4 ? atoi(argv[3]) : 1), From 98aa87da74b211f9a4525eb1755f332317ec9162 Mon Sep 17 00:00:00 2001 From: Michael Ortmann <41313082+michaelortmann@users.noreply.github.com> Date: Sat, 20 Jul 2024 18:26:58 +0200 Subject: [PATCH 18/47] Update sys/resource.h includes Patch by: michaelortmann --- src/chanprog.c | 3 --- src/cmds.c | 1 - src/eggdrop.h | 1 + src/main.c | 4 ---- src/mod/pbkdf2.mod/pbkdf2.c | 1 - src/tclhash.c | 1 - 6 files changed, 1 insertion(+), 10 deletions(-) diff --git a/src/chanprog.c b/src/chanprog.c index f589593fb..eb5f3d1f6 100644 --- a/src/chanprog.c +++ b/src/chanprog.c @@ -27,10 +27,7 @@ */ #include "main.h" - -#include #include - #include "modules.h" extern struct dcc_t *dcc; diff --git a/src/cmds.c b/src/cmds.c index 507c69687..eaebb12f9 100644 --- a/src/cmds.c +++ b/src/cmds.c @@ -22,7 +22,6 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include #include "main.h" #include "tandem.h" #include "modules.h" diff --git a/src/eggdrop.h b/src/eggdrop.h index c91ae91e2..393de019d 100644 --- a/src/eggdrop.h +++ b/src/eggdrop.h @@ -185,6 +185,7 @@ /* Almost every module needs some sort of time thingy, so... */ #include /* gettimeofday() POSIX 2001 */ #include /* POSIX 2001 */ +#include /* getrusage() setrlimit() after time.h because of BSD */ /* Yikes...who would have thought finding a usable random() would be so much * trouble? diff --git a/src/main.c b/src/main.c index 0b321d025..c19a076ea 100644 --- a/src/main.c +++ b/src/main.c @@ -63,10 +63,6 @@ #include "modules.h" #include "bg.h" -#ifdef DEBUG /* For debug compile */ -# include /* setrlimit() */ -#endif - #ifdef HAVE_GETRANDOM # include #endif diff --git a/src/mod/pbkdf2.mod/pbkdf2.c b/src/mod/pbkdf2.mod/pbkdf2.c index faf7313d2..3c19dcb4b 100644 --- a/src/mod/pbkdf2.mod/pbkdf2.c +++ b/src/mod/pbkdf2.mod/pbkdf2.c @@ -15,7 +15,6 @@ #define MODULE_NAME "encryption2" #include /* base64 encode b64_ntop() and base64 decode b64_pton() */ -#include #include #include diff --git a/src/tclhash.c b/src/tclhash.c index 76d170af8..08d5ee631 100644 --- a/src/tclhash.c +++ b/src/tclhash.c @@ -26,7 +26,6 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#include #include "main.h" extern Tcl_Interp *interp; From e7756c7cad8396c2ab4f0f75e81dd9c130fa271a Mon Sep 17 00:00:00 2001 From: Michael Ortmann <41313082+michaelortmann@users.noreply.github.com> Date: Sat, 20 Jul 2024 18:41:07 +0200 Subject: [PATCH 19/47] Typo fixes Patch by: michaelortmann --- NEWS | 10 +++++----- doc/Changes1.8 | 2 +- doc/sphinx_source/tutorials/firststeps.rst | 2 +- doc/sphinx_source/tutorials/userfilesharing.rst | 2 +- eggdrop.conf | 4 ++-- help/cmds1.help | 4 ++-- src/main.c | 2 +- src/misc.c | 2 +- src/mod/dns.mod/coredns.c | 6 +++--- src/mod/notes.mod/language/notes.german.lang | 2 +- src/mod/python.mod/python.c | 2 +- src/mod/seen.mod/seen.c | 2 +- src/mod/transfer.mod/language/transfer.german.lang | 2 +- 13 files changed, 21 insertions(+), 21 deletions(-) diff --git a/NEWS b/NEWS index 827acab07..54eea1d7e 100644 --- a/NEWS +++ b/NEWS @@ -65,7 +65,7 @@ Eggdrop v1.9.4: Tcl API changes: - Moved the 'gotmsg' function back as a raw bind. It was inadvertently - moved to a rawt bind in 1.9.3, causing issuse with scripts attempting to + moved to a rawt bind in 1.9.3, causing issues with scripts attempting to unbind this internal reference Module changes: - None @@ -219,7 +219,7 @@ Eggdrop v1.9.0: - Added Twitch support - Added support for users that change hosts mid-session, usually associated with authenticating with services (396 raw code and CHGHOST capability). - - Added support for the users that change their realname value mis-session + - Added support for the users that change their realname value mid-session (SETNAME capability) - Added the ability for Eggdrop to internally track the away status of an individual, with some limitations. @@ -239,9 +239,9 @@ Eggdrop v1.9.0: otherwise the connection will be in plaintext. A port not prefixed with a + can still be upgraded with STARTTLS, allowing 1.8 bots and scripts to initiate a secure connection, but 1.9.0 bots will not attempt the upgrade. - - Added granular userfile sharing flags (bcejnu). Adding these flags can limit - userfile sharing to a combination of bans, invites, exempts, channels, - users, and ignores (or still the s flag for all these). + - Added granular userfile sharing flags (bcejnu). Adding these flags can + limit userfile sharing to a combination of bans, invites, exempts, + channels, users, and ignores (or still the s flag for all these). - No longer try port+1,2,3 when connecting to a botnet port doesn't work the first time diff --git a/doc/Changes1.8 b/doc/Changes1.8 index f472a38e0..84b8e046a 100644 --- a/doc/Changes1.8 +++ b/doc/Changes1.8 @@ -199,7 +199,7 @@ Eggdrop v1.8.4rc1 (2018-12-12): * define/use CHANNELLEN; convert some strncpy + \0 into strlcpy() * fix readme typo * Add NickServ certificate auth to docs - 2018-10-12 * Replace stuct with FLEXIBLE_ARRAY_MEMBER + 2018-10-12 * Replace struct with FLEXIBLE_ARRAY_MEMBER [Patch by: michaelortmann] * Fix information leak through TCL variables. Fixes #137. Fixes #414 [Found by: maimizuno / Patch by: michaelortmann] diff --git a/doc/sphinx_source/tutorials/firststeps.rst b/doc/sphinx_source/tutorials/firststeps.rst index 0d67d92fc..368d8605e 100644 --- a/doc/sphinx_source/tutorials/firststeps.rst +++ b/doc/sphinx_source/tutorials/firststeps.rst @@ -166,7 +166,7 @@ Simple Authentication and Security Layer (SASL) is becoming a prevalant method o openssl req -new -x509 -nodes -keyout eggdrop.key -out eggdrop.crt -You will need to determine yoru public key fingerprint by using:: +You will need to determine your public key fingerprint by using:: openssl x509 -in eggdrop.crt -outform der | sha1sum -b | cut -d' ' -f1 diff --git a/doc/sphinx_source/tutorials/userfilesharing.rst b/doc/sphinx_source/tutorials/userfilesharing.rst index ed40c46f5..3ca6ef0d2 100644 --- a/doc/sphinx_source/tutorials/userfilesharing.rst +++ b/doc/sphinx_source/tutorials/userfilesharing.rst @@ -45,6 +45,6 @@ In the example above, we add the +s bot flag to LiefErikson's bot record on Huba Lastly, the +g flag is used on both bot records to indicate that Hubalicious is authorized to send userfiles for all channels. This is a shortcut method to sharing all channels instead of setting the `+shared` channel setting on the hub for each channel userfile you wish the hub to share (set via .chanset), and using the `|+s #channel` bot flag for each channel userfile that the leaf is authorized to receive userfiles from the hub. As an example of channel-specific userfile sharing, you would use `.botattr LiefErikson |+s #theforest` on Hubalicious to set #theforest as a channel authorized to be shared to LiefErikson, and `chanset #theforest +shared` to tell LiefErikson to accept the channel userfile for #theforest. -One more commonly used flag is the `+a` flag. This flag specifies an alternate hub to connect to incase the primary hub goes down. The alternate hub should be linked to hub and maintain all channel userfiles the hub maintains to ensure there is no desynchronization while the hub bot is down. Should the hub bot go down, and assuming the `+h` flag is set for the hub on a leaf, the leafbost will automatically try to reconnect to the hub every minute, even if it makes a connection with the alternate hub in the meantime. An alternate hub is added the same as a hub, except swapping out the `h` for the `a`: `.botattr AltRock +agp`. +One more commonly used flag is the `+a` flag. This flag specifies an alternate hub to connect to in case the primary hub goes down. The alternate hub should be linked to hub and maintain all channel userfiles the hub maintains to ensure there is no desynchronization while the hub bot is down. Should the hub bot go down, and assuming the `+h` flag is set for the hub on a leaf, the leafbost will automatically try to reconnect to the hub every minute, even if it makes a connection with the alternate hub in the meantime. An alternate hub is added the same as a hub, except swapping out the `h` for the `a`: `.botattr AltRock +agp`. Now that you have a hub and leaf bot successfully connected and sharing userfiles, you can repeat the `On the Leaf Bot`_ section to add additional leafs to your hub. diff --git a/eggdrop.conf b/eggdrop.conf index 852758286..832f13c79 100755 --- a/eggdrop.conf +++ b/eggdrop.conf @@ -712,8 +712,8 @@ set use-info 1 # floods. set allow-ps 0 -# The following settings are used as default values when you .+chan #chan or .tcl -# channel add #chan. Look below for explanation of every option. +# The following settings are used as default values when you .+chan #chan or +# .tcl channel add #chan. Look below for explanation of every option. set default-flood-chan 15:60 set default-flood-deop 3:10 diff --git a/help/cmds1.help b/help/cmds1.help index 6857fcb6d..17b17b1dd 100644 --- a/help/cmds1.help +++ b/help/cmds1.help @@ -133,8 +133,8 @@ See also: tcl %bNOTE:%b This command is NOT used to replace .chattr. It modifies bot flags, such as s, h, a, u, etc. - %bNOTE:%b You can't use this command on bots which are directly linked to your - bot at the current moment. + %bNOTE:%b You can't use this command on bots which are directly linked to + your bot at the current moment. See also: whois, chattr %{help=botinfo}%{-} diff --git a/src/main.c b/src/main.c index c19a076ea..450d6bc83 100644 --- a/src/main.c +++ b/src/main.c @@ -97,7 +97,7 @@ int egg_numver = EGG_NUMVER; char notify_new[121] = ""; /* Person to send a note to for new users */ int default_flags = 0; /* Default user flags */ -int default_uflags = 0; /* Default user-definied flags */ +int default_uflags = 0; /* Default user-defined flags */ int backgrd = 1; /* Run in the background? */ int con_chan = 0; /* Foreground: constantly display channel stats? */ diff --git a/src/misc.c b/src/misc.c index 1c521475e..4eae6189f 100644 --- a/src/misc.c +++ b/src/misc.c @@ -317,7 +317,7 @@ void maskaddr(const char *s, char *nw, int type) u = strchr(s, '!'); if (u) h = strchr(u, '@'); - if (!h){ + if (!h) { h = strchr(s, '@'); u = 0; } diff --git a/src/mod/dns.mod/coredns.c b/src/mod/dns.mod/coredns.c index f1f440770..d551f0d87 100644 --- a/src/mod/dns.mod/coredns.c +++ b/src/mod/dns.mod/coredns.c @@ -443,12 +443,12 @@ static void linkresolveip(struct resolve *addrp) } #ifdef IPV6 -static void linkresolveip6(struct resolve *addrp){ +static void linkresolveip6(struct resolve *addrp) { struct resolve *rp; unsigned long bashnum; bashnum = getip6bash(&addrp->sockname.addr.s6.sin6_addr); rp = ip6bash[bashnum]; - if (rp){ + if (rp) { while ((rp->nextip) && (addrp->sockname.addr.s6.sin6_addr.s6_addr[15] > rp->nextip->sockname.addr.s6.sin6_addr.s6_addr[15])) @@ -634,7 +634,7 @@ static struct resolve *findip6(struct in6_addr *ip6) unsigned long bashnum; bashnum = getip6bash(ip6); rp = ip6bash[bashnum]; - if (rp){ + if (rp) { while ((rp->nextip) && (ip6->s6_addr[15] >= (rp->nextip->sockname.addr.s6.sin6_addr.s6_addr[15]))) rp = rp->nextip; diff --git a/src/mod/notes.mod/language/notes.german.lang b/src/mod/notes.mod/language/notes.german.lang index 1f4902384..f3c038af7 100644 --- a/src/mod/notes.mod/language/notes.german.lang +++ b/src/mod/notes.mod/language/notes.german.lang @@ -20,7 +20,7 @@ 0xc010,Alle Nachrichten geloescht 0xc011,Geloescht 0xc012,uebrig -0xc013,'#' koennen Zahlen und/oder Intervalle getrennt duch ';' sein. +0xc013,'#' koennen Zahlen und/oder Intervalle getrennt durch ';' sein. 0xc014,Dies ist ein Bot. Du kannst einem Bot keine Nachricht hinterlassen. 0xc015,Outside Nachricht 0xc016,Nachricht zugestellt. diff --git a/src/mod/python.mod/python.c b/src/mod/python.mod/python.c index c0d468907..254a4b7d5 100644 --- a/src/mod/python.mod/python.c +++ b/src/mod/python.mod/python.c @@ -158,7 +158,7 @@ char *python_start(Function *global_funcs) module_undepend(MODULE_NAME); return "This module requires irc module 1.5 or later."; } - // irc.mod depends on server.mod and channels.mod, so those were implicitely loaded + // irc.mod depends on server.mod and channels.mod, so those were implicitly loaded if ((s = init_python())) return s; diff --git a/src/mod/seen.mod/seen.c b/src/mod/seen.mod/seen.c index 63ddd0593..54c82ee73 100644 --- a/src/mod/seen.mod/seen.c +++ b/src/mod/seen.mod/seen.c @@ -242,7 +242,7 @@ static void do_seen(int idx, char *prefix, char *nick, char *hand, dprintf(idx, "%sYour what, %s?\n", prefix, nick); return; } - /* Do I even KNOW the requestor? */ + /* Do I even KNOW the requester? */ if (hand[0] == '*' || !hand[0]) { dprintf(idx, "%sI don't know you, %s, so I don't know about your %s.\n", diff --git a/src/mod/transfer.mod/language/transfer.german.lang b/src/mod/transfer.mod/language/transfer.german.lang index ab4b863d2..ab11798de 100644 --- a/src/mod/transfer.mod/language/transfer.german.lang +++ b/src/mod/transfer.mod/language/transfer.german.lang @@ -34,7 +34,7 @@ # 0xf1e, < dieses ist jetzt leer 0xf1f,Getrennt von %s (Userfile Transfer abgebrochen) 0xf20,Verlor DCC send %s von %s!%s (%lu/%lu) -0xf21,(!) Erneutes laden von Packet von %s fuer %s ist ungueltig! +0xf21,(!) Erneutes Laden von Paket von %s fuer %s ist ungueltig! 0xf22,!! Fortsetzung von Datei-Transfer hinter dem Dateiende fuer %s zu %s 0xf23,!!! Versuche Teile des Userfile Transfers auszulassen 0xf24,Fortsetzung von Dateitransfer bei %dk fuer %s zu %s From b8d5d8fc18d2617a8bf5cae932f165802b104788 Mon Sep 17 00:00:00 2001 From: Geo Date: Wed, 24 Jul 2024 16:30:22 -0400 Subject: [PATCH 20/47] Update Tcl doc with need-* guidance Found by: Koragg Fixes: #734 --- doc/sphinx_source/using/tcl-commands.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/sphinx_source/using/tcl-commands.rst b/doc/sphinx_source/using/tcl-commands.rst index 339c728c3..5ded857d6 100644 --- a/doc/sphinx_source/using/tcl-commands.rst +++ b/doc/sphinx_source/using/tcl-commands.rst @@ -909,7 +909,7 @@ channel add [option-list] channel set ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Description: sets options for the channel specified. The full list of possible options are given in doc/settings/mod.channels. + Description: sets options for the channel specified. `options` is a flat list of either +/-settings or key/value pairs. The full list of possible options are given in doc/settings/mod.channels. Note: Tcl code settings such as the need-* settings must be valid Tcl code as a single word, for example ``channel set #lamest need-op { putmsg Nickserv "op #lamest" }`` Returns: nothing From a705cb364b3f2b293ebb5573fc4088a9a88701bd Mon Sep 17 00:00:00 2001 From: TehPeGaSuS <25697531+TehPeGaSuS@users.noreply.github.com> Date: Sun, 28 Jul 2024 21:48:26 +0200 Subject: [PATCH 21/47] Update tcl-commands example --- doc/sphinx_source/using/tcl-commands.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/sphinx_source/using/tcl-commands.rst b/doc/sphinx_source/using/tcl-commands.rst index 5ded857d6..74ea734dd 100644 --- a/doc/sphinx_source/using/tcl-commands.rst +++ b/doc/sphinx_source/using/tcl-commands.rst @@ -909,7 +909,7 @@ channel add [option-list] channel set ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Description: sets options for the channel specified. `options` is a flat list of either +/-settings or key/value pairs. The full list of possible options are given in doc/settings/mod.channels. Note: Tcl code settings such as the need-* settings must be valid Tcl code as a single word, for example ``channel set #lamest need-op { putmsg Nickserv "op #lamest" }`` + Description: sets options for the channel specified. `options` is a flat list of either +/-settings or key/value pairs. The full list of possible options are given in doc/settings/mod.channels. Note: Tcl code settings such as the need-* settings must be valid Tcl code as a single word, for example ``channel set #lamest need-op { putmsg ChanServ "op #lamest" }`` Returns: nothing From 49e5a008bd205d0dab176723aca10d7a202e9ebf Mon Sep 17 00:00:00 2001 From: Michael Ortmann <41313082+michaelortmann@users.noreply.github.com> Date: Sun, 28 Jul 2024 21:49:43 +0200 Subject: [PATCH 22/47] Fix prototypes Patch by: michaelortmann --- src/mod/module.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mod/module.h b/src/mod/module.h index efab4174f..41f74e5d1 100644 --- a/src/mod/module.h +++ b/src/mod/module.h @@ -136,7 +136,7 @@ typedef void (*chanout_butfunc)(int, int, const char *, ...) ATTRIBUTE_FORMAT(pr #define zapfbot ((void (*)(int))global[36]) #define n_free ((void (*)(void *,char *, int))global[37]) #define u_pass_match ((int (*)(struct userrec *,char *))global[38]) -#define user_malloc(x) ((void *(*)(int,char *,int))global[39])(x,__FILE__,__LINE__) +#define user_malloc(x) ((void *(*)(int, const char *, int))global[39])(x,__FILE__,__LINE__) /* 40 - 43 */ #define get_user ((void *(*)(struct user_entry_type *,struct userrec *))global[40]) #define set_user ((int(*)(struct user_entry_type *,struct userrec *,void *))global[41]) @@ -415,7 +415,7 @@ typedef void (*chanout_butfunc)(int, int, const char *, ...) ATTRIBUTE_FORMAT(pr #define make_rand_str ((void (*) (char *, int))global[243]) /* 244 - 247 */ #define protect_readonly (*(int *)(global[244])) -#define findchan_by_dname ((struct chanset_t *(*)(char *))global[245]) +#define findchan_by_dname ((struct chanset_t *(*)(const char *))global[245]) #define removedcc ((void (*) (int))global[246]) #define userfile_perm (*(int *)global[247]) /* 248 - 251 */ From 36e003489d5691e1687d2941791fb6a4d0054417 Mon Sep 17 00:00:00 2001 From: Michael Ortmann <41313082+michaelortmann@users.noreply.github.com> Date: Sun, 28 Jul 2024 21:53:08 +0200 Subject: [PATCH 23/47] Fix locking/race for tdns error logging Patch by: michaelortmann --- src/dns.c | 13 ++++++++----- src/net.c | 17 +++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/dns.c b/src/dns.c index 134c7ac53..a79175222 100644 --- a/src/dns.c +++ b/src/dns.c @@ -504,6 +504,7 @@ void *thread_dns_hostbyip(void *arg) i = getnameinfo((const struct sockaddr *) &addr->addr.sa, addr->addrlen, dtn->host, sizeof dtn->host, NULL, 0, 0); + pthread_mutex_lock(&dtn->mutex); if (!i) *dtn->strerror = 0; else { @@ -515,7 +516,6 @@ void *thread_dns_hostbyip(void *arg) #endif inet_ntop(AF_INET, &addr->addr.s4.sin_addr.s_addr, dtn->host, sizeof dtn->host); } - pthread_mutex_lock(&dtn->mutex); close(dtn->fildes[1]); pthread_mutex_unlock(&dtn->mutex); return NULL; @@ -530,6 +530,7 @@ void *thread_dns_ipbyhost(void *arg) error = getaddrinfo(dtn->host, NULL, NULL, &res0); memset(addr, 0, sizeof *addr); + pthread_mutex_lock(&dtn->mutex); if (!error) { *dtn->strerror = 0; #ifdef IPV6 @@ -563,11 +564,13 @@ void *thread_dns_ipbyhost(void *arg) } else if (error == EAI_NONAME) snprintf(dtn->strerror, sizeof dtn->strerror, "dns: thread_dns_ipbyhost(): getaddrinfo(): not known"); - else if (error == EAI_SYSTEM) - snprintf(dtn->strerror, sizeof dtn->strerror, "dns: thread_dns_ipbyhost(): getaddrinfo(): %s: %s", gai_strerror(error), strerror(errno)); - else + else if (error == EAI_SYSTEM) { + char ebuf[2048]; + if (strerror_r(errno, ebuf, sizeof ebuf)) + strcpy(ebuf, "strerror_r()"); + snprintf(dtn->strerror, sizeof dtn->strerror, "dns: thread_dns_ipbyhost(): getaddrinfo(): %s: %s", gai_strerror(error), ebuf); + } else snprintf(dtn->strerror, sizeof dtn->strerror, "dns: thread_dns_ipbyhost(): getaddrinfo(): %s", gai_strerror(error)); - pthread_mutex_lock(&dtn->mutex); close(dtn->fildes[1]); pthread_mutex_unlock(&dtn->mutex); return NULL; diff --git a/src/net.c b/src/net.c index 5a63d5808..644f4f6c5 100644 --- a/src/net.c +++ b/src/net.c @@ -1061,27 +1061,24 @@ int sockread(char *s, int *len, sock_list *slist, int slistmax, int tclonly) #ifdef EGG_TDNS dtn_prev = dns_thread_head; for (dtn = dtn_prev->next; dtn; dtn = dtn->next) { + pthread_mutex_lock(&dtn->mutex); if (*dtn->strerror) debug2("%s: hostname %s", dtn->strerror, dtn->host); fd = dtn->fildes[0]; if (FD_ISSET(fd, &fdr)) { - if (dtn->type == DTN_TYPE_HOSTBYIP) { - pthread_mutex_lock(&dtn->mutex); + if (dtn->type == DTN_TYPE_HOSTBYIP) call_hostbyip(&dtn->addr, dtn->host, !*dtn->strerror); - pthread_mutex_unlock(&dtn->mutex); - } - else { - pthread_mutex_lock(&dtn->mutex); + else call_ipbyhost(dtn->host, &dtn->addr, !*dtn->strerror); - pthread_mutex_unlock(&dtn->mutex); - } - close(dtn->fildes[0]); + pthread_mutex_unlock(&dtn->mutex); + close(fd); if (pthread_join(dtn->thread_id, &res)) putlog(LOG_MISC, "*", "sockread(): pthread_join(): error = %s", strerror(errno)); dtn_prev->next = dtn->next; nfree(dtn); dtn = dtn_prev; - } + } else + pthread_mutex_unlock(&dtn->mutex); dtn_prev = dtn; } #endif From 6fd2092023a2a449a9b3a1071b0a1aac12347910 Mon Sep 17 00:00:00 2001 From: Michael Ortmann <41313082+michaelortmann@users.noreply.github.com> Date: Sun, 28 Jul 2024 21:54:36 +0200 Subject: [PATCH 24/47] Fix file descriptor leak in compress.mod Patch by: michaelortmann --- src/mod/compress.mod/compress.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/mod/compress.mod/compress.c b/src/mod/compress.mod/compress.c index c4a86fb76..34de2ccfc 100644 --- a/src/mod/compress.mod/compress.c +++ b/src/mod/compress.mod/compress.c @@ -88,8 +88,10 @@ static int is_compressedfile(char *filename) if (!zin) return COMPF_FAILED; len1 = gzread(zin, buf1, sizeof(buf1)); - if (len1 < 0) + if (len1 < 0) { + gzclose(zin); return COMPF_FAILED; + } if (gzclose(zin) != Z_OK) return COMPF_FAILED; @@ -142,6 +144,7 @@ static int uncompress_to_file(char *f_src, char *f_target) fout = fopen(f_target, "wb"); if (!fout) { + gzclose(fin); putlog(LOG_MISC, "*", "Failed to uncompress file `%s': open failed: %s.", f_src, strerror(errno)); return COMPF_ERROR; @@ -152,6 +155,7 @@ static int uncompress_to_file(char *f_src, char *f_target) if (len < 0) { putlog(LOG_MISC, "*", "Failed to uncompress file `%s': gzread failed.", f_src); + gzclose(fin); fclose(fout); return COMPF_ERROR; } @@ -160,6 +164,7 @@ static int uncompress_to_file(char *f_src, char *f_target) if ((int) fwrite(buf, 1, (unsigned int) len, fout) != len) { putlog(LOG_MISC, "*", "Failed to uncompress file `%s': fwrite " "failed: %s.", f_src, strerror(errno)); + gzclose(fin); fclose(fout); return COMPF_ERROR; } @@ -167,6 +172,7 @@ static int uncompress_to_file(char *f_src, char *f_target) if (fclose(fout)) { putlog(LOG_MISC, "*", "Failed to uncompress file `%s': fclose failed: %s.", f_src, strerror(errno)); + gzclose(fin); return COMPF_ERROR; } if (gzclose(fin) != Z_OK) { From 12a03b6a60fc3fd31fa329d96d327e2a28a1bb18 Mon Sep 17 00:00:00 2001 From: Michael Ortmann <41313082+michaelortmann@users.noreply.github.com> Date: Sun, 28 Jul 2024 21:58:59 +0200 Subject: [PATCH 25/47] Properly set chanjoin time for Eggdrop Found by: Empus Patch by: michaelortmann Fixes: #1590 --- src/mod/irc.mod/chan.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/mod/irc.mod/chan.c b/src/mod/irc.mod/chan.c index 7899eed6e..851132990 100644 --- a/src/mod/irc.mod/chan.c +++ b/src/mod/irc.mod/chan.c @@ -1080,8 +1080,11 @@ static int got352or4(struct chanset_t *chan, char *user, char *host, simple_sprintf(m->userhost, "%s@%s", user, host); simple_sprintf(userhost, "%s!%s", nick, m->userhost); /* Combine n!u@h */ - if (match_my_nick(nick)) /* Is it me? */ + if (match_my_nick(nick)) { /* Is it me? */ + if (!m->joined) + m->joined = now; strcpy(botuserhost, m->userhost); /* Yes, save my own userhost */ + } m->flags |= WHO_SYNCED; if (strpbrk(flags, opchars) != NULL) m->flags |= (CHANOP | WASOP); From 69e6e6c4574e14983c1ea9ba029432f7f31fa41f Mon Sep 17 00:00:00 2001 From: Thomas Sader Date: Mon, 29 Jul 2024 18:30:09 +0200 Subject: [PATCH 26/47] Add github action to perform autoconf --- .github/workflows/dependencies.yml | 10 +++++----- .github/workflows/make.yml | 4 ++-- .github/workflows/manual_autoconf.yml | 20 ++++++++++++++++++++ .github/workflows/misc.yml | 4 ++-- 4 files changed, 29 insertions(+), 9 deletions(-) create mode 100644 .github/workflows/manual_autoconf.yml diff --git a/.github/workflows/dependencies.yml b/.github/workflows/dependencies.yml index 9c49e9bdc..d3dacb753 100644 --- a/.github/workflows/dependencies.yml +++ b/.github/workflows/dependencies.yml @@ -17,7 +17,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: install dependencies - run: sudo apt-get install openssl libssl-dev + run: sudo apt-get update && sudo apt-get install openssl libssl-dev - uses: actions/cache@v4 id: tcl-cache with: @@ -45,7 +45,7 @@ jobs: with: path: 'eggdrop' - name: install dependencies - run: sudo apt-get install tcl tcl-dev + run: sudo apt-get update && sudo apt-get install tcl tcl-dev - uses: actions/cache@v4 id: ssl-cache with: @@ -73,7 +73,7 @@ jobs: with: path: 'eggdrop' - name: install dependencies - run: sudo apt-get install tcl tcl-dev + run: sudo apt-get update && sudo apt-get install tcl tcl-dev - uses: actions/cache@v4 id: ssl-cache with: @@ -113,7 +113,7 @@ jobs: run: | cd $GITHUB_WORKSPACE/openssl && ./config --prefix=$HOME/ssl && make -j4 && make install_sw - name: install dependencies - run: sudo apt-get install tcl tcl-dev + run: sudo apt-get update && sudo apt-get install tcl tcl-dev - uses: actions/checkout@v4 with: path: 'eggdrop' @@ -158,7 +158,7 @@ jobs: with: path: 'eggdrop' - name: install dependencies - run: sudo apt-get install tcl tcl-dev + run: sudo apt-get update && sudo apt-get install tcl tcl-dev - name: Build run: | cd $GITHUB_WORKSPACE/eggdrop diff --git a/.github/workflows/make.yml b/.github/workflows/make.yml index e1dc3be6b..7dc22acd9 100644 --- a/.github/workflows/make.yml +++ b/.github/workflows/make.yml @@ -16,7 +16,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: install dependencies - run: sudo apt-get install clang tcl tcl-dev openssl libssl-dev + run: sudo apt-get update && sudo apt-get install clang tcl tcl-dev openssl libssl-dev - name: Build env: CC: ${{ matrix.cc }} @@ -34,6 +34,6 @@ jobs: steps: - uses: actions/checkout@v4 - name: install dependencies - run: sudo apt-get install tcl tcl-dev openssl libssl-dev + run: sudo apt-get update && sudo apt-get install tcl tcl-dev openssl libssl-dev - name: Build run: ./configure ${{ matrix.conf_tls }} ${{ matrix.conf_ipv6 }} ${{ matrix.conf_tdns }} && make config && make -j4 diff --git a/.github/workflows/manual_autoconf.yml b/.github/workflows/manual_autoconf.yml new file mode 100644 index 000000000..b52e17b43 --- /dev/null +++ b/.github/workflows/manual_autoconf.yml @@ -0,0 +1,20 @@ +name: Run and Commit autotools +on: + workflow_dispatch: +jobs: + run-script: + runs-on: ubuntu-latest + steps: + - name: Check out repository code + uses: actions/checkout@v4 + - name: Install pre-requisites + run: sudo apt-get update && sudo apt-get install build-essential autoconf + - name: Run autotools + run: bash ./misc/runautotools + - name: Commit changes + run: | + git config --global user.name "GitHub Actions" + git config --global user.email "actions@github.com" + git commit -a -m "Run autotools" + git push origin develop + diff --git a/.github/workflows/misc.yml b/.github/workflows/misc.yml index b6a894b30..2f2490e6e 100644 --- a/.github/workflows/misc.yml +++ b/.github/workflows/misc.yml @@ -13,7 +13,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: install dependencies - run: sudo apt-get install build-essential autoconf + run: sudo apt-get update && sudo apt-get install build-essential autoconf - name: Stage configure with revision removed run: | for i in `find . -name configure`; do sed -i 's/From configure.ac .*//' $i; git add $i; done @@ -34,7 +34,7 @@ jobs: steps: - uses: actions/checkout@v4 - name: install dependencies - run: sudo apt-get install build-essential autoconf tcl-dev tcl openssl libssl-dev + run: sudo apt-get update && sudo apt-get install build-essential autoconf tcl-dev tcl openssl libssl-dev - name: Run makedepend run: misc/makedepend - name: Check diff From 6566ff09d20ffad8307df95c8c0d52caa21b39ab Mon Sep 17 00:00:00 2001 From: Michael Ortmann <41313082+michaelortmann@users.noreply.github.com> Date: Mon, 29 Jul 2024 18:33:16 +0200 Subject: [PATCH 27/47] Add more compile flags for debug builds Patch by: michaelortmann --- aclocal.m4 | 3 +++ m4/ax_check_compile_flag.m4 | 53 +++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 m4/ax_check_compile_flag.m4 diff --git a/aclocal.m4 b/aclocal.m4 index 748fb2969..13e3649e9 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -24,6 +24,7 @@ dnl Load python macros builtin(include,m4/python.m4) dnl Load gnu autoconf archive macros +builtin(include,m4/ax_check_compile_flag.m4) builtin(include,m4/ax_create_stdint_h.m4) builtin(include,m4/ax_lib_socket_nsl.m4) builtin(include,m4/ax_pthread.m4) @@ -1247,6 +1248,8 @@ AC_DEFUN([EGG_DEBUG_DEFAULTS], debug_options="debug debug_assert debug_mem debug_dns" debug_cflags_debug="-g3 -DDEBUG" + AX_CHECK_COMPILE_FLAG([-Og], [debug_cflags_debug="-Og $debug_cflags_debug"]) + AX_CHECK_COMPILE_FLAG([-fsanitize=address], [debug_cflags_debug="$debug_cflags_debug -fsanitize=address"]) debug_cflags_debug_assert="-DDEBUG_ASSERT" debug_cflags_debug_mem="-DDEBUG_MEM" debug_cflags_debug_dns="-DDEBUG_DNS" diff --git a/m4/ax_check_compile_flag.m4 b/m4/ax_check_compile_flag.m4 new file mode 100644 index 000000000..bd753b34d --- /dev/null +++ b/m4/ax_check_compile_flag.m4 @@ -0,0 +1,53 @@ +# =========================================================================== +# https://www.gnu.org/software/autoconf-archive/ax_check_compile_flag.html +# =========================================================================== +# +# SYNOPSIS +# +# AX_CHECK_COMPILE_FLAG(FLAG, [ACTION-SUCCESS], [ACTION-FAILURE], [EXTRA-FLAGS], [INPUT]) +# +# DESCRIPTION +# +# Check whether the given FLAG works with the current language's compiler +# or gives an error. (Warnings, however, are ignored) +# +# ACTION-SUCCESS/ACTION-FAILURE are shell commands to execute on +# success/failure. +# +# If EXTRA-FLAGS is defined, it is added to the current language's default +# flags (e.g. CFLAGS) when the check is done. The check is thus made with +# the flags: "CFLAGS EXTRA-FLAGS FLAG". This can for example be used to +# force the compiler to issue an error when a bad flag is given. +# +# INPUT gives an alternative input source to AC_COMPILE_IFELSE. +# +# NOTE: Implementation based on AX_CFLAGS_GCC_OPTION. Please keep this +# macro in sync with AX_CHECK_{PREPROC,LINK}_FLAG. +# +# LICENSE +# +# Copyright (c) 2008 Guido U. Draheim +# Copyright (c) 2011 Maarten Bosmans +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 6 + +AC_DEFUN([AX_CHECK_COMPILE_FLAG], +[AC_PREREQ(2.64)dnl for _AC_LANG_PREFIX and AS_VAR_IF +AS_VAR_PUSHDEF([CACHEVAR],[ax_cv_check_[]_AC_LANG_ABBREV[]flags_$4_$1])dnl +AC_CACHE_CHECK([whether _AC_LANG compiler accepts $1], CACHEVAR, [ + ax_check_save_flags=$[]_AC_LANG_PREFIX[]FLAGS + _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $4 $1" + AC_COMPILE_IFELSE([m4_default([$5],[AC_LANG_PROGRAM()])], + [AS_VAR_SET(CACHEVAR,[yes])], + [AS_VAR_SET(CACHEVAR,[no])]) + _AC_LANG_PREFIX[]FLAGS=$ax_check_save_flags]) +AS_VAR_IF(CACHEVAR,yes, + [m4_default([$2], :)], + [m4_default([$3], :)]) +AS_VAR_POPDEF([CACHEVAR])dnl +])dnl AX_CHECK_COMPILE_FLAGS From 951b6ba8956a75be63783f73e766b4a1dd01118e Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 29 Jul 2024 16:33:47 +0000 Subject: [PATCH 28/47] Run autotools --- configure | 78 +++++++++++++++++++++++++++++++++- src/mod/compress.mod/configure | 2 +- src/mod/dns.mod/configure | 2 +- src/mod/python.mod/configure | 2 +- 4 files changed, 80 insertions(+), 4 deletions(-) diff --git a/configure b/configure index 9c1c4eeb9..94c9eae6c 100755 --- a/configure +++ b/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.ac 4af46aa3. +# From configure.ac 6566ff0. # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.71 for Eggdrop 1.9.5. # @@ -9761,6 +9761,82 @@ fi debug_options="debug debug_assert debug_mem debug_dns" debug_cflags_debug="-g3 -DDEBUG" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -Og" >&5 +printf %s "checking whether C compiler accepts -Og... " >&6; } +if test ${ax_cv_check_cflags___Og+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ax_check_save_flags=$CFLAGS + CFLAGS="$CFLAGS -Og" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ax_cv_check_cflags___Og=yes +else $as_nop + ax_cv_check_cflags___Og=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + CFLAGS=$ax_check_save_flags +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___Og" >&5 +printf "%s\n" "$ax_cv_check_cflags___Og" >&6; } +if test "x$ax_cv_check_cflags___Og" = xyes +then : + debug_cflags_debug="-Og $debug_cflags_debug" +else $as_nop + : +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fsanitize=address" >&5 +printf %s "checking whether C compiler accepts -fsanitize=address... " >&6; } +if test ${ax_cv_check_cflags___fsanitize_address+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ax_check_save_flags=$CFLAGS + CFLAGS="$CFLAGS -fsanitize=address" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ax_cv_check_cflags___fsanitize_address=yes +else $as_nop + ax_cv_check_cflags___fsanitize_address=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + CFLAGS=$ax_check_save_flags +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fsanitize_address" >&5 +printf "%s\n" "$ax_cv_check_cflags___fsanitize_address" >&6; } +if test "x$ax_cv_check_cflags___fsanitize_address" = xyes +then : + debug_cflags_debug="$debug_cflags_debug -fsanitize=address" +else $as_nop + : +fi + debug_cflags_debug_assert="-DDEBUG_ASSERT" debug_cflags_debug_mem="-DDEBUG_MEM" debug_cflags_debug_dns="-DDEBUG_DNS" diff --git a/src/mod/compress.mod/configure b/src/mod/compress.mod/configure index 21927d124..9ced317b6 100755 --- a/src/mod/compress.mod/configure +++ b/src/mod/compress.mod/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.ac 4af46aa3. +# From configure.ac 6566ff0. # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.71 for Eggdrop Compress Module 1.9.5. # diff --git a/src/mod/dns.mod/configure b/src/mod/dns.mod/configure index 54e38bf94..91d0224fc 100755 --- a/src/mod/dns.mod/configure +++ b/src/mod/dns.mod/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.ac 4af46aa3. +# From configure.ac 6566ff0. # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.71 for Eggdrop DNS Module 1.9.5. # diff --git a/src/mod/python.mod/configure b/src/mod/python.mod/configure index def84c793..e833909a3 100755 --- a/src/mod/python.mod/configure +++ b/src/mod/python.mod/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.ac 4af46aa3. +# From configure.ac 6566ff0. # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.71 for Eggdrop Python Module 1.10.0. # From cd32a73690e5aa09dd64fa6c97af9e1a4e0dc63a Mon Sep 17 00:00:00 2001 From: Michael Ortmann <41313082+michaelortmann@users.noreply.github.com> Date: Mon, 29 Jul 2024 18:37:05 +0200 Subject: [PATCH 29/47] Use the clock_gettime() instead of obsolescent gettimeofday() Patch by: michaelortmann --- configure.ac | 2 +- src/main.c | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/configure.ac b/configure.ac index 86756534d..7620bdffb 100644 --- a/configure.ac +++ b/configure.ac @@ -112,7 +112,7 @@ AX_TYPE_SOCKLEN_T AX_CREATE_STDINT_H([eggint.h]) # Checks for functions and their arguments. -AC_CHECK_FUNCS([dprintf explicit_bzero memset_explicit explicit_memset getrandom inet_aton memset_s snprintf strlcpy vsnprintf]) +AC_CHECK_FUNCS([clock_gettime dprintf explicit_bzero memset_explicit explicit_memset getrandom inet_aton memset_s snprintf strlcpy vsnprintf]) AC_FUNC_SELECT_ARGTYPES EGG_FUNC_B64_NTOP AC_FUNC_MMAP diff --git a/src/main.c b/src/main.c index 450d6bc83..42ddc61a6 100644 --- a/src/main.c +++ b/src/main.c @@ -919,7 +919,7 @@ static void mainloop(int toplevel) static void init_random(void) { unsigned int seed; #ifdef HAVE_GETRANDOM - if (getrandom(&seed, sizeof(seed), 0) != sizeof(seed)) { + if (getrandom(&seed, sizeof seed, 0) != (sizeof seed)) { if (errno != ENOSYS) { fatal("ERROR: getrandom()\n", 0); } else { @@ -927,9 +927,15 @@ static void init_random(void) { * This can happen with glibc>=2.25 and linux<3.17 */ #endif +#ifdef HAVE_CLOCK_GETTIME + struct timespec tp; + clock_gettime(CLOCK_REALTIME, &tp); + seed = ((uint64_t) tp.tv_sec * tp.tv_nsec) ^ getpid(); +#else struct timeval tp; gettimeofday(&tp, NULL); - seed = (((int64_t) tp.tv_sec * tp.tv_usec)) ^ getpid(); + seed = ((uint64_t) tp.tv_sec * tp.tv_usec) ^ getpid(); +#endif #ifdef HAVE_GETRANDOM } } From 4b640f269ac0c0d4b21bf27732a9d0bb7bf57908 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 29 Jul 2024 16:38:15 +0000 Subject: [PATCH 30/47] Run autotools --- config.h.in | 3 +++ configure | 8 +++++++- src/mod/compress.mod/configure | 2 +- src/mod/dns.mod/configure | 2 +- src/mod/python.mod/configure | 2 +- 5 files changed, 13 insertions(+), 4 deletions(-) diff --git a/config.h.in b/config.h.in index 4ac55ced2..e82e3c589 100644 --- a/config.h.in +++ b/config.h.in @@ -73,6 +73,9 @@ /* Define if b64_ntop exists. */ #undef HAVE_BASE64 +/* Define to 1 if you have the `clock_gettime' function. */ +#undef HAVE_CLOCK_GETTIME + /* Define to 1 if you have the declaration of `tzname', and to 0 if you don't. */ #undef HAVE_DECL_TZNAME diff --git a/configure b/configure index 94c9eae6c..de68e72ac 100755 --- a/configure +++ b/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.ac 6566ff0. +# From configure.ac cd32a73. # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.71 for Eggdrop 1.9.5. # @@ -8183,6 +8183,12 @@ ac_config_commands="$ac_config_commands $ac_stdint_h" # Checks for functions and their arguments. +ac_fn_c_check_func "$LINENO" "clock_gettime" "ac_cv_func_clock_gettime" +if test "x$ac_cv_func_clock_gettime" = xyes +then : + printf "%s\n" "#define HAVE_CLOCK_GETTIME 1" >>confdefs.h + +fi ac_fn_c_check_func "$LINENO" "dprintf" "ac_cv_func_dprintf" if test "x$ac_cv_func_dprintf" = xyes then : diff --git a/src/mod/compress.mod/configure b/src/mod/compress.mod/configure index 9ced317b6..0af9c1865 100755 --- a/src/mod/compress.mod/configure +++ b/src/mod/compress.mod/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.ac 6566ff0. +# From configure.ac cd32a73. # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.71 for Eggdrop Compress Module 1.9.5. # diff --git a/src/mod/dns.mod/configure b/src/mod/dns.mod/configure index 91d0224fc..2757a5ab0 100755 --- a/src/mod/dns.mod/configure +++ b/src/mod/dns.mod/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.ac 6566ff0. +# From configure.ac cd32a73. # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.71 for Eggdrop DNS Module 1.9.5. # diff --git a/src/mod/python.mod/configure b/src/mod/python.mod/configure index e833909a3..779d2ebe7 100755 --- a/src/mod/python.mod/configure +++ b/src/mod/python.mod/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.ac 6566ff0. +# From configure.ac cd32a73. # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.71 for Eggdrop Python Module 1.10.0. # From 24a0849136f0c5dfc72dddd4c55a4119162efc10 Mon Sep 17 00:00:00 2001 From: TehPeGaSuS <25697531+TehPeGaSuS@users.noreply.github.com> Date: Mon, 29 Jul 2024 19:09:51 +0200 Subject: [PATCH 31/47] Make autobotchk Tcl9 compatible Found by: DasBrain Patch by: TehPeGaSuS TCL 9 removes the `~` expansion ability (https://core.tcl-lang.org/tips/doc/trunk/tip/602.md) --- scripts/autobotchk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/autobotchk b/scripts/autobotchk index f9f1e8b40..2b65dac42 100755 --- a/scripts/autobotchk +++ b/scripts/autobotchk @@ -276,8 +276,8 @@ if {$systemd} { exit } puts "Creating systemd directory..." - catch {file mkdir ~/.config/systemd/user } res - if {[catch {open ~/.config/systemd/user/${botnet-nick}.service w} fd]} { + catch {file mkdir "$::env(HOME)/.config/systemd/user" } res + if {[catch {open "$::env(HOME)/.config/systemd/user/${botnet-nick}.service" w} fd]} { puts " *** ERROR: unable to open '${botnet-nick}.service' for writing" puts "" exit From 2d09ba341c2c0aece1cfdcde8a40c6450b185854 Mon Sep 17 00:00:00 2001 From: "ZarTek @ CREOLE" Date: Mon, 29 Jul 2024 19:11:21 +0200 Subject: [PATCH 32/47] Fix french lang typos/readability Patch by: ZarTek-Creole --- language/core.french.lang | 598 +++++++++++++++++++------------------- 1 file changed, 299 insertions(+), 299 deletions(-) diff --git a/language/core.french.lang b/language/core.french.lang index c25088f34..e514eb17a 100644 --- a/language/core.french.lang +++ b/language/core.french.lang @@ -1,434 +1,434 @@ # core.french.lang -# core language messages for eggdrop +# messages principaux pour eggdrop en français -# General stuff +# G�n�ralit�s 0x001,Utilisation -0x002,A chou.\n +0x002,A �chou�.\n # MODES_ -0x130,Cr -0x131,utilis dernirement +0x130,Cr�� +0x131,utilis� derni�rement 0x132,inactif -0x133,plac par +0x133,plac� par 0x135,non actif sur 0x137,non actif -0x138,non plac par le bot +0x138,non plac� par le bot # BANS_ 0x104,Bans globaux -0x106,Bans spcifiques au canal -0x109,Utilisez '.bans all' pour voir la liste complte +0x106,Bans sp�cifiques au canal +0x109,Utilisez '.bans all' pour voir la liste compl�te 0x10a,Annulation du ban # EXEMPTS_ 0x114,Exceptions globales -0x116,Exceptions spcifiques au canal -0x119,Utilisez '.exempts all' pour voir la liste complte +0x116,Exceptions sp�cifiques au canal +0x119,Utilisez '.exempts all' pour voir la liste compl�te 0x11a,Annulation de l'exception # INVITES_ 0x124,Invitations globales -0x126,Invitations spcifiques au canal -0x129,Utilisez '.invites all' pour voir la liste complte +0x126,Invitations sp�cifiques au canal +0x129,Utilisez '.invites all' pour voir la liste compl�te 0x12a,Annulation de l'invitation # MOD_ -0x200,Dj charg. -0x201,Ne peut pas dterminer le rpertoire courant. -0x202,Aucune fonction de dmarrage dfinie. +0x200,D�j� charg�. +0x201,Impossible de d�terminer le r�pertoire courant. +0x202,Aucune fonction de d�marrage d�finie. 0x204,Requis par un autre module 0x205,Aucune fonction de fermeture -0x206,Module dcharg: +0x206,Module d�charg� : 0x207,Aucun module de ce nom -0x209,Erreur pendant le chargement du module: -0x20a,Erreur pendant le dchargement du module: -0x20b,Ne peut pas charger les modules -0x20c,Modules stagnant; il va y avoir perte de mmoire! -0x20d,Vous avez install des modules, mais n'avez pas choisi de module de cryptage,\n\ -consultez le ficher de configuration initiale pour plus de renseignements.\n -0x20e,Module Filesys non charg. -0x20f,Module charg: %s \t\t(avec support internationnal) -0x210,Module charg: %s +0x209,Erreur pendant le chargement du module : +0x20a,Erreur pendant le d�chargement du module : +0x20b,Impossible de charger les modules +0x20c,Modules stagnants; il va y avoir perte de m�moire ! +0x20d,Vous avez install� des modules, mais n'avez pas choisi de module de cryptage,\n\ +consultez le fichier de configuration initiale pour plus de renseignements.\n +0x20e,Module Filesys non charg�. +0x20f,Module charg� : %s \t\t(avec support international) +0x210,Module charg� : %s # USERF_ -0x400,Transfert de la liste utilisateurs termin; liste prise en compte -0x402,NE PEUT PAS LIRE LA NOUVELLE LISTE UTILISATEURS -0x403,Ne peut vous envoyer la liste utilisateurs (erreur interne) -0x404,Personne ne correspond ces critres -0x405,Ancienne liste utilisateurs, utilisez 'tclsh scripts/weed c' pour la convertir -0x406,Format de liste utilisateurs invalide. +0x400,Transfert de la liste des utilisateurs termin� ; liste prise en compte +0x402,IMPOSSIBLE DE LIRE LA NOUVELLE LISTE DES UTILISATEURS +0x403,Impossible de vous envoyer la liste des utilisateurs (erreur interne) +0x404,Personne ne correspond � ces crit�res +0x405,Ancienne liste des utilisateurs, utilisez 'tclsh scripts/weed c' pour la convertir +0x406,Format de liste des utilisateurs invalide. 0x407,Enregistrement utilisateur corrompu 0x408,Enregistrement utilisateur en double -0x409,Mot de passe corrompu pour: -0x40a,Ban(s) ignor(s) pour le(s) canal(aux): -0x40b,Ecriture de la liste utilisateurs... -0x40c,ERREUR pendant l'criture de la liste utilisateurs. -0x40d,ERREUR pendant l'criture de la liste utilisateurs transfrer. -0x40e,Cration de la liste utilisateurs inutile--ignore +0x409,Mot de passe corrompu pour : +0x40a,Ban(s) ignor�(s) pour le(s) canal(aux) : +0x40b,�criture de la liste des utilisateurs... +0x40c,ERREUR pendant l'�criture de la liste des utilisateurs. +0x40d,ERREUR pendant l'�criture de la liste des utilisateurs � transf�rer. +0x40e,Cr�ation de la liste des utilisateurs inutile -- ignor�e 0x40f,Relecture de la configuration... 0x410,Je ne connais personne de ce nom.\n 0x411,Aucun enregistrement pour cet utilisateur. -0x412,Sauvegarde de la liste utilisateurs... -0x413,Echec de la connexion; interruption du transfert de la liste utilisateurs. +0x412,Sauvegarde de la liste des utilisateurs... +0x413,�chec de la connexion ; interruption du transfert de la liste des utilisateurs. 0x414,Demande de partage (ancienne version) par -0x415,Demande de partage dsute -0x416,Liste utilisateurs rejete par +0x415,Demande de partage obsol�te +0x416,Liste des utilisateurs rejet�e par # MISC_ -0x500,a expir +0x500,a expir� 0x501,au total -0x502,Supprim +0x502,Supprim� 0x504,sur 0x505,Recherche 0x506,je laisse tomber d'abord -0x507,(plus de %d rsultats; liste tronque)\n -0x508,--- Trouv %d rsultat%s.\n -0x509,Commande ambigu.\n -0x50a,Quoi? Essayez '.help'\n -0x50b,Liaisons de commande:\n -0x50c,Redmarrage... +0x507,(plus de %d r�sultats ; liste tronqu�e)\n +0x508,--- Trouv� %d r�sultat%s.\n +0x509,Commande ambigu�.\n +0x50a,Quoi ? Essayez '.help'\n +0x50b,Liaisons de commande :\n +0x50c,Red�marrage... 0x50d,s 0x50e,Rotation des fichiers de log... 0x512,inactif 0x513,ABSENT -0x516,Dconnect +0x516,D�connect� 0x517,bot non valide -0x518,Boucle dtecte: dconnection +0x518,Boucle d�tect�e : d�connexion 0x51a,de -0x51b,prim -0x51c,rejet +0x51b,p�rim� +0x51c,rejet� 0x51d,imposteur 0x51e,j'essaie -0x51f,Fichier MOTD: +0x51f,Fichier MOTD : 0x520,Aucun fichier MOTD. -0x521,Utilisez: -0x522, [/] +0x521,Utilisez : +0x522, [/] 0x526,en suspens 0x527,je ne suis pas op -0x529,arrire plan +0x529,arri�re-plan 0x52a,mode terminal 0x52b,mode statut 0x52c,mode log 0x52d,En ligne depuis 0x52e,Cache hit -0x52f,librairie Tcl: +0x52f,librairie Tcl : 0x530,Les nouveaux utilisateurs obtiennent les drapeaux 0x531,annonce -0x532,Proprietaire(s) permanent(s) -0x534,FICHIER DE CONFIGURATION NON CHARGE (INTROUVABLE OU ERREUR) -0x535,LISTE UTILISATEURS NON TROUVEE! (essayez './eggdrop -m %s' pour en crer une)\n -0x536,DEMARRAGE DU BOT EN MODE CREATION DE LISTE UTILISATEURS.\n\ +0x532,Propri�taire(s) permanent(s) +0x534,FICHIER DE CONFIGURATION NON CHARG� (INTROUVABLE OU ERREUR) +0x535,LISTE DES UTILISATEURS NON TROUV�E ! (essayez './eggdrop -m %s' pour en cr�er une)\n +0x536,D�MARRAGE DU BOT EN MODE CR�ATION DE LISTE DES UTILISATEURS.\n\ Faites un Telnet sur le bot et entrez 'NEW' comme surnom. -0x537,OU allez sur IRC et: /msg %s hello\n -0x538,Le bot vous reconnaitra alors comme matre. -0x539,LA LISTE UTILISATEURS EXISTE DEJA (enlevez le '-m') -# 0x53a - unused / inutilis -0x53b,Ne peut pas recharger la liste utilisateurs! -0x53c,La liste utilisateurs est inexistante! +0x537,OU allez sur IRC et : /msg %s hello\n +0x538,Le bot vous reconna�tra alors comme ma�tre. +0x539,LA LISTE DES UTILISATEURS EXISTE D�J� (enlevez le '-m') +# 0x53a - unused / inutilis� +0x53b,Impossible de recharger la liste des utilisateurs ! +0x53c,La liste des utilisateurs est inexistante ! 0x53e,%B (%E)\n\nEntrez votre surnom.\n -0x53f,Rotation du fichier log %s, taille maximale depasse (%d) -# 0x540 - unused / inutilis -0x541,Dernier message rept %d fois.\n -0x542,bloqu +0x53f,Rotation du fichier log %s, taille maximale d�pass�e (%d) +# 0x540 - unused / inutilis� +0x541,Dernier message r�p�t� %d fois.\n +0x542,bloqu� 0x543,Pas de socket libre disponible. -0x544,Tcl version: -0x545,header version +0x544,Tcl version : +0x545,version de l'en-t�te # IRC_ 0x600,Banni -0x601,Vous tes banni -0x602,Tentative de Ban sur moi-mme--vite. -0x603,c'tait drle, refaites-le encore une fois! +0x601,Vous �tes banni +0x602,Tentative de Ban sur moi-m�me -- �vit�e. +0x603,c'�tait drôle, refaites-le encore une fois ! 0x604,Salut 0x605,Au revoir -0x606,Vous tes banni, goober. -0x607,NOTICE %s :Ton nick tait trop long, j'ai du le changer '%s'.\n -0x608,Prsent +0x606,Vous �tes banni, goober. +0x607,NOTICE %s :Votre pseudo �tait trop long, je l'ai chang� en '%s'.\n +0x608,Pr�sent� � 0x609,site public 0x60a,NOTICE %s :Salut %s! Je suis %s, un bot eggdrop.\n -0x60b,NOTICE %s :Je vais vous reconnatre par votre hostmask '%s' partir de maintenant.\n -0x60c,Etant donn que vous venez d'un site IRC public, vous devriez -0x60d,toujours utiliser ce surnom quand vous me parlez. -0x60e,VOUS ETES MAINTENANT LE PROPRIETAIRE DE CE BOT -0x60f,Installation du bot termine, le premier matre est %s +0x60b,NOTICE %s :Je vais vous reconna�tre par votre hostmask '%s' � partir de maintenant.\n +0x60c,�tant donn� que vous venez d'un site IRC public, vous devriez +0x60d,toujours utiliser ce pseudo quand vous me parlez. +0x60e,VOUS �TES MAINTENANT LE PROPRI�TAIRE DE CE BOT +0x60f,Installation du bot termin�e, le premier ma�tre est %s 0x610,Bienvenue sur Eggdrop! =] -0x611,prsent %s de %s -0x612,Vous avez un mot de passe de dfini. -0x613,Vous n'avez pas de mot de passe de dfini. -0x615,Vous avez dj un mot de passe de dfini. -0x616,Employez au moins 6 caractres. -0x617,Mot de passe dfini: +0x611,pr�sent� � %s de %s +0x612,Vous avez un mot de passe d�fini. +0x613,Vous n'avez pas de mot de passe d�fini. +0x615,Vous avez d�j� un mot de passe d�fini. +0x616,Employez au moins 6 caract�res. +0x617,Mot de passe d�fini : 0x618,Mot de passe incorrect. -0x619,Nouveau mot de passe: -0x61a,Vous tes sur un site public; vous n'avez pas accs IDENT. -0x61b,NOTICE %s :Vous n'tes pas %s, vous tes %s.\n -0x61c,Accs refus. -0x61d,Je vous reconnais l. -0x61e,Hostmask ajout -0x620,Actuellement: -0x621,Maintenant: -0x622,Pour l'enlever: -0x624,Votre ligne de renseignements est verrouille +0x619,Nouveau mot de passe : +0x61a,Vous �tes sur un site public ; vous n'avez pas acc�s � IDENT. +0x61b,NOTICE %s :Vous n'�tes pas %s, vous �tes %s.\n +0x61c,Acc�s refus�. +0x61d,Je vous reconnais l�. +0x61e,Hostmask ajout�. +0x620,Actuellement : +0x621,Maintenant : +0x622,Pour l'enlever : +0x624,Votre ligne de renseignements est verrouill�e 0x625,Retrait de votre ligne de renseignements sur 0x626,Retrait de votre ligne de renseignements. 0x627,Vous n'avez aucun renseignements sur 0x628,Vous n'avez aucun renseignements. -0x629,Je ne contrle pas ce canal. -0x62a,Rinitialisation des renseignements du canal. +0x629,Je ne contr�le pas ce canal. +0x62a,R�initialisation des renseignements du canal. 0x62b,Changement de serveur... -0x62c,Le canal est actuellement cach. +0x62c,Le canal est actuellement cach�. 0x62d,Maintenant sur le canal 0x62e,N'est jamais venu sur l'un de mes canaux. -0x62f,Vu la dernire fois -0x630,Vous n'tes pas enregistr ; prsentez vous d'abord. +0x62f,Vu la derni�re fois � +0x630,Vous n'�tes pas enregistr� ; pr�sentez-vous d'abord. 0x631,Aucune aide. -0x632,Aucune aide disponible l-dessus. +0x632,Aucune aide disponible l�-dessus. # 0x633 - unused 0x634,Pas sur ce canal en ce moment. -0x635,Je rcupre mon surnom (%s) +0x635,Je r�cup�re mon surnom (%s) 0x636,Le serveur me dit que mon surnom est invalide. -0x637,SURNOM EN UTILISATION: Essai de '%s' -0x638,Ne peut pas changer de surnom sur %s. Mon surnom est-il interdit? -0x639,Surnom bloqu -0x63a,Le canal %s est bloqu. :( -0x63b,%s dit que je ne suis pas enregistr, essai du suivant. +0x637,SURNOM EN UTILISATION : Essai de '%s' +0x638,Ne peut pas changer de surnom sur %s. Mon surnom est-il interdit ? +0x639,Surnom bloqu� +0x63a,Le canal %s est bloqu�. :( +0x63b,%s dit que je ne suis pas enregistr�, essai du suivant. 0x63c,Vous avez un serveur incorrect. -0x63d,Flood de @%s! Placement en ignorance! -0x63f,Flood de JOIN de @%s! Interdiction. -0x640,Flood de canal de %s -- je le kick +0x63d,Flood de @%s ! Placement en ignorance ! +0x63f,Flood de JOIN de @%s ! Interdiction. +0x640,Flood de canal de %s -- je le kick. 0x641,Essai du serveur -0x642,La requte DNS a chou -0x643,Echec de la connexion -0x644,Le serveur ne rpond plus; changement... -0x645,Dconnect de +0x642,La requ�te DNS a �chou�. +0x643,�chec de la connexion � +0x644,Le serveur ne r�pond plus ; changement... +0x645,D�connect� de 0x646,Aucun serveur actuellement. -0x647,La file d'attente des modes est -0x648,La file d'attente des serveurs est -0x649,La file d'attente d'aide est -0x64a,Le vhost qui est configur dans le fichier de configuration n'est pas capable de connecter l'addresse du serveur -0x64b,Le vhost qui est configur dans le fichier de configuration n'est pas disponsible sur cette machine -0x64c,Traitement du canal -0x64d,Canal -0x64e,Je dsire le canal -0x64f,Sujet du canal -0x650,+o en suspens -- Je lag -0x651,-o en suspens -- Je lag -0x652,kick en suspens -0x653,FAUX OPERATEUR DONNE PAR LE SERVEUR -0x654,Fin de renseigements du canal. -0x655,Kick massif, va t'asseoir dans un coin -0x656,Ban annul -0x657,Hmm, info sur les modes d'un canal sur lequel je ne suis pas -0x658,...et merci d'avoir jou. -0x659,Changement de serveur (j'ai besoin de %d serveurs, je n'en ai que %d) -0x65a,changement de serveur -0x65b,Je suis sur trop de canaux--ne peut rejoindre: %s -0x65c,Le canal est plein--ne peut rejoindre: %s -0x65d,Le canal est rserv aux invits--ne peut rejoindre: %s -0x65e,Banni sur le canal--ne peut rejoindre: %s -0x65f,Le serveur dit que je ne suis pas sur le canal: %s -0x660,Mauvaise cl--ne peut rejoindre: %s -0x661,NOTICE %s :Toutes les commandes sont accessibles par /MSG. Pour la liste complte, /MSG %s help Cya!\n -0x662,NOTICE %s :Je ne vous reconnais pas de cet hte.\n -0x663,NOTICE %s :Soit vous utilisez le nick de quelqu'un d'autre, soit vous devez taper: /MSG %s IDENT (mot de passe)\n -0x664,NOTICE %s :En tant que matre, vous devez vraiment dfinir un mot de passe: avec /MSG %s pass .\n -0x665,NOTICE %s :La majorit des commandes est accessible en DCC chat. Dornavant, vous n'avez plus besoin de l'option -m quand vous dmarrez le bot. Amusez-vous bien !!\n -0x666,Ceci est l'interface telnet de %s, un bot eggdrop.\nN'en abusez pas, et elle sera ouverte galement tous vos amis.\n -0x667,Maintenant vous devez trouver un nick utiliser sur le bot,\net un mot de passe, ainsi personne ne peut prtendre tre vous.\nRetenez les! -0x668,Dornavant, vous n'avez plus besoin d'utiliser l'option -m pour dmarrer le bot.\nAmusez-vous bien !! -0x669,Flood de connexions telnet de %s! On ignore! -0x66a,Banni: -0x66b,avalanche de surnom -0x66c,touches pas mon pote +0x647,La file d'attente des modes est � +0x648,La file d'attente des serveurs est � +0x649,La file d'attente d'aide est � +0x64a,Le vhost configur� dans le fichier de configuration n'est pas capable de se connecter � l'adresse du serveur. +0x64b,Le vhost configur� dans le fichier de configuration n'est pas disponible sur cette machine. +0x64c,Traitement du canal. +0x64d,Canal. +0x64e,Je d�sire le canal. +0x64f,Sujet du canal. +0x650,+o en suspens -- Je lag. +0x651,-o en suspens -- Je lag. +0x652,Kick en suspens. +0x653,FAUX OP�RATEUR DONN� PAR LE SERVEUR. +0x654,Fin des informations du canal. +0x655,Kick massif, va t'asseoir dans un coin. +0x656,Ban annul�. +0x657,Hmm, info sur les modes d'un canal sur lequel je ne suis pas. +0x658,...et merci d'avoir jou�. +0x659,Changement de serveur (j'ai besoin de %d serveurs, je n'en ai que %d). +0x65a,changement de serveur. +0x65b,Je suis sur trop de canaux--ne peut rejoindre : %s. +0x65c,Le canal est plein--ne peut rejoindre : %s. +0x65d,Le canal est r�serv� aux invit�s--ne peut rejoindre : %s. +0x65e,Banni sur le canal--ne peut rejoindre : %s. +0x65f,Le serveur dit que je ne suis pas sur le canal : %s. +0x660,Mauvaise cl�--ne peut rejoindre : %s. +0x661,NOTICE %s :Toutes les commandes sont accessibles par /MSG. Pour la liste compl�te, /MSG %s help. Cya!\n +0x662,NOTICE %s :Je ne vous reconnais pas de cet hôte.\n +0x663,NOTICE %s :Soit vous utilisez le surnom de quelqu'un d'autre, soit vous devez taper : /MSG %s IDENT (mot de passe).\n +0x664,NOTICE %s :En tant que ma�tre, vous devez vraiment d�finir un mot de passe : avec /MSG %s pass .\n +0x665,NOTICE %s :La majorit� des commandes est accessible en DCC chat. D�sormais, vous n'avez plus besoin de l'option -m quand vous d�marrez le bot. Amusez-vous bien !!\n +0x666,Ceci est l'interface telnet de %s, un bot eggdrop.\nN'en abusez pas, et elle sera ouverte �galement � tous vos amis.\n +0x667,Maintenant vous devez trouver un surnom � utiliser sur le bot, et un mot de passe, ainsi personne ne peut pr�tendre �tre vous. Retenez-les ! +0x668,D�sormais, vous n'avez plus besoin d'utiliser l'option -m pour d�marrer le bot. Amusez-vous bien ! +0x669,Flood de connexions telnet de %s ! On ignore ! +0x66a,Banni : +0x66b,Avalanche de surnoms. +0x66c,Ne touche pas � mon pote. 0x66d,...pas la peine de revenir. -0x66e,Retour au surnom alternatif %s -0x66f,ne deope pas mes amis ! -0x670,Exception enleve -0x671,Invitation enleve -0x672,Flood de SURNOM de @%s! Banni. -0x673,flood de surnoms +0x66e,Retour au surnom alternatif %s. +0x66f,Ne d�op pas mes amis ! +0x670,Exception enlev�e. +0x671,Invitation enlev�e. +0x672,Flood de SURNOM de @%s ! Banni. +0x673,Flood de surnoms. # EGG_ -#0x700 - unused / inutilis -0x701,Je dtecte que %s est s'excute dj depuis ce rpertoire.\n -0x702,Si ce n'est pas le cas, supprimez '%s'\n -0x703,* Attention! Impossible d'crire le fichier %s!\n +#0x700 - unused / inutilis� +0x701,Je d�tecte que %s s'ex�cute d�j� depuis ce r�pertoire.\n +0x702,Si ce n'est pas le cas, supprimez '%s'.\n +0x703,* Attention ! Impossible d'�crire le fichier %s !\n # USER_ -0x800, (est un op global) -0x801, (est un bot) -0x802, (est un matre) +0x800, (est un op�rateur global.) +0x801, (est un bot.) +0x802, (est un ma�tre.) # CHAN_ -0x900,Aucun canal de ce nom dfini -0x902,* Changement de mode sur %s pour le non-existant %s! -0x903,Deop en masse sur %s par %s -0x904,Deop en masse. Va t'asseoir dans un coin. +0x900,Aucun canal de ce nom d�fini. +0x902,* Changement de mode sur %s pour le non-existant %s ! +0x903,Deop en masse sur %s par %s. +0x904,Deop en masse. Va t'asseoir dans un coin. 0x907,Oops. Quelqu'un m'a fait rejoindre %s... j'en pars... -0x908,Changement de mode par un faux op sur %s! Annulation... -0x909,Abus d'un op mal gagn par serveur -0x90a,Changement de mode par un non-op sur %s! Annulation... -0x90b,Abus d'une dsynchronisation -0x90c,flood +0x908,Changement de mode par un faux op sur %s ! Annulation... +0x909,Abus d'un op mal gagn� par serveur. +0x90a,Changement de mode par un non-op sur %s ! Annulation... +0x90b,Abus d'une d�synchronisation. +0x90c,Flood. -0xa00,Aucun ignor -0xa01,Actuellement, j'ignore -0xa02,Je n'ignore plus +0xa00,Aucun ignor�. +0xa01,Actuellement, j'ignore. +0xa02,Je n'ignore plus. -0xb00,Ce bot n'est pas l.\n -0xb01,C'est un bot. Vous ne pouvez laisser de notes un bot.\n -0xb02,est absent -0xb07,Une note est arrive pour vous -0xb08,Message stock -0xb18,L'arrt du bot commence.... -0xb19,Aucun utilisateur de ce nom -0xb1a,Aucuns canaux -0xb1b,Membres de la party line: -0xb1c,Bots connects -0xb1d,Autres personnes sur le bot -0xb1f,Tentative de liaison -0xb20,Non en ligne; note enregistre. -0xb21,La boite messages est pleine, dsol. -0xb22,est absent; note stocke. -0xb23,Note envoye -0xb24,Dconnect de: -0xb25,Personnes sur le canal -0xb26,Ne peut me relier l -0xb27,Ne peux me dlier -0xb28,Boucle dtecte -0xb29,Annonce de lien incorrect de -0xb2b,Reste deconnect -0xb2c,Li -0xb2d,Lien illgal par un leaf -0xb2e,Vous tes supposs tre un leaf! -0xb2f,Bot rejet -0xb30,Vieux bot dtect (non-support) -0xb31,Rsultat de trace +0xb00,Ce bot n'est pas l�.\n +0xb01,C'est un bot. Vous ne pouvez laisser de notes � un bot.\n +0xb02,est absent. +0xb07,Une note est arriv�e pour vous. +0xb08,Message stock�. +0xb18,L'arr�t du bot commence.... +0xb19,Aucun utilisateur de ce nom. +0xb1a,Aucuns canaux. +0xb1b,Membres de la party line : +0xb1c,Bots connect�s. +0xb1d,Autres personnes sur le bot. +0xb1f,Tentative de liaison � +0xb20,Non en ligne ; note enregistr�e. +0xb21,La bo�te � messages est pleine, d�sol�. +0xb22,est absent ; note stock�e. +0xb23,Note envoy�e � +0xb24,D�connect� de : +0xb25,Personnes sur le canal. +0xb26,Ne peut me relier l�. +0xb27,Ne peux me d�lier. +0xb28,Boucle d�tect�e. +0xb29,Annonce de lien incorrect de. +0xb2b,Reste d�connect�. +0xb2c,Li� �. +0xb2d,Lien ill�gal par un leaf. +0xb2e,Vous �tes suppos�s �tre un leaf ! +0xb2f,Bot rejet�. +0xb30,Vieux bot d�tect� (non-support�). +0xb31,R�sultat de trace. 0xb32,n'existe pas -0xb33,Les boots distants ne sont pas autoriss. -0xb34,Je ne peux virer le propritaire du bot. -0xb35,TRANSFERT DE FICHIER REJETE -0xb37,Utilisateurs travers le botnet +0xb33,Les boots distants ne sont pas autoris�s. +0xb34,Je ne peux pas virer le propri�taire du bot. +0xb35,TRANSFERT DE FICHIER REJET� +0xb37,Utilisateurs � travers le botnet 0xb38,Party line 0xb39,Canal local 0xb3a,Utilisateurs du canal -0xb3b,Aucun bot reli. -0xb3c,Aucunes informations de trace: -0xb3d,L'arborescence est trop complexe! -0xb3e,Dconnexion de tous les bots... -0xb3f,Tentative de terminer le lien -0xb40,Plus aucun essai de lien avec: -0xb41,Dnouage du lien avec -0xb42,Dli de: -0xb43,Non connect ce bot. +0xb3b,Aucun bot reli�. +0xb3c,Aucune information de trace : +0xb3d,L'arborescence est trop complexe ! +0xb3e,D�connexion de tous les bots... +0xb3f,Tentative de terminer le lien � +0xb40,Plus aucun essai de lien avec : +0xb41,D�nouage du lien avec +0xb42,D�li� de : +0xb43,Non connect� � ce bot. 0xb44,Vidange de la table des bots et des assocs... 0xb45,n'est pas un bot connu. -0xb46,Me relier moi mme? Heh mon garcon, un grand jour pour Freud. -0xb47,Ce bot est dja connect. -0xb48,Adresse de port telnet invalide:port enregistr pour +0xb46,Me relier � moi m�me ? Eh bien, mon garçon, Freud aurait trouvé cela intéressant ! +0xb47,Ce bot est d�j� connect�. +0xb48,Adresse de port telnet invalide : port enregistr� pour 0xb49,Liaison avec -0xb4a,Ne peut trouver d'utilisateur relayer! +0xb4a,Ne peut trouver d'utilisateur � relayer ! 0xb4b,Liaison impossible avec -0xb4c,Faire un relais sur moi-mme? Quel est l'intrt?! -0xb4d,Connexion +0xb4c,Faire un relais sur moi-m�me ? Quel est l'int�r�t ?! +0xb4d,Connexion � 0xb4e,(Tapez *BYE* seul sur une ligne pour abandonner.) -0xb4f,Abandon de la tentative de relais -0xb50,Vous tes maintenant de retour sur -0xb51,Relais abandonn: +0xb4f,Abandon de la tentative de relais � +0xb50,Vous �tes maintenant de retour sur +0xb51,Relais abandonn� : 0xb53,Perte de la connexion DCC avec -0xb54,Abandon de la tentative de relais -0xb55,Succs!\n\nMAINTENANT CONNECTE AU BOT RELAIS -0xb56,(Vous pouvez taper *BYE* pour fermer la connexion prmaturment.) -0xb57,Liaison relais: -0xb58,a quitt la party line. -0xb59,Liaison relais termine -0xb5a,ABANDON DE LA CONNEXION RELAIS.\nVous tes de retour sur +0xb54,Abandon de la tentative de relais � +0xb55,Succ�s !\n\nMAINTENANT CONNECT� AU BOT RELAIS +0xb56,(Vous pouvez taper *BYE* pour fermer la connexion pr�matur�ment.) +0xb57,Liaison relais : +0xb58,a quitt� la party line. +0xb59,Liaison relais termin�e +0xb5a,ABANDON DE LA CONNEXION RELAIS.\nVous �tes de retour sur 0xb5b,a rejoint la party line. -0xb5c,Abandon de la liaison de relais -0xb5d,Arrt de la connexion -0xb5e,Relais cass +0xb5c,Abandon de la liaison de relais � +0xb5d,Arr�t de la connexion � +0xb5e,Relais cass� 0xb5f,Ping timeout -0xb60,cel ne ressemble pas un comportement de leaf +0xb60,cela ne ressemble pas � un comportement de leaf 0xb61,Abandon du bot -0xb62,Connection en cours ce bot. +0xb62,Connexion en cours � ce bot. -0xc00,Je n'accepte pas les DCC chats des trangers. -0xc01,DCC chat refus (aucun accs) -0xc02,Aucun accs -0xc03,Vous devez avoir dfini un mot de passe. -0xc04,DCC chat refus (pas de mot de passe) -0xc05,DCC chat refus (+x mais pas de systme de fichiers) -0xc07,Trop de personnes sont dans le systme de fichier pour l'instant. -0xc0c,Dsol, trop de connexions DCC. -0xc0d,Connexions DCC pleines: %s %s (%s!%s) -0xc19,Echec de la connexion -0xc1a,Echec de la connexion DCC +0xc00,Je n'accepte pas les DCC chats des �trangers. +0xc01,DCC chat refus� (aucun acc�s) +0xc02,Aucun acc�s +0xc03,Vous devez avoir d�fini un mot de passe. +0xc04,DCC chat refus� (pas de mot de passe) +0xc05,DCC chat refus� (+x mais pas de syst�me de fichiers) +0xc07,Trop de personnes sont dans le syst�me de fichier pour l'instant. +0xc0c,D�sol�, trop de connexions DCC. +0xc0d,Connexions DCC pleines : %s %s (%s!%s) +0xc19,�chec de la connexion +0xc1a,�chec de la connexion DCC 0xc1c,Entrez votre mot de passe. -0xc1d,%s a t enlev de force pour flood.\n +0xc1d,%s a �t� enlev� de force pour flood.\n 0xc1e,-=- poof -=-\n -0xc1f,Vous avez t vir de %s par %s%s%s\n -0xc20,%s vir %s de la party line%s%s -0xc21,DCC chat refus (port invalide) -0xc22,DCC port invalide +0xc1f,Vous avez �t� vir� de %s par %s%s%s\n +0xc20,%s a vir� %s de la party line%s%s +0xc21,DCC chat refus� (port invalide) +0xc22,Port DCC invalide 0xd00,Pas d'interaction avec IRC. # BOTNET -0xe00,Faux message rejet -0xe01,Li -0xe02,Mauvais bot--je voulais %s, et j'ai eu %s -0xe03,a quitt la +0xe00,Faux message rejet� +0xe01,Li� � +0xe02,Mauvais bot - je voulais %s, et j'ai eu %s +0xe03,a quitt� la 0xe04,a rejoint la 0xe05,est maintenant absent 0xe06,n'est plus absent -0xe07,Changement de surnom: +0xe07,Changement de surnom : # dcc.c Messages 0xe08,Rejet de la liaison de %s -0xe09,Reli %s. -0xe0a,Echec lors de la liaison avec %s. -0xe0b,Mauvais mot de passe lors de la tentative de connexion %s. -0xe0c,Mot de passe requis pour se connecter %s. -0xe0d,ERREUR lors de la liaison avec %s: %s -0xe0e,Bot perdu: %s -0xe0f,Timeout: liaison au bot %s %s:%d -0xe10,connect: %s (%s/%d) -0xe11,Mot de passe incorrect: [%s]%s/%d -0xe12,Ngatif, Houston.\n +0xe09,Reli� � %s. +0xe0a,�chec lors de la liaison avec %s. +0xe0b,Mauvais mot de passe lors de la tentative de connexion � %s. +0xe0c,Mot de passe requis pour se connecter � %s. +0xe0d,ERREUR lors de la liaison avec %s : %s +0xe0e,Bot perdu : %s +0xe0f,Timeout : liaison au bot %s � %s:%d +0xe10,Connect� : %s (%s/%d) +0xe11,Mot de passe incorrect : [%s]%s/%d +0xe12,N�gatif, Houston.\n 0xe13,*** %s a rejoint la party line.\n 0xe14,Connexion DCC perdue avec %s (%s/%d) -0xe15,Mot de passe timeout lors du dcc chat: [%s]%s -0xe16,Connexion DCC ferme (%s!%s) -0xe17,Echec de la tentative de TELNET en cours (%s) +0xe15,Mot de passe timeout lors du dcc chat : [%s]%s +0xe16,Connexion DCC ferm�e (%s!%s) +0xe17,�chec de la tentative de TELNET en cours (%s) 0xe18,Refus %s/%d (mauvais port source) 0xe19,*** %s est de retour.\n 0xe1a,Refus %s (mauvais hostname) -0xe1b,Connexion telnet: %s/%d -0xe1c,Echec de l'ident pour %s: %s -0xe1d,(!) Port d'coute %d est brusquement mort. +0xe1b,Connexion telnet : %s/%d +0xe1c,�chec de l'ident pour %s : %s +0xe1d,(!) Port d'�coute %d est brusquement mort. 0xe1e,Refus %s (mauvais surnom) 0xe1f,Refus %s (ce n'est pas un bot) 0xe20,Refus %s (ce n'est pas un utilisateur) -0xe21,Refus %s (invalide handle: %s) -0xe22,Connexion telnet refuse depuis %s (doublon) +0xe21,Refus %s (handle invalide : %s) +0xe22,Connexion telnet refus�e depuis %s (doublon) 0xe23,Refus [%s]%s (aucun mot de passe) 0xe24,Connexion telnet perdue vers %s/%d -0xe25,Ident timeout lors du telnet: %s -0xe26,Installation du bot complte, le premier matre est %s -0xe27,Nouvel utilisateur via telnet: [%s]%s/%d +0xe25,Ident timeout lors du telnet : %s +0xe26,Installation du bot compl�te, le premier ma�tre est %s +0xe27,Nouvel utilisateur via telnet : [%s]%s/%d 0xe28,Perte du nouvel utilisateur telnet (%s/%d) 0xe29,Perte du nouvel utilisateur telnet %s (%s/%d) -0xe2a,Timeout sur le nouvel utilisateur telnet: %s/%d -0xe2b,Timeout sur le nouvel utilisateur telnet: [%s]%s/%d -0xe2c,Erreur tcl [%s]: %s -0xe2d,*** ATTENTION: DEAD SOCKET (%d) OF TYPE %s UNTRAPPED +0xe2a,Timeout sur le nouvel utilisateur telnet : %s/%d +0xe2b,Timeout sur le nouvel utilisateur telnet : [%s]%s/%d +0xe2c,Erreur tcl [%s] : %s +0xe2d,*** ATTENTION : DEAD SOCKET (%d) DE TYPE %s NON TRAP�E 0xe2e,Connexion perdue pendant l'ident [%s/%d] 0xe2f,EOF ident connection -0xe30,Lost ident wait telnet socket!! -0xe31,Telnet refus: %s, aucun accs +0xe30,Lost ident wait telnet socket !! +0xe31,Telnet refus� : %s, aucun acc�s 0xe32,Refus de la connexion telnet de %s (essai avec mon surnom botnet) -0xe33,Connexion telnet de %s perdue pendant la vrification des doublons +0xe33,Connexion telnet de %s perdue pendant la v�rification des doublons 0xe34,Timeout ident connection -0xe35,Please remove the #comment from your listen setting and try again -0xe36,Ce port est rserv aux bots -0xe37,Ce port est rserv aux utilisateurs (pas de bots) +0xe35,Veuillez retirer le #comment de votre param�tre d'�coute et r�essayer +0xe36,Ce port est r�serv� aux bots +0xe37,Ce port est r�serv� aux utilisateurs (pas de bots) From e09ed19654b22bb1ed0292ae40d820679efea501 Mon Sep 17 00:00:00 2001 From: Thomas Sader Date: Tue, 30 Jul 2024 18:22:58 +0200 Subject: [PATCH 33/47] Convert language file encoding to UTF-8 --- language/core.danish.lang | 238 +++++----- language/core.finnish.lang | 422 ++++++++--------- language/core.french.lang | 424 +++++++++--------- src/mod/assoc.mod/language/assoc.danish.lang | 8 +- src/mod/assoc.mod/language/assoc.finnish.lang | 24 +- src/mod/assoc.mod/language/assoc.french.lang | 20 +- .../console.mod/language/console.finnish.lang | 2 +- .../console.mod/language/console.french.lang | 4 +- .../filesys.mod/language/filesys.danish.lang | 34 +- .../filesys.mod/language/filesys.finnish.lang | 38 +- .../filesys.mod/language/filesys.french.lang | 74 +-- src/mod/notes.mod/language/notes.danish.lang | 34 +- src/mod/notes.mod/language/notes.finnish.lang | 46 +- src/mod/notes.mod/language/notes.french.lang | 44 +- .../language/transfer.danish.lang | 54 +-- .../language/transfer.finnish.lang | 64 +-- .../language/transfer.french.lang | 50 +-- 17 files changed, 790 insertions(+), 790 deletions(-) diff --git a/language/core.danish.lang b/language/core.danish.lang index 56333b8aa..34c6fd945 100644 --- a/language/core.danish.lang +++ b/language/core.danish.lang @@ -10,77 +10,77 @@ 0x131,sidst brugt 0x132,inaktiv 0x133,placeret af -0x135,ikke aktiv p +0x135,ikke aktiv på 0x137,ikke aktiv 0x138,ikke placeret af bot # BANS_ 0x104,Globale bans -0x106,Kanal bans p +0x106,Kanal bans på 0x109,Brug '.bans all' for at se den totale liste -0x10a,Banner ikke lngere +0x10a,Banner ikke længere # EXEMPTS_ 0x114,Globale exempts -0x116,Kanal exempts p +0x116,Kanal exempts på 0x119,Brug '.exempts all' for at se den totale liste -0x11a,Banundtager ikke lngere +0x11a,Banundtager ikke længere # INVITES_ 0x124,Globale invites -0x126,Kanal invites p +0x126,Kanal invites på 0x129,Brug '.invites all' for at se den totale liste -0x12a,Inviter ikke lngere +0x12a,Inviter ikke længere # MOD_ -0x200,Allerede indlst. -0x201,Kan ikke bestemme nuvrrende bibliotek. +0x200,Allerede indlæst. +0x201,Kan ikke bestemme nuværrende bibliotek. 0x202,Ingen startfunktion angivet. -0x204,Krvet af et andet modul +0x204,Krævet af et andet modul 0x205,Ingen lukkefunktion 0x206,Modul fjernet: 0x207,Modul findes ikke -0x209,Fejl under indlsning af modul: +0x209,Fejl under indlæsning af modul: 0x20a,Fejl under fjernelse af module: -0x20b,Kan ikke indlse modulet -0x20c,Stillestende modules; der VIL opst hukommelseslkager! +0x20b,Kan ikke indlæse modulet +0x20c,Stillestående modules; der VIL opstå hukommelseslækager! 0x20d,Du har installeret moduler, men ikke valgt noget krypterings\n\ -modul, venligst rdfr dig med standard config filen for info.\n -0x20e,Filesys modul ikke indlst. +modul, venligst rådfør dig med standard config filen for info.\n +0x20e,Filesys modul ikke indlæst. 0x20f,Modul loadet: %-16s (med sprog support) 0x210,Modul loadet: %-16s # USERF_ -0x400,Brugerliste overfrsel fuldfrt; skiftet -0x402,KAN IKKE LSE NY BRUGERFIL +0x400,Brugerliste overførsel fuldført; skiftet +0x402,KAN IKKE LÆSE NY BRUGERFIL 0x403,Kan ikke sende brugerfil til dig (intern fejl) 0x404,Kan ikke finde nogen, som matcher det 0x405,Gammel brugerfil, brug 'tclsh scripts/weed c' for at konvertere 0x406,Ugyldigt brugerfilsformat. 0x407,Korrupt bruger optegnelse 0x408,Dublet bruger optegnelse -0x409,Korrupt password reset p +0x409,Korrupt password reset på 0x40a,Ignorede masker for kanal(erne): 0x40b,Skriver brugerfil... 0x40c,FEJL under skrivning af brugerfil. -0x40d,FEJL under skrivning af brugertil til overfrsel. -0x40e,Brugerfiloprettelse ikke ndvendig--springer over +0x40d,FEJL under skrivning af brugertil til overførsel. +0x40e,Brugerfiloprettelse ikke nødvendig--springer over 0x40f,Rehasher... 0x410,Jeg kender ingen ved det navn.\n 0x411,Ingen bruger optegnelse. 0x412,Laver backup af brugerfil... -0x413,Forbindelsen fejlede; afbryder brugerfilsoverfrsel. -0x414,Gammel type delingsforesprgsel af -0x415,Forldet delingsforesprgsel +0x413,Forbindelsen fejlede; afbryder brugerfilsoverførsel. +0x414,Gammel type delingsforespørgsel af +0x415,Forældet delingsforespørgsel 0x416,Brugerfil afvist af # MISC_ -0x500,udlbet +0x500,udløbet 0x501,Total 0x502,Slettet -0x504,p +0x504,på 0x505,Matcher -0x506,skipper frste +0x506,skipper første 0x507,(mere end %d som matcher; listen er afkortet)\n 0x508,--- Fandt %d som matcher%s.\n 0x509,Flertydig kommando.\n @@ -90,21 +90,21 @@ modul, venligst r 0x50d,es 0x50e,Skifter logfiler... 0x512,idle -0x513,VK +0x513,VÆK 0x516,Afbrudt 0x517,ugyldig bot 0x518,Lykke opdaget: to bots eksisterer navngivet 0x51a,fra -0x51b,forldet +0x51b,forældet 0x51c,afvist 0x51d,falsk/bedrager -0x51e,prver +0x51e,prøver 0x51f,MOTD fil: 0x520,Ingen MOTD fil. 0x521,Brug: 0x522, [/] 0x526,afventende -0x527,nsker ops +0x527,ønsker ops 0x529,baggrund 0x52a,terminal mode 0x52b,status mode @@ -116,21 +116,21 @@ modul, venligst r 0x531,underrette 0x532,Permanente ejer(e) 0x534,CONFIG FIL IKKE LOADET (IKKE FUNDET ELLER FEJL) -0x535,BRUGERFIL IKKE FUNDET! (prv './eggdrop -m %s' for at lave en)\n +0x535,BRUGERFIL IKKE FUNDET! (prøv './eggdrop -m %s' for at lave en)\n 0x536,STARTER BOTTEN I BRUGERFILOPRETTELSES MODE.\n\ Telnet botten og skriv 'NEW' som dit nick.\n -0x537,ELLER g p IRC og skriv: /msg %s hello\n -0x538,Dette vil f botten til at genkende dig som master. +0x537,ELLER gå på IRC og skriv: /msg %s hello\n +0x538,Dette vil få botten til at genkende dig som master. 0x539,BRUGERFIL FINDES ALLEREDE (brug ikke '-m') # 0x53a unused / ubrugt -0x53b,Kan ikke genindlse brugerfil! +0x53b,Kan ikke genindlæse brugerfil! 0x53c,Brugerfil mangler! 0x53e,%B (%E)\n\nSkriv venligst dit nick.\n 0x53f,Skifter logfil %s, over max-logsize (%d) # 0x540 unused / ubrugt 0x541,Sidste besked gentaget %d gange\n 0x542,juped -0x543,Ingen ledige sockets tilgngelig. +0x543,Ingen ledige sockets tilgængelig. 0x544,Tcl version: 0x545,header version @@ -138,19 +138,19 @@ Telnet botten og skriv 'NEW' som dit nick.\n 0x600,Banned 0x601,Du er banned 0x602,Ville banne mig selv--afviger. -0x603,det var sjovt, lad os gre det igen! +0x603,det var sjovt, lad os gøre det igen! 0x604,Hej 0x605,Farveller 0x606,Du er banned. 0x607,NOTICE %s :Dit nick var for langt og derfor blev det afkortet til '%s'.\n 0x608,Introduceret til -0x609,almindeligt/flles site +0x609,almindeligt/fælles site 0x60a,NOTICE %s :Hej %s! Jeg er %s, en Eggdrop bot.\n -0x60b,NOTICE %s :Jeg genkender dig p hostmasken '%s' fra nu af.\n -0x60c,Da du kommer fra et almindeligt/flles irc site, betyder dette at du br -0x60d,brug altid dette nick nr du snakker til mig. +0x60b,NOTICE %s :Jeg genkender dig på hostmasken '%s' fra nu af.\n +0x60c,Da du kommer fra et almindeligt/fælles irc site, betyder dette at du bør +0x60d,brug altid dette nick når du snakker til mig. 0x60e,DU ER NU EJER AF DENNE BOT -0x60f,Bot installation fuldfrt, frste master er%s +0x60f,Bot installation fuldført, første master er%s 0x610,Velkommen til Eggdrop! =] 0x611,introduceret til %s fra %s 0x612,Du har sat et password. @@ -160,83 +160,83 @@ Telnet botten og skriv 'NEW' som dit nick.\n 0x617,Password sat til: 0x618,Forkert password. 0x619,Password skiftet til: -0x61a,Du er p et almindeligt/flles site; Du kan ikke IDENT. +0x61a,Du er på et almindeligt/fælles site; Du kan ikke IDENT. 0x61b,NOTICE %s :Du er ikke %s, du er %s.\n -0x61c,Adgang ngtet. +0x61c,Adgang nægtet. 0x61d,Jeg genkender dig her. -0x61e,Hostmask tilfjet -0x620,For jeblikket: +0x61e,Hostmask tilføjet +0x620,For øjeblikket: 0x621,Nu: 0x622,For at fjerne den: -0x624,Din info linie er lst -0x625,Fjernede din info linie p +0x624,Din info linie er låst +0x625,Fjernede din info linie på 0x626,Fjernede din info linie. -0x627,Du har ingen info sat p +0x627,Du har ingen info sat på 0x628,Du har ingen info sat. -0x629,Jeg overvger ikke den kanal. +0x629,Jeg overvåger ikke den kanal. 0x62a,Resetter kanal info. 0x62b,Skifter servere... -0x62c,Kanalen er for jeblikket skjult. -0x62d,Nu p kanalen +0x62c,Kanalen er for øjeblikket skjult. +0x62d,Nu på kanalen 0x62e,Har aldrig joinet en af mine kanaler. 0x62f,Sidst set (at) -0x630,Jeg kender dig ikke; Venligst introducer dig selv frst. -0x631,Ingen hjlp. -0x632,Ingen hjlp tilgngelig til det. +0x630,Jeg kender dig ikke; Venligst introducer dig selv først. +0x631,Ingen hjælp. +0x632,Ingen hjælp tilgængelig til det. # 0x633 - unused -0x634,Er ikke p den kanal lige nu. +0x634,Er ikke på den kanal lige nu. 0x635,Skifter tilbage til nicket %s 0x636,Serveren siger, at mit nick er ugyldigt. -0x637,NICK OPTAGET: Prver '%s' -0x638,Kan ikke skifte nick p %s. Er mit nick banned? +0x637,NICK OPTAGET: Prøver '%s' +0x638,Kan ikke skifte nick på %s. Er mit nick banned? 0x639,Nick er blevet juped 0x63a,Kanal %s er juped. :( -0x63b,%s siger, at jeg ikke er registreret, prver den nste. +0x63b,%s siger, at jeg ikke er registreret, prøver den næste. 0x63c,Serveren siger, at vi ikke er registreret endnu.. -0x63d,Flood fra @%s! Smider p ignore! +0x63d,Flood fra @%s! Smider på ignore! 0x63f,JOIN flood fra @%s! Banner. 0x640,Kanal flood fra %s -- kicker -0x641,Prver server +0x641,Prøver server 0x642,DNS lookup fejlede 0x643,Kunne ikke forbindes til -0x644,Server frs; skifter... +0x644,Server frøs; skifter... 0x645,Afbrudt fra -0x646,For jeblikket ingen server. -0x647,Modek er p -0x648,Serverk er p -0x649,Hjlpek er p +0x646,For øjeblikket ingen server. +0x647,Modekø er på +0x648,Serverkø er på +0x649,Hjælpekø er på 0x64a,Vhost set in config can not be used to connect to this address 0x64b,Vhost set in config is not available on this machine 0x64c,Behandler kanal 0x64d,Kanal -0x64e,nsker kanal +0x64e,Ønsker kanal 0x64f,Kanal Topic 0x650,afventende +o -- Jeg lagger 0x651,afventende -o -- Jeg lagger 0x652,afventende kick 0x653,FALSK CHANOP GIVET AF SERVER -0x654,Slut p kanal info. +0x654,Slut på kanal info. 0x655,mass kick, go sit in a corner 0x656,Fjernede ban -0x657,Hmm, mode info fra en kanal jeg ikke er p +0x657,Hmm, mode info fra en kanal jeg ikke er på 0x658,...and thank you for playing. -0x659,Skifter servere (krver %d servere, har kun %d) +0x659,Skifter servere (kræver %d servere, har kun %d) 0x65a,skifter server -0x65b,Jeg er p for mange kanaler--kan ikke joine: %s +0x65b,Jeg er på for mange kanaler--kan ikke joine: %s 0x65c,Kanalen er fuld--kan ikke joine: %s 0x65d,Kanalen er invite only--kan ikke joine: %s 0x65e,Banned fra kanalen--kan ikke joine: %s -0x65f,Serveren siger jeg ikke er p kanalen: %s +0x65f,Serveren siger jeg ikke er på kanalen: %s 0x660,Forkert key--Kan ikke joine: %s 0x661,NOTICE %s :Alle kommandoer bruges via /MSG. For en komplet liste, /MSG %s help Ses!\n 0x662,NOTICE %s :Jeg genkender dig ikke fra den host.\n 0x663,NOTICE %s :Enten bruger du en andens nick, ellers skal du skrive: /MSG %s IDENT (password)\n -0x664,NOTICE %s :Som en master br du virkelig have sat et password med: /MSG %s pass .\n -0x665,NOTICE %s :Alle vigtigere kommandoer bruges fra DCC chat. Fra nu af, behver du ikke lngere at starte botten med -m. Enjoy !!!\n -0x666,Dette er telnet brugerfladen p %s, en eggdrop bot.\nMisbrug det ikke, og det vil ogs vre bent for alle dine venner.\n -0x667,Du skal nu vlge et nick at bruge p botten,\nog et password, s ingen andre kan give sig ud for at vre dig.\nVenligst husk begge dele! -0x668,Fra nu af, behver du ikke at starte botten med -m.\nEnjoy !! -0x669,Telnet forbindelses flood fra %s! Smider p ignore! +0x664,NOTICE %s :Som en master bør du virkelig have sat et password med: /MSG %s pass .\n +0x665,NOTICE %s :Alle vigtigere kommandoer bruges fra DCC chat. Fra nu af, behøver du ikke længere at starte botten med -m. Enjoy !!!\n +0x666,Dette er telnet brugerfladen på %s, en eggdrop bot.\nMisbrug det ikke, og det vil også være åbent for alle dine venner.\n +0x667,Du skal nu vælge et nick at bruge på botten,\nog et password, så ingen andre kan give sig ud for at være dig.\nVenligst husk begge dele! +0x668,Fra nu af, behøver du ikke at starte botten med -m.\nEnjoy !! +0x669,Telnet forbindelses flood fra %s! Smider på ignore! 0x66a,Bannet: 0x66b,join flood 0x66c,kick ikke mine venner @@ -250,7 +250,7 @@ Telnet botten og skriv 'NEW' som dit nick.\n # EGG_ #0x700 - unused / ubrugt -0x701,Jeg observerer, at %s allerede krer fra dette bibliotek.\n +0x701,Jeg observerer, at %s allerede kører fra dette bibliotek.\n 0x702,Hvis dette er forkert, slet %s\n 0x703,* Advarsel! Kunne ikke skrive filen %s!\n @@ -260,24 +260,24 @@ Telnet botten og skriv 'NEW' som dit nick.\n 0x802, (er en master) # CHAN_ -0x900,Ingen sdan kanal defineret -0x902,* Mode skifte p %s for ikke-eksisterende %s! -0x903,Masse deop p %s af %s +0x900,Ingen sådan kanal defineret +0x902,* Mode skifte på %s for ikke-eksisterende %s! +0x903,Masse deop på %s af %s 0x904,Mass deop. Go sit in a corner. 0x907,Oops. Nogen fik mig til at joine %s... smutter... -0x908,Mode skifte af falsk op p %s! Modstter... +0x908,Mode skifte af falsk op på %s! Modsætter... 0x909,Misbruger ulovligt server ops -0x90a,Mode skifte af ikke-chanop p %s! Modstter... +0x90a,Mode skifte af ikke-chanop på %s! Modsætter... 0x90b,Misbruger desync 0x90c,flood 0xa00,Ingen ignoreringer 0xa01,Ignorerer lige nu -0xa02,Ignorerer ikke lngere +0xa02,Ignorerer ikke længere 0xb00,Den bot er her ikke.\n 0xb01,Det er en bot. Du kan ikke sende notitser til en bot.\n -0xb02,er vk +0xb02,er væk 0xb07,Notits til dig er ankommet 0xb08,Besked gemt 0xb18,Bot nedlukning begyndt.... @@ -285,14 +285,14 @@ Telnet botten og skriv 'NEW' som dit nick.\n 0xb1a,Ingen kanaler 0xb1b,Party line medlemmer: 0xb1c,Bots forbundet -0xb1d,Andre mennesker p botten -0xb1f,Forsger at linke +0xb1d,Andre mennesker på botten +0xb1f,Forsøger at linke 0xb20,Ikke online; notits gemt. -0xb21,Notitsboks er fyldt, desvrre. -0xb22,er vk, notits gemt. +0xb21,Notitsboks er fyldt, desværre. +0xb22,er væk, notits gemt. 0xb23,Notits sendt til 0xb24,Afbrudt fra: -0xb25,Mennesker p kanalen +0xb25,Mennesker på kanalen 0xb26,Kan ikke linke dertil 0xb27,Kan ikke afbryde link 0xb28,Lykke fundet @@ -300,24 +300,24 @@ Telnet botten og skriv 'NEW' som dit nick.\n 0xb2b,Disconnected left 0xb2c,Linket til 0xb2d,Ugyldigt link a af leaf bot -0xb2e,Du skal vre en leaf bot! +0xb2e,Du skal være en leaf bot! 0xb2f,Afviser bot -0xb30,ldre bot fundet (usupporteret) +0xb30,Ældre bot fundet (usupporteret) 0xb31,Sporingsresultat 0xb32,eksisterer ikke 0xb33,Fjerne spark er ikke tilladt. 0xb34,Kan ikke sparke bot ejeren af. -0xb35,FILOVERFRSEL AFVIST -0xb37,Brugere p tvrs af botnettet +0xb35,FILOVERFØRSEL AFVIST +0xb37,Brugere på tværs af botnettet 0xb38,Party line 0xb39,Lokal kanal -0xb3a,Bruger p kanalen +0xb3a,Bruger på kanalen 0xb3b,Ingen bots linket. -0xb3c,Ingen sporingsinfo p: -0xb3d,Tr for komplekst! +0xb3c,Ingen sporingsinfo på: +0xb3d,Træ for komplekst! 0xb3e,Afbryder links til alle bots... -0xb3f,Drbte link forsg til -0xb40,Forsger ikke lngere at linke: +0xb3f,Dræbte link forsøg til +0xb40,Forsøger ikke længere at linke: 0xb41,Afbryder link med 0xb42,Afbrudt link fra: 0xb43,Ikke forbundet til den bot. @@ -329,26 +329,26 @@ Telnet botten og skriv 'NEW' som dit nick.\n 0xb49,Linker til 0xb4a,Kan ikke finde bruger til relay! 0xb4b,Kunne ikke linke til -0xb4c,Relay til mig selv? Hvad skal det gre godt for?! +0xb4c,Relay til mig selv? Hvad skal det gøre godt for?! 0xb4d,Forbinder til -0xb4e,(Skriv *BYE* p en linie for sig selv for at afbryde.) -0xb4f,Afbryder relay forsg til -0xb50,Du er nu tilbage p +0xb4e,(Skriv *BYE* på en linie for sig selv for at afbryde.) +0xb4f,Afbryder relay forsøg til +0xb50,Du er nu tilbage på 0xb51,Relay afbrudt: 0xb53,Mistede dcc forbindelse til -0xb54,Dropper relay forsg til +0xb54,Dropper relay forsøg til 0xb55,Succes!\n\nNU FORBUNDET TIL RELAY BOT 0xb56,(Du kan skrive *BYE* for at forhaste lukningen af forbindelsen.) 0xb57,Relay link: 0xb58,har forladt party line. 0xb59,Stoppede relay link -0xb5a,RELAY FORBINDELSE DROPPET.\nDu er nu tilbage p +0xb5a,RELAY FORBINDELSE DROPPET.\nDu er nu tilbage på 0xb5b,genjoinede party line. 0xb5c,Lukker relay link til 0xb5d,Afbryder forbindelsen til 0xb5e,Relay brudt 0xb5f,Ping timeout -0xb60,ikke-leaf-lignende opfrsel +0xb60,ikke-leaf-lignende opførsel 0xb61,Mistede bot 0xb62,Linker allerede til den bot. @@ -357,14 +357,14 @@ Telnet botten og skriv 'NEW' som dit nick.\n 0xc02,Ingen adgang 0xc03,Du skal have sat et password. 0xc04,Afviste DCC chat (intet password) -0xc05,Afviste DCC chat (+x men intet filomrde) -0xc07,For mange mennesker er i filomrdet lige nu. -0xc0c,Desvrre, for mange DCC forbindelser +0xc05,Afviste DCC chat (+x men intet filområde) +0xc07,For mange mennesker er i filområdet lige nu. +0xc0c,Desværre, for mange DCC forbindelser 0xc0d,DCC forbindelser fyldte: %s %s (%s!%s) 0xc19,Kunne ikke forbinde 0xc1a,DCC forbindelse fejlede 0xc1c,Skriv dit password. -0xc1d,%s er blevet tvunget vk for at floode.\n +0xc1d,%s er blevet tvunget væk for at floode.\n 0xc1e,-=- poof -=-\n 0xc1f,Du er blevet sparket af %s af %s%s%s\n 0xc20,%s sparkede %s af party line%s%s @@ -376,19 +376,19 @@ Telnet botten og skriv 'NEW' som dit nick.\n # BOTNET 0xe00,Falsk besked afvist 0xe01,Linket til -0xe02,Forkert bot--nskede %s, fik %s +0xe02,Forkert bot--ønskede %s, fik %s 0xe03,har forladt 0xe04,har forladt -0xe05,er nu vk -0xe06,er ikke lngere vk +0xe05,er nu væk +0xe06,er ikke længere væk 0xe07,Nick Skifte: # dcc.c Messages 0xe08,Afviste link fra %s 0xe09,Linket til %s. 0xe0a,Fejlede link til %s. -0xe0b,Ugyldigt password ved forbindelsesforsg til %s. -0xe0c,Password krver for forbindelse til %s. +0xe0b,Ugyldigt password ved forbindelsesforsøg til %s. +0xe0c,Password kræver for forbindelse til %s. 0xe0d,FEJL ved linkning %s: %s 0xe0e,Mistede Bot: %s 0xe0f,Timeout: bot link til %s ved %s:%d @@ -399,13 +399,13 @@ Telnet botten og skriv 'NEW' som dit nick.\n 0xe14,Mistede dcc forbindelsen to %s (%s/%d) 0xe15,Password timeout ved dcc chat: [%s]%s 0xe16,DCC forbindelse lukket (%s!%s) -0xe17,Fejlede indgende TELNET (%s) +0xe17,Fejlede indgående TELNET (%s) 0xe18,Afviste %s/%d (ugyldig kilde port) 0xe19,*** %s er vendt tilbage.\n 0xe1a,Afviste %s (ugyldigt hostname) 0xe1b,Telnet forbindelse: %s/%d 0xe1c,Ident fejlede for %s: %s -0xe1d,(!) Listening port %d pludselig dd. +0xe1d,(!) Listening port %d pludselig død. 0xe1e,Afviste %s (ugyldigt nick) 0xe1f,Afviste %s (non-bot) 0xe20,Afviste %s (non-bruger) @@ -414,7 +414,7 @@ Telnet botten og skriv 'NEW' som dit nick.\n 0xe23,Afviste [%s]%s (intet password) 0xe24,Mistede telnet forbindelsen til %s/%d 0xe25,Ident timeout ved telnet: %s -0xe26,Bot installation fuldfrt, Frste mater er %s +0xe26,Bot installation fuldført, Første mater er %s 0xe27,Ny bruger via telnet: [%s]%s/%d 0xe28,Mistede ny telnet bruger (%s/%d) 0xe29,Mistede ny telnet bruger %s (%s/%d) @@ -426,7 +426,7 @@ Telnet botten og skriv 'NEW' som dit nick.\n 0xe2f,EOF ident forbindelse 0xe30,Mistede ident wait telnet socket!! 0xe31,Afviste telnet: %s, Ingen Adgang -0xe32,Afviste telnet forbindelse fra %s (forsg p at bruge mit botnetnick) +0xe32,Afviste telnet forbindelse fra %s (forsøg på at bruge mit botnetnick) 0xe33,Mistede telnet forbindelse fra %s mens der blev tjekket for dubletter 0xe34,TIMEOUT ident forbindelse 0xe35,Please remove the #comment from your listen setting and try again diff --git a/language/core.finnish.lang b/language/core.finnish.lang index 83319105d..4fecf9202 100644 --- a/language/core.finnish.lang +++ b/language/core.finnish.lang @@ -2,12 +2,12 @@ # core kieli viestit eggdroppiin # Yleinen tavara -0x001,Kytss -0x002,Hyltty.\n +0x001,Käytössä +0x002,Hylätty.\n # MOODIT_ 0x130,Luotu -0x131,viimeksi kytetty +0x131,viimeksi käytetty 0x132,toimeton 0x133,asetettu 0x135,ei aktiivinen @@ -17,76 +17,76 @@ # BANNIT_ 0x104,Globaaliset bannit 0x106,Kanva bannit -0x109,Kyt komentoa '.bans all' nhdksesi kokonais listan -0x10a,Ei pitki banneja +0x109,Käytä komentoa '.bans all' nähdäksesi kokonais listan +0x10a,Ei pitkiä banneja # EXEMPTIT_ 0x114,Globaaliset exemptit 0x116,Kanva exemptit -0x119,Kyt komentoa '.exempts all' nhdksesi kokonais listan -0x11a,Ei pitki exemptej +0x119,Käytä komentoa '.exempts all' nähdäksesi kokonais listan +0x11a,Ei pitkiä exemptejä # INVITESIT_ 0x124,Globaaliset invitesit 0x126,Kanava invitesit -0x129,Kyt komentoa '.invites all' nhdksesi kokonais listan +0x129,Käytä komentoa '.invites all' nähdäksesi kokonais listan 0x12a,No longer inviting # MODUULIT_ 0x200,Valmiiksi ladattu. -0x201,Ei pysty kiinnittmn nykyist kansiota. -0x202,Ei aloitettavaa funktiota mritetty. +0x201,Ei pysty kiinnittämään nykyistä kansiota. +0x202,Ei aloitettavaa funktiota määritetty. 0x204,Tarvitaan toinen moduuli 0x205,Ei suljettavaa funktiota 0x206,Moduuli suljettu: -0x207,Ei kyseist moduulia +0x207,Ei kyseistä moduulia 0x209,Virhe ladatessa moduulia: 0x20a,Virhe suljettaessa moduulia: 0x20b,Ei pysty lataamaan moduulia -0x20c,Lamaantunut moduuli; Tll on muisti vuoto! +0x20c,Lamaantunut moduuli; Täällä on muisti vuoto! 0x20d,Sinulla on asennettu moduuli, mutta ei ole valittua kryptausta\n\ moduulille, etsi vakio config tiedostosta tietoa.\n -0x20e,Tiedostojrjestelm moduulia ei ladattu. +0x20e,Tiedostojärjestelmä moduulia ei ladattu. 0x20f,Moduuli ladattu: %-16s (kieli tuella) 0x210,Moduuli ladattu: %-16s -# KYTTJTIEDOSTO_ -0x400,Kyttjlistan siirto suoritettu; vaihdetaan yli -0x402,EI PYSTY LUKEMAAN UUTTA KYTTJTIEDOSTOA -0x403,Ei pysty lhettmn kyttjtiedostoa sinulle (paikallinen virhe) -0x404,Ei pysty lytmn yhtn mik vastaisi tt -0x405,Vanha kyttjtiedosto, kyt 'tclsh scripts/weed c' muunokseen -0x406,Virheellinen kyttjtiedosto formaatti. -0x407,Vristetty kyttj taltio -0x408,Kopioidaan kyttj taltio +# KÄYTTÄJÄTIEDOSTO_ +0x400,Käyttäjälistan siirto suoritettu; vaihdetaan yli +0x402,EI PYSTY LUKEMAAN UUTTA KÄYTTÄJÄTIEDOSTOA +0x403,Ei pysty lähettämään käyttäjätiedostoa sinulle (paikallinen virhe) +0x404,Ei pysty löytämään yhtään mikä vastaisi tätä +0x405,Vanha käyttäjätiedosto, käytä 'tclsh scripts/weed c' muunokseen +0x406,Virheellinen käyttäjätiedosto formaatti. +0x407,Vääristetty käyttäjä taltio +0x408,Kopioidaan käyttäjä taltio 0x409,pilattu salasana palautettu 0x40a,Ei huomioida salattuja kanavi(a): -0x40b,Kirjoitetaan kyttj tiedostoa... -0x40c,ERROR kirjoitettaessa kyttjtiedostoa. -0x40d,ERROR kirjoitettaessa kyttjtiedostoa siirtoon. -0x40e,Kyttjtiedoston luonti ei tarpeellinen--ohitetaan -0x40f,Pivitetn... -0x410,En tied ketn tmn nimist.\n -0x411,Ei kyseist kyttj taltiota. -0x412,Varmuuskopioidaan kyttjtiedostoa... -0x413,Hyjtty yhteys; peruutetaan kyttjtiedoston siirto. +0x40b,Kirjoitetaan käyttäjä tiedostoa... +0x40c,ERROR kirjoitettaessa käyttäjätiedostoa. +0x40d,ERROR kirjoitettaessa käyttäjätiedostoa siirtoon. +0x40e,Käyttäjätiedoston luonti ei tarpeellinen--ohitetaan +0x40f,Päivitetään... +0x410,En tiedä ketään tämän nimistä.\n +0x411,Ei kyseistä käyttäjä taltiota. +0x412,Varmuuskopioidaan käyttäjätiedostoa... +0x413,Hyjätty yhteys; peruutetaan käyttäjätiedoston siirto. 0x414,Vanhan tyylinen jako anomus -0x415,Vanhentunut jako pyynt -0x416,Kyttjtiedosto hyltty +0x415,Vanhentunut jako pyyntö +0x416,Käyttäjätiedosto hylätty # SEKALAISTA_ -0x500,pttynyt -0x501,Yhteens +0x500,päättynyt +0x501,Yhteensä 0x502,Poistetut 0x504,on -0x505,Ky -0x506,ohitetaan ensimminen -0x507,(enemmn kuin %d kyv; lista katkaistu)\n -0x508,--- Lydetty %d vastaavaa%s.\n -0x509,Epselv komento.\n -0x50a,Mit? Sin tarvitset '.help' komentoa\n +0x505,Käy +0x506,ohitetaan ensimmäinen +0x507,(enemmän kuin %d käyvää; lista katkaistu)\n +0x508,--- Löydetty %d vastaavaa%s.\n +0x509,Epäselvä komento.\n +0x50a,Mitä? Sinä tarvitset '.help' komentoa\n 0x50b,Komento sidottu:\n -0x50c,Kynnistetn uudelleen... +0x50c,Käynnistetään uudelleen... 0x50d,es 0x50e,Vaihdetaan logitiedostoja... 0x512,varattu @@ -95,76 +95,76 @@ moduulille, etsi vakio config tiedostosta tietoa.\n 0x517,virheellinen botti 0x518,Tunnistetaan loopia: kaksi bottia on nimetty 0x51a,sta -0x51b,ulkopivitetty -0x51c,evtty +0x51b,ulkopäivitetty +0x51c,evätty 0x51d,petkuttaja -0x51e,yritetn +0x51e,yritetään 0x51f,MOTD tiedosto: 0x520,Ei MOTD tiedostoa. -0x521,Kyt: +0x521,Käytä: 0x522, [/] 0x526,avoin 0x527,tarvitaan opit 0x529,taustalla 0x52a,terminaali moodi 0x52b,tila moodi -0x52c,pitk vedos moodi +0x52c,pitkä vedos moodi 0x52d,Paikalla -0x52e,Ktk +0x52e,Kätkö 0x52f,Tcl kirjasto: -0x530,Uusi kyttjn saatava merkki +0x530,Uusi käyttäjän saatava merkki 0x531,tiedottaa -0x532,Pysyv(t) omistaja(t) -0x534,CONFIG TIEDOSTO EI LADATTU (EI LYDY, TAI VIRHE) -0x535,KYTTJTIEDOSTOA EI LYDY! (yrit './eggdrop -m %s' luodaksesi yksi)\n -0x536,KYNNISTETN BOTTI KYTTJTIEDOSTON LUONTI MOODISSA.\n\ -Telnettaa botille ja syt 'UUSI' kuin sinun nickkisi. -0x537,TAI mene IRCC:iin ja syt komento: /msg %s hello\n -0x538,Tm tekee ett botti tunnistaa sinut mertarikseen. -0x539,KYTTJTIEDOSTO VALMIIKSI LUOTU (poista '-m') -# 0x53a - unused / kyttmtn -0x53b,Ei pysty ladata uudelleen kyttj tiedostoa! -0x53c,Kyttjtiedosto hukassa! -0x53e,%B (%E)\n\nSyt thn sinun nickkisi.\n -0x53f,Kierrtetn logitiedostoa %s, maksimi-logikoko (%d) -# 0x540 - unused / kyttmtn +0x532,Pysyvä(t) omistaja(t) +0x534,CONFIG TIEDOSTO EI LADATTU (EI LÖYDY, TAI VIRHE) +0x535,KÄYTTÄJÄTIEDOSTOA EI LÖYDY! (yritä './eggdrop -m %s' luodaksesi yksi)\n +0x536,KÄYNNISTETÄÄN BOTTI KÄYTTÄJÄTIEDOSTON LUONTI MOODISSA.\n\ +Telnettaa botille ja syötä 'UUSI' kuin sinun nickkisi. +0x537,TAI mene IRCC:iin ja syötä komento: /msg %s hello\n +0x538,Tämä tekee että botti tunnistaa sinut mertarikseen. +0x539,KÄYTTÄJÄTIEDOSTO VALMIIKSI LUOTU (poista '-m') +# 0x53a - unused / käyttämätön +0x53b,Ei pysty ladata uudelleen käyttäjä tiedostoa! +0x53c,Käyttäjätiedosto hukassa! +0x53e,%B (%E)\n\nSyötä tähän sinun nickkisi.\n +0x53f,Kierrätetään logitiedostoa %s, maksimi-logikoko (%d) +# 0x540 - unused / käyttämätön 0x541,Viimeinen viesti toistettu %d aika(a).\n 0x542,juped 0x543,Ei vapaita kohtia saatavilla. 0x544,Tcl versio: -0x545,p versio +0x545,pää versio # IRC_ 0x600,Bannattu 0x601,Olet bannattu 0x602,Haluan bannata itseni--poikkeama. -0x603,tm on hauskaa, tehdn se uudestaan! +0x603,tämä on hauskaa, tehdään se uudestaan! 0x604,Hei 0x605,Heippa 0x606,Olet bannattu, tahmassa. -0x607,NOTICE %s :Sinun nickkisi on liian pitk senthden se on lyhennetty '%s'.\n -0x608,Esitell +0x607,NOTICE %s :Sinun nickkisi on liian pitkä sentähden se on lyhennetty '%s'.\n +0x608,Esitellä 0x609,yleinen sijainti 0x60a,NOTICE %s :Hei %s! Olen %s, eggdrop botti.\n 0x60b,NOTICE %s :Tunnistan sinun hostmaskisi '%s' nyt.\n -0x60c,Koska tulit yhteiselt irc sijainnilta, tm meinaa ett sinun pitisi -0x60d,aina kytt tt nickki kun puhut minulle. -0x60e,OLET NYT TMN BOTIN OMISTAJA -0x60f,Botti asennus onnistunut, ensimminen mestari on %s +0x60c,Koska tulit yhteiseltä irc sijainnilta, tämä meinaa että sinun pitäisi +0x60d,aina käyttää tätä nickkiä kun puhut minulle. +0x60e,OLET NYT TÄMÄN BOTIN OMISTAJA +0x60f,Botti asennus onnistunut, ensimmäinen mestari on %s 0x610,Tervetuloa Eggdroppiin! =] -0x611,Ensiesitelm %s %s -0x612,Sin olet asettanut salasanan. +0x611,Ensiesitelmä %s %s +0x612,Sinä olet asettanut salasanan. 0x613,Et ole asettanut salasanaa. 0x615,Olet jo asettanut salasanan. -0x616,Kyt vhintn 6 merkki. +0x616,Käytä vähintään 6 merkkiä. 0x617,Salasana asetettu: 0x618,Virheellinen salasana. 0x619,Salasana vaihdettu: -0x61a,Olet yhteninen; et voi IDENT. +0x61a,Olet yhtenäinen; et voi IDENT. 0x61b,NOTICE %s :Et ole %s, olet %s.\n -0x61c,Pse estetty. -0x61d,Hyvksyn sinut. -0x61e,hostmask listty +0x61c,Pääse estetty. +0x61d,Hyväksyn sinut. +0x61e,hostmask lisätty 0x620,Nyt: 0x621,Nyt: 0x622,Poista se: @@ -173,35 +173,35 @@ Telnettaa botille ja sy 0x626,Inforivisi poistettu. 0x627,Sinulla ei ole asetettu infoa 0x628,Et ole asettanut infoa. -0x629,En tarkkaile tt kanavaa. +0x629,En tarkkaile tätä kanavaa. 0x62a,Alustetaan kanava info. -0x62b,Hyptn serverille... +0x62b,Hypätään serverille... 0x62c,Kanava on nyt piilotettu. 0x62d,Nyt kanavalla -0x62e,Koskaan nhnyt kanavaa. -0x62f,Viimeksi nhnyt +0x62e,Koskaan nähnyt kanavaa. +0x62f,Viimeksi nähnyt 0x630,En tunne sinua; esittele itsesi ensin. 0x631,Ei apua. -0x632,Ei apua saatavilla tst. -# 0x633 - kyttmtn +0x632,Ei apua saatavilla tästä. +# 0x633 - käyttämätön 0x634,Ei kanavalla juuri nyt. 0x635,Vaihdetaan takaisin nickki %s 0x636,Serveri sanoo, minun nickkini on viallinen. -0x637,NICKKI KYTSS: Yritetn '%s' -0x638,Ei pystyt vaihtamaan nickki %s. Onko minun nickkini bannattu? +0x637,NICKKI KÄYTÖSSÄ: Yritetään '%s' +0x638,Ei pystytä vaihtamaan nickkiä %s. Onko minun nickkini bannattu? 0x639,Nickki on juped 0x63a,Kanava %s on juped. :( -0x63b,%s sanoo En ole rekisteritynyt, yritetn uudestaan. -0x63c,Serveri sanoo, emme ole rekisterityneet viel.. +0x63b,%s sanoo En ole rekisteröitynyt, yritetään uudestaan. +0x63c,Serveri sanoo, emme ole rekisteröityneet vielä.. 0x63d,Floodaamista @%s! Asetetaan ignore! 0x63f,JOIN floodaamista @%s! Bannattu. 0x640,Kanava floodaamista %s -- kickataan -0x641,Yritetn serveri -0x642,DNS tarkistus eponnistui -0x643,Yhditminen eponnistui -0x644,Serveri "jtynyt"; mennn mutustelemaan... +0x641,Yritetään serveriä +0x642,DNS tarkistus epäonnistui +0x643,Yhditäminen epäonnistui +0x644,Serveri "jäätynyt"; mennään mutustelemaan... 0x645,Katkaistaan -0x646,Ei nykyist serveri. +0x646,Ei nykyistä serveriä. 0x647,Moodi queue on nyt 0x648,Serveri queue on nyt 0x649,Auto queue on nyt @@ -211,136 +211,136 @@ Telnettaa botille ja sy 0x64d,Kanava 0x64e,Halutaan kanava 0x64f,Kanava otsikko -0x650,pyydetn +o -- Olen jumissa -0x651,pyydetn -o -- Olen jumissa -0x652,pyydetn kicki -0x653,VR KANAVAOP ANNETTU SERVERILT +0x650,pyydetään +o -- Olen jumissa +0x651,pyydetään -o -- Olen jumissa +0x652,pyydetään kickiä +0x653,VÄÄRÄ KANAVAOP ANNETTU SERVERILTÄ 0x654,Kanava info loppu. 0x655,lauma kick, mene istumaan nurkkaan 0x656,banni poistettu 0x657,Hmm, moodi info kanavalla En ole 0x658,...ja kiitos sinulle pelaamisesta. -0x659,Hyptn servereille (tarvitaan %d servereit, on vain %d) -0x65a,vaihdetaan servereit -0x65b,Olen liian monella kanavalla--en voi liitty: %s -0x65c,Kanava tynn--en voi liitty: %s -0x65d,Kanava vain inviteille--en voi liitty: %s -0x65e,Bannattu kanavalta--en voi liitty: %s +0x659,Hypätään servereille (tarvitaan %d servereitä, on vain %d) +0x65a,vaihdetaan servereitä +0x65b,Olen liian monella kanavalla--en voi liittyä: %s +0x65c,Kanava täynnä--en voi liittyä: %s +0x65d,Kanava vain inviteille--en voi liittyä: %s +0x65e,Bannattu kanavalta--en voi liittyä: %s 0x65f,Serveri sanoo En ole kanavalla: %s -0x660,Huono avain--en voi liitty: %s -0x661,NOTICE %s :Kaikki komennot on tehtv /MSG lla. Tydellinen lista komennoista, /MSG %s help Heippa!\n -0x662,NOTICE %s :En hyvksy tt hostia.\n -0x663,NOTICE %s :Olet kyttmss jotain muuta nickki tai tarvitset komennon: /MSG %s IDENT (password)\n +0x660,Huono avain--en voi liittyä: %s +0x661,NOTICE %s :Kaikki komennot on tehtävä /MSG lla. Täydellinen lista komennoista, /MSG %s help Heippa!\n +0x662,NOTICE %s :En hyväksy tätä hostia.\n +0x663,NOTICE %s :Olet käyttämässä jotain muuta nickkiä tai tarvitset komennon: /MSG %s IDENT (password)\n 0x664,NOTICE %s :Masteri, tarvit todella asettaa salasanan: with /MSG %s pass .\n -0x665,NOTICE %s :Kaikki trket komennot ovat kytss dcc chatssa. Juuri nyt et tarvitse kytt -m asetusta kun kynnistt botin. Nauti !!!\n -0x666,Tm telnetti on liitetty %s, eggdroppi bottiin.\nl herjaa sit, ja se aukeaa kaikille ystvillesi mys.\n -0x667,Saat nyt valita nickkin kyttksesi bottia,\nja salasanaa ei kukaan voi uskotella sinulta.\nMuista molemmat! -0x668,Juuri nyt et tarvitse kytt -m asetusta kun kynnistt botin.\nNauti !! -0x669,Telnetti yhteys floodaaminen %s! Ei vlitet! +0x665,NOTICE %s :Kaikki tärkeät komennot ovat käytössä dcc chatssa. Juuri nyt et tarvitse käyttää -m asetusta kun käynnistät botin. Nauti !!!\n +0x666,Tämä telnetti on liitetty %s, eggdroppi bottiin.\nÄlä herjaa sitä, ja se aukeaa kaikille ystävillesi myös.\n +0x667,Saat nyt valita nickkin käyttääksesi bottia,\nja salasanaa ei kukaan voi uskotella sinulta.\nMuista molemmat! +0x668,Juuri nyt et tarvitse käyttää -m asetusta kun käynnistät botin.\nNauti !! +0x669,Telnetti yhteys floodaaminen %s! Ei välitetä! 0x66a,Bannattu: 0x66b,joini floodi -0x66c,l kickkii ystvini, oksastaja -0x66d,...ja l tule takaisin. +0x66c,älä kickkii ystäviäni, oksastaja +0x66d,...ja älä tule takaisin. 0x66e,Vaihdettu takaisin kakkosnickki %s -0x66f,l deoppaa ystvini, oksastaja +0x66f,älä deoppaa ystäviäni, oksastaja 0x670,exempti poistettu 0x671,Invite poistettu 0x672,NICK floodi @%s! Bannattu. 0x673,nickki floodi # EGG_ -#0x700 - unused / kyttmtn -0x701,Tunnistan %s valmiiksi pll tss kansiossa.\n -0x702,Jos tm ei ole korjattu, poista '%s'\n +#0x700 - unused / käyttämätön +0x701,Tunnistan %s valmiiksi päällä tässä kansiossa.\n +0x702,Jos tämä ei ole korjattu, poista '%s'\n 0x703,* Varoitus! Ei pysty kirjoittamaan %s tiedostoa!\n -# KYTTJ_ +# KÄYTTÄJÄ_ 0x800, (on globaalinen oppi) 0x801, (on botti) 0x802, (on masteri) # KANAVA_ -0x900,Ei kyseist kanavaa tunnistettu +0x900,Ei kyseistä kanavaa tunnistettu 0x902,* Moodi vaihdettu %s olemattomaan %s! 0x903,Kasa deopattu %s %s 0x904,Kasa deopattu. Mene istumaan nurkkaan. -0x907,Hups. Joku sai minut liittymn %s... lhdetn... -0x908,Moodi vaihdettu vrn opin %s takia! Knnetn... +0x907,Hups. Joku sai minut liittymään %s... lähdetään... +0x908,Moodi vaihdettu väärän opin %s takia! Käännetään... 0x909,Haukutaan sairaat serveri opit -0x90a,Moodi vaihdettu vrn kanavaopin %s takia! Knnetn... -0x90b,Haukutaan epsynkkaaja +0x90a,Moodi vaihdettu väärän kanavaopin %s takia! Käännetään... +0x90b,Haukutaan epäsynkkaaja 0x90c,floodaaminen 0xa00,Ei ignooreja -0xa01,Nykyisi ignooreja -0xa02,Ei pitki ignooreja +0xa01,Nykyisiä ignooreja +0xa02,Ei pitkiä ignooreja -0xb00,Tm botti ei ole tll.\n -0xb01,Tm on botti. Et voi jtt viestej botille.\n +0xb00,Tämä botti ei ole täällä.\n +0xb01,Tämä on botti. Et voi jättää viestejä botille.\n 0xb02,on poissa 0xb07,Ei saapuvia sinulle 0xb08,Viesti varastossa 0xb18,Botin selkuminen aloitettu.... -0xb19,Ei kyseist kyttj +0xb19,Ei kyseistä käyttäjää 0xb1a,ei kanavia -0xb1b,Party linen jsenet: +0xb1b,Party linen jäsenet: 0xb1c,Botit yhdistetty -0xb1d,Muita ihmisi botilla -0xb1f,Yritetn linkitt +0xb1d,Muita ihmisiä botilla +0xb1f,Yritetään linkittää 0xb20,Ei paikalla; viesti varastoitu. -0xb21,Viestilaatikko tynn, anteeksi. +0xb21,Viestilaatikko täynnä, anteeksi. 0xb22,on poissa; viesti varastoitu. -0xb23,Viesti lhetetty +0xb23,Viesti lähetetty 0xb24,Katkaistu: -0xb25,Ihmisi kanavalla -0xb26,Ei pysty linkittmn thn -0xb27,Ei pysty unlinkittmn +0xb25,Ihmisiä kanavalla +0xb26,Ei pysty linkittämään tähän +0xb27,Ei pysty unlinkittämään 0xb28,Loop tunnistettu 0xb29,Outo linkki viesti -0xb2b,Katkaistu jljell +0xb2b,Katkaistu jäljellä 0xb2c,Linkitetty 0xb2d,Laiton linkki selattu 0xb2e,Olet tuettu olemaan selattu! -0xb2f,Hyltn botti +0xb2f,Hylätään botti 0xb30,Vanhempi botti tunnistettu (ei tuettu) -0xb31,Jljitetn vastausta +0xb31,Jäljitetään vastausta 0xb32,ei ole olemassa -0xb33,Remote bootit eivt ole sallituja. +0xb33,Remote bootit eivät ole sallituja. 0xb34,Ei pysty boottaamaan botin omistajaa. -0xb35,TIEDOSTON SIIRTO HYLTTY -0xb37,Kyttht ovat ristiss botnetiss +0xb35,TIEDOSTON SIIRTO HYLÄTTY +0xb37,Käyttähät ovat ristissä botnetissä 0xb38,Party line 0xb39,Paikallinen kanava -0xb3a,Kyttjt kanavalla +0xb3a,Käyttäjät kanavalla 0xb3b,Ei botteja linkitetty. -0xb3c,Ei infoa jljitetty: +0xb3c,Ei infoa jäljitetty: 0xb3d,Puu liian monimutkainen! -0xb3e,Unlinkitetn kaikki botit... -0xb3f,Linkki tapetaan yrityksest -0xb40,Ei pitkn yritet linkki: +0xb3e,Unlinkitetään kaikki botit... +0xb3f,Linkki tapetaan yrityksestä +0xb40,Ei pitkään yritetä linkkiä: 0xb41,Rikotaan linkki 0xb42,Unlinkitetty: -0xb43,Ei yhdistetty tt bottia. +0xb43,Ei yhdistetty tätä bottia. 0xb44,Smooshing botti tasot ja associt... 0xb45,ei ole tunnettu botti. -0xb46,Linkitetn itseni kanssa? Oh poika, Fredill ei ole pelto piv. -0xb47,Tm botti on jo valmiiksi yhdistetty. -0xb48,Vr telnet osoite:portti varastoitu +0xb46,Linkitetään itseni kanssa? Oh poika, Fredillä ei ole pelto päivä. +0xb47,Tämä botti on jo valmiiksi yhdistetty. +0xb48,Väärä telnet osoite:portti varastoitu 0xb49,Linkitetty -0xb4a,Ei pysty lytmn kyttj viesti! -0xb4b,Ei pysty linkittmn -0xb4c,Viestit itsesi kanssa? Mik MAA tmn ovi tehd?! +0xb4a,Ei pysty löytämään käyttäjä viestiä! +0xb4b,Ei pysty linkittämään +0xb4c,Viestitä itsesi kanssa? Mikä MAA tämän ovi tehdä?! 0xb4d,Yhdistetty -0xb4e,(Komento *BYE* poistuu rivill itsestn.) -0xb4f,Katkaistaan relay pyynt +0xb4e,(Komento *BYE* poistuu rivillä itsestään.) +0xb4f,Katkaistaan relay pyyntö 0xb50,Olet nyt palannut 0xb51,Relay katkaistu: 0xb53,Dcc yhteys hukattu -0xb54,Tiputetaan relay pyynt +0xb54,Tiputetaan relay pyyntö 0xb55,Onnistui!\n\nNYT RELAY BOTTIIN ON YHDISTETY -0xb56,(Voit kytt komentoa *BYE* enenaikaiseen yhteyden sulkemiseen.) +0xb56,(Voit käyttää komentoa *BYE* enenaikaiseen yhteyden sulkemiseen.) 0xb57,Relay linkki: -0xb58,Lhdettiin party linelta. +0xb58,Lähdettiin party linelta. 0xb59,Relay linkki lopetettu 0xb5a,RELAY YHTEYS TIPUTETTU.\nOlet palannut nyt takaisin 0xb5b,palataan takaisin party linelle. @@ -348,86 +348,86 @@ Telnettaa botille ja sy 0xb5d,Katkaistaan yhteys 0xb5e,Relay rikki 0xb5f,Pinggi kadotettu -0xb60,unleaflike kyts +0xb60,unleaflike käytös 0xb61,Tiputettiin botti -0xb62,Tm botti on jo valmiiksi linkitetty. +0xb62,Tämä botti on jo valmiiksi linkitetty. 0xc00,En salli DCC chatteja oudoille. -0xc01,Evtn DCC chatti (ei psy) -0xc02,Ei psy -0xc03,Sinulla tytyy olla salasana asetettu. -0xc04,Evtn DCC chatti (ei salasanaa) -0xc05,Evtn DCC chatti (+x mutta ei tiedosto alue) +0xc01,Evätään DCC chatti (ei pääsyä) +0xc02,Ei pääsyä +0xc03,Sinulla täytyy olla salasana asetettu. +0xc04,Evätään DCC chatti (ei salasanaa) +0xc05,Evätään DCC chatti (+x mutta ei tiedosto alue) 0xc07,Liian moni ihminen on tiedosto alueella juuri nyt. -0xc0c,Sori, liian monta DCC yhteytt. -0xc0d,DCC yhteydet tynn: %s %s (%s!%s) -0xc19,yhdistminen eponnistui -0xc1a,DCC yhdistyminen eponnistui -0xc1c,Syt salasana. -0xc1d,%s on vkivalloin poistettu floodaamasta.\n -0xc1e,-=- ph -=-\n +0xc0c,Sori, liian monta DCC yhteyttä. +0xc0d,DCC yhteydet täynnä: %s %s (%s!%s) +0xc19,yhdistäminen epäonnistui +0xc1a,DCC yhdistyminen epäonnistui +0xc1c,Syötä salasana. +0xc1d,%s on väkivalloin poistettu floodaamasta.\n +0xc1e,-=- pöh -=-\n 0xc1f,Et ole bootannut %s %s%s%s\n 0xc20,%s bootattu %s party line%s%s -0xc21,Evtty DCC chatti (vr portti) -0xc22,DCC vr portti +0xc21,Evätty DCC chatti (väärä portti) +0xc22,DCC väärä portti 0xd00,Floating in limbo (ei IRC vuorovaikutus) # BOTNET -0xe00,Vale viesti hyltty +0xe00,Vale viesti hylätty 0xe01,Linkitetty -0xe02,Vr botti--halutaan %s, saada %s -0xe03,on lhtenyt +0xe02,Väärä botti--halutaan %s, saada %s +0xe03,on lähtenyt 0xe04,on liittynyt 0xe05,on nyt poissa -0xe06,ei ole pitkn poissa +0xe06,ei ole pitkään poissa 0xe07,Nickki vaihdettu: # dcc.c viestit -0xe08,Linkki hyltn %s +0xe08,Linkki hylätään %s 0xe09,Linkitetty %s. -0xe0a,Linkitys eponnistui %s. -0xe0b,Huono salasana yritykseen yhdist %s. -0xe0c,Salasana vaaditaan yhdistmiseen %s. -0xe0d,VIRHE linkityksess %s: %s +0xe0a,Linkitys epäonnistui %s. +0xe0b,Huono salasana yritykseen yhdistää %s. +0xe0c,Salasana vaaditaan yhdistämiseen %s. +0xe0d,VIRHE linkityksessä %s: %s 0xe0e,Botti kadotettu: %s -0xe0f,Aikalis: botti linkitetty %s %s:%d -0xe10,Psty sisn: %s (%s/%d) +0xe0f,Aikalisä: botti linkitetty %s %s:%d +0xe10,Päästy sisään: %s (%s/%d) 0xe11,Huono Salasana: [%s]%s/%d -0xe12,Tm on negatiivinen, Houston.\n +0xe12,Tämä on negatiivinen, Houston.\n 0xe13,*** %s on liittynyt party linelle.\n 0xe14,Dcc yhteys hukattu %s (%s/%d) 0xe15,Salasana vanheni dcc chatissa: [%s]%s 0xe16,DCC yhteys suljettu (%s!%s) -0xe17,TELNET yhdistminen eponnistui (%s) -0xe18,Evtn %s/%d (huono src portti) +0xe17,TELNET yhdistäminen epäonnistui (%s) +0xe18,Evätään %s/%d (huono src portti) 0xe19,*** %s on palannut.\n -0xe1a,Evtn %s (huono hostname) +0xe1a,Evätään %s (huono hostname) 0xe1b,Telnet yhteys: %s/%d -0xe1c,Ident eponnistui %s: %s -0xe1d,(!) Kuunnellaan porttia %d kisti kuoli. -0xe1e,Evtn %s (huono nickki) -0xe1f,Evtn %s (ei botti) -0xe20,Evtn %s (ei kyttj) -0xe21,Evtn %s (virheellinen kahva: %s) -0xe22,Evtn telnet yhteys %s (kaksois) -0xe23,Evtn [%s]%s (ei salasanaa) +0xe1c,Ident epäonnistui %s: %s +0xe1d,(!) Kuunnellaan porttia %d äkisti kuoli. +0xe1e,Evätään %s (huono nickki) +0xe1f,Evätään %s (ei botti) +0xe20,Evätään %s (ei käyttäjä) +0xe21,Evätään %s (virheellinen kahva: %s) +0xe22,Evätään telnet yhteys %s (kaksois) +0xe23,Evätään [%s]%s (ei salasanaa) 0xe24,Kadotettiin telnet yhteys %s/%d -0xe25,Ident kadotettu telnetiss: %s -0xe26,Botti asennettu onnistuneesti, ensimminen mestari on %s -0xe27,Uusi kyttj telnetiss: [%s]%s/%d -0xe28,Uusi telnet kyttj kadotettu (%s/%d) -0xe29,Uusi telnet kyttj kadotettu %s (%s/%d) -0xe2a,Uusi telnet kyttj tiputettu: %s/%d -0xe2b,Uusi telnet kyttj tiputettu: [%s]%s/%d +0xe25,Ident kadotettu telnetissä: %s +0xe26,Botti asennettu onnistuneesti, ensimmäinen mestari on %s +0xe27,Uusi käyttäjä telnetissä: [%s]%s/%d +0xe28,Uusi telnet käyttäjä kadotettu (%s/%d) +0xe29,Uusi telnet käyttäjä kadotettu %s (%s/%d) +0xe2a,Uusi telnet käyttäjä tiputettu: %s/%d +0xe2b,Uusi telnet käyttäjä tiputettu: [%s]%s/%d 0xe2c,Tcl virhe [%s]: %s -0xe2d,*** HUOMIO: KUOLLUT SOCKET (%d) TYYPISS %s EI VANGITTU -0xe2e,Kadotetaan yhteys sillaikaa kun identitettiin [%s/%d] +0xe2d,*** HUOMIO: KUOLLUT SOCKET (%d) TYYPISSÄ %s EI VANGITTU +0xe2e,Kadotetaan yhteys silläaikaa kun identitettiin [%s/%d] 0xe2f,EOF ident yhteys 0xe30,Kadotettu ident odotus telnet socketti!! -0xe31,Evtty telnet: %s, Ei psy -0xe32,Evtn telnet yhteys %s (yrit kytt minun botnetnickkini) -0xe33,Telnet yhteys hukattu %s sillaikaa kun tarkistettiin tuplausta +0xe31,Evätty telnet: %s, Ei pääsyä +0xe32,Evätään telnet yhteys %s (yritä käyttää minun botnetnickkiäni) +0xe33,Telnet yhteys hukattu %s silläaikaa kun tarkistettiin tuplausta 0xe34,Kadotettu ident yhteys 0xe35,Please remove the #comment from your listen setting and try again 0xe36,This port is for bots only diff --git a/language/core.french.lang b/language/core.french.lang index e514eb17a..0cc6331d8 100644 --- a/language/core.french.lang +++ b/language/core.french.lang @@ -1,111 +1,111 @@ # core.french.lang -# messages principaux pour eggdrop en français +# messages principaux pour eggdrop en français -# G�n�ralit�s +# G�n�ralit�s 0x001,Utilisation -0x002,A �chou�.\n +0x002,A �chou�.\n # MODES_ -0x130,Cr�� -0x131,utilis� derni�rement +0x130,Cr�� +0x131,utilis� derni�rement 0x132,inactif -0x133,plac� par +0x133,plac� par 0x135,non actif sur 0x137,non actif -0x138,non plac� par le bot +0x138,non plac� par le bot # BANS_ 0x104,Bans globaux -0x106,Bans sp�cifiques au canal -0x109,Utilisez '.bans all' pour voir la liste compl�te +0x106,Bans sp�cifiques au canal +0x109,Utilisez '.bans all' pour voir la liste compl�te 0x10a,Annulation du ban # EXEMPTS_ 0x114,Exceptions globales -0x116,Exceptions sp�cifiques au canal -0x119,Utilisez '.exempts all' pour voir la liste compl�te +0x116,Exceptions sp�cifiques au canal +0x119,Utilisez '.exempts all' pour voir la liste compl�te 0x11a,Annulation de l'exception # INVITES_ 0x124,Invitations globales -0x126,Invitations sp�cifiques au canal -0x129,Utilisez '.invites all' pour voir la liste compl�te +0x126,Invitations sp�cifiques au canal +0x129,Utilisez '.invites all' pour voir la liste compl�te 0x12a,Annulation de l'invitation # MOD_ -0x200,D�j� charg�. -0x201,Impossible de d�terminer le r�pertoire courant. -0x202,Aucune fonction de d�marrage d�finie. +0x200,D�j� charg�. +0x201,Impossible de d�terminer le r�pertoire courant. +0x202,Aucune fonction de d�marrage d�finie. 0x204,Requis par un autre module 0x205,Aucune fonction de fermeture -0x206,Module d�charg� : +0x206,Module d�charg� : 0x207,Aucun module de ce nom 0x209,Erreur pendant le chargement du module : -0x20a,Erreur pendant le d�chargement du module : +0x20a,Erreur pendant le d�chargement du module : 0x20b,Impossible de charger les modules -0x20c,Modules stagnants; il va y avoir perte de m�moire ! -0x20d,Vous avez install� des modules, mais n'avez pas choisi de module de cryptage,\n\ +0x20c,Modules stagnants; il va y avoir perte de m�moire ! +0x20d,Vous avez install� des modules, mais n'avez pas choisi de module de cryptage,\n\ consultez le fichier de configuration initiale pour plus de renseignements.\n -0x20e,Module Filesys non charg�. -0x20f,Module charg� : %s \t\t(avec support international) -0x210,Module charg� : %s +0x20e,Module Filesys non charg�. +0x20f,Module charg� : %s \t\t(avec support international) +0x210,Module charg� : %s # USERF_ -0x400,Transfert de la liste des utilisateurs termin� ; liste prise en compte +0x400,Transfert de la liste des utilisateurs termin� ; liste prise en compte 0x402,IMPOSSIBLE DE LIRE LA NOUVELLE LISTE DES UTILISATEURS 0x403,Impossible de vous envoyer la liste des utilisateurs (erreur interne) -0x404,Personne ne correspond � ces crit�res +0x404,Personne ne correspond � ces crit�res 0x405,Ancienne liste des utilisateurs, utilisez 'tclsh scripts/weed c' pour la convertir 0x406,Format de liste des utilisateurs invalide. 0x407,Enregistrement utilisateur corrompu 0x408,Enregistrement utilisateur en double 0x409,Mot de passe corrompu pour : -0x40a,Ban(s) ignor�(s) pour le(s) canal(aux) : -0x40b,�criture de la liste des utilisateurs... -0x40c,ERREUR pendant l'�criture de la liste des utilisateurs. -0x40d,ERREUR pendant l'�criture de la liste des utilisateurs � transf�rer. -0x40e,Cr�ation de la liste des utilisateurs inutile -- ignor�e +0x40a,Ban(s) ignor�(s) pour le(s) canal(aux) : +0x40b,�criture de la liste des utilisateurs... +0x40c,ERREUR pendant l'�criture de la liste des utilisateurs. +0x40d,ERREUR pendant l'�criture de la liste des utilisateurs � transf�rer. +0x40e,Cr�ation de la liste des utilisateurs inutile -- ignor�e 0x40f,Relecture de la configuration... 0x410,Je ne connais personne de ce nom.\n 0x411,Aucun enregistrement pour cet utilisateur. 0x412,Sauvegarde de la liste des utilisateurs... -0x413,�chec de la connexion ; interruption du transfert de la liste des utilisateurs. +0x413,�chec de la connexion ; interruption du transfert de la liste des utilisateurs. 0x414,Demande de partage (ancienne version) par -0x415,Demande de partage obsol�te -0x416,Liste des utilisateurs rejet�e par +0x415,Demande de partage obsol�te +0x416,Liste des utilisateurs rejet�e par # MISC_ -0x500,a expir� +0x500,a expir� 0x501,au total -0x502,Supprim� +0x502,Supprim� 0x504,sur 0x505,Recherche 0x506,je laisse tomber d'abord -0x507,(plus de %d r�sultats ; liste tronqu�e)\n -0x508,--- Trouv� %d r�sultat%s.\n -0x509,Commande ambigu�.\n +0x507,(plus de %d r�sultats ; liste tronqu�e)\n +0x508,--- Trouv� %d r�sultat%s.\n +0x509,Commande ambigu�.\n 0x50a,Quoi ? Essayez '.help'\n 0x50b,Liaisons de commande :\n -0x50c,Red�marrage... +0x50c,Red�marrage... 0x50d,s 0x50e,Rotation des fichiers de log... 0x512,inactif 0x513,ABSENT -0x516,D�connect� +0x516,D�connect� 0x517,bot non valide -0x518,Boucle d�tect�e : d�connexion +0x518,Boucle d�tect�e : d�connexion 0x51a,de -0x51b,p�rim� -0x51c,rejet� +0x51b,p�rim� +0x51c,rejet� 0x51d,imposteur 0x51e,j'essaie 0x51f,Fichier MOTD : 0x520,Aucun fichier MOTD. 0x521,Utilisez : -0x522, [/] +0x522, [/] 0x526,en suspens 0x527,je ne suis pas op -0x529,arri�re-plan +0x529,arri�re-plan 0x52a,mode terminal 0x52b,mode statut 0x52c,mode log @@ -114,270 +114,270 @@ consultez le fichier de configuration initiale pour plus de renseignements.\n 0x52f,librairie Tcl : 0x530,Les nouveaux utilisateurs obtiennent les drapeaux 0x531,annonce -0x532,Propri�taire(s) permanent(s) -0x534,FICHIER DE CONFIGURATION NON CHARG� (INTROUVABLE OU ERREUR) -0x535,LISTE DES UTILISATEURS NON TROUV�E ! (essayez './eggdrop -m %s' pour en cr�er une)\n -0x536,D�MARRAGE DU BOT EN MODE CR�ATION DE LISTE DES UTILISATEURS.\n\ +0x532,Propri�taire(s) permanent(s) +0x534,FICHIER DE CONFIGURATION NON CHARG� (INTROUVABLE OU ERREUR) +0x535,LISTE DES UTILISATEURS NON TROUV�E ! (essayez './eggdrop -m %s' pour en cr�er une)\n +0x536,D�MARRAGE DU BOT EN MODE CR�ATION DE LISTE DES UTILISATEURS.\n\ Faites un Telnet sur le bot et entrez 'NEW' comme surnom. 0x537,OU allez sur IRC et : /msg %s hello\n -0x538,Le bot vous reconna�tra alors comme ma�tre. -0x539,LA LISTE DES UTILISATEURS EXISTE D�J� (enlevez le '-m') -# 0x53a - unused / inutilis� +0x538,Le bot vous reconna�tra alors comme ma�tre. +0x539,LA LISTE DES UTILISATEURS EXISTE D�J� (enlevez le '-m') +# 0x53a - unused / inutilis� 0x53b,Impossible de recharger la liste des utilisateurs ! 0x53c,La liste des utilisateurs est inexistante ! 0x53e,%B (%E)\n\nEntrez votre surnom.\n -0x53f,Rotation du fichier log %s, taille maximale d�pass�e (%d) -# 0x540 - unused / inutilis� -0x541,Dernier message r�p�t� %d fois.\n -0x542,bloqu� +0x53f,Rotation du fichier log %s, taille maximale d�pass�e (%d) +# 0x540 - unused / inutilis� +0x541,Dernier message r�p�t� %d fois.\n +0x542,bloqu� 0x543,Pas de socket libre disponible. 0x544,Tcl version : -0x545,version de l'en-t�te +0x545,version de l'en-t�te # IRC_ 0x600,Banni -0x601,Vous �tes banni -0x602,Tentative de Ban sur moi-m�me -- �vit�e. -0x603,c'�tait drôle, refaites-le encore une fois ! +0x601,Vous �tes banni +0x602,Tentative de Ban sur moi-m�me -- �vit�e. +0x603,c'�tait drôle, refaites-le encore une fois ! 0x604,Salut 0x605,Au revoir -0x606,Vous �tes banni, goober. -0x607,NOTICE %s :Votre pseudo �tait trop long, je l'ai chang� en '%s'.\n -0x608,Pr�sent� � +0x606,Vous �tes banni, goober. +0x607,NOTICE %s :Votre pseudo �tait trop long, je l'ai chang� en '%s'.\n +0x608,Pr�sent� � 0x609,site public 0x60a,NOTICE %s :Salut %s! Je suis %s, un bot eggdrop.\n -0x60b,NOTICE %s :Je vais vous reconna�tre par votre hostmask '%s' � partir de maintenant.\n -0x60c,�tant donn� que vous venez d'un site IRC public, vous devriez +0x60b,NOTICE %s :Je vais vous reconna�tre par votre hostmask '%s' � partir de maintenant.\n +0x60c,�tant donn� que vous venez d'un site IRC public, vous devriez 0x60d,toujours utiliser ce pseudo quand vous me parlez. -0x60e,VOUS �TES MAINTENANT LE PROPRI�TAIRE DE CE BOT -0x60f,Installation du bot termin�e, le premier ma�tre est %s +0x60e,VOUS �TES MAINTENANT LE PROPRI�TAIRE DE CE BOT +0x60f,Installation du bot termin�e, le premier ma�tre est %s 0x610,Bienvenue sur Eggdrop! =] -0x611,pr�sent� � %s de %s -0x612,Vous avez un mot de passe d�fini. -0x613,Vous n'avez pas de mot de passe d�fini. -0x615,Vous avez d�j� un mot de passe d�fini. -0x616,Employez au moins 6 caract�res. -0x617,Mot de passe d�fini : +0x611,pr�sent� � %s de %s +0x612,Vous avez un mot de passe d�fini. +0x613,Vous n'avez pas de mot de passe d�fini. +0x615,Vous avez d�j� un mot de passe d�fini. +0x616,Employez au moins 6 caract�res. +0x617,Mot de passe d�fini : 0x618,Mot de passe incorrect. 0x619,Nouveau mot de passe : -0x61a,Vous �tes sur un site public ; vous n'avez pas acc�s � IDENT. -0x61b,NOTICE %s :Vous n'�tes pas %s, vous �tes %s.\n -0x61c,Acc�s refus�. -0x61d,Je vous reconnais l�. -0x61e,Hostmask ajout�. +0x61a,Vous �tes sur un site public ; vous n'avez pas acc�s � IDENT. +0x61b,NOTICE %s :Vous n'�tes pas %s, vous �tes %s.\n +0x61c,Acc�s refus�. +0x61d,Je vous reconnais l�. +0x61e,Hostmask ajout�. 0x620,Actuellement : 0x621,Maintenant : 0x622,Pour l'enlever : -0x624,Votre ligne de renseignements est verrouill�e +0x624,Votre ligne de renseignements est verrouill�e 0x625,Retrait de votre ligne de renseignements sur 0x626,Retrait de votre ligne de renseignements. 0x627,Vous n'avez aucun renseignements sur 0x628,Vous n'avez aucun renseignements. -0x629,Je ne contr�le pas ce canal. -0x62a,R�initialisation des renseignements du canal. +0x629,Je ne contr�le pas ce canal. +0x62a,R�initialisation des renseignements du canal. 0x62b,Changement de serveur... -0x62c,Le canal est actuellement cach�. +0x62c,Le canal est actuellement cach�. 0x62d,Maintenant sur le canal 0x62e,N'est jamais venu sur l'un de mes canaux. -0x62f,Vu la derni�re fois � -0x630,Vous n'�tes pas enregistr� ; pr�sentez-vous d'abord. +0x62f,Vu la derni�re fois � +0x630,Vous n'�tes pas enregistr� ; pr�sentez-vous d'abord. 0x631,Aucune aide. -0x632,Aucune aide disponible l�-dessus. +0x632,Aucune aide disponible l�-dessus. # 0x633 - unused 0x634,Pas sur ce canal en ce moment. -0x635,Je r�cup�re mon surnom (%s) +0x635,Je r�cup�re mon surnom (%s) 0x636,Le serveur me dit que mon surnom est invalide. 0x637,SURNOM EN UTILISATION : Essai de '%s' 0x638,Ne peut pas changer de surnom sur %s. Mon surnom est-il interdit ? -0x639,Surnom bloqu� -0x63a,Le canal %s est bloqu�. :( -0x63b,%s dit que je ne suis pas enregistr�, essai du suivant. +0x639,Surnom bloqu� +0x63a,Le canal %s est bloqu�. :( +0x63b,%s dit que je ne suis pas enregistr�, essai du suivant. 0x63c,Vous avez un serveur incorrect. 0x63d,Flood de @%s ! Placement en ignorance ! 0x63f,Flood de JOIN de @%s ! Interdiction. 0x640,Flood de canal de %s -- je le kick. 0x641,Essai du serveur -0x642,La requ�te DNS a �chou�. -0x643,�chec de la connexion � -0x644,Le serveur ne r�pond plus ; changement... -0x645,D�connect� de +0x642,La requ�te DNS a �chou�. +0x643,�chec de la connexion � +0x644,Le serveur ne r�pond plus ; changement... +0x645,D�connect� de 0x646,Aucun serveur actuellement. -0x647,La file d'attente des modes est � -0x648,La file d'attente des serveurs est � -0x649,La file d'attente d'aide est � -0x64a,Le vhost configur� dans le fichier de configuration n'est pas capable de se connecter � l'adresse du serveur. -0x64b,Le vhost configur� dans le fichier de configuration n'est pas disponible sur cette machine. +0x647,La file d'attente des modes est � +0x648,La file d'attente des serveurs est � +0x649,La file d'attente d'aide est � +0x64a,Le vhost configur� dans le fichier de configuration n'est pas capable de se connecter � l'adresse du serveur. +0x64b,Le vhost configur� dans le fichier de configuration n'est pas disponible sur cette machine. 0x64c,Traitement du canal. 0x64d,Canal. -0x64e,Je d�sire le canal. +0x64e,Je d�sire le canal. 0x64f,Sujet du canal. 0x650,+o en suspens -- Je lag. 0x651,-o en suspens -- Je lag. 0x652,Kick en suspens. -0x653,FAUX OP�RATEUR DONN� PAR LE SERVEUR. +0x653,FAUX OP�RATEUR DONN� PAR LE SERVEUR. 0x654,Fin des informations du canal. 0x655,Kick massif, va t'asseoir dans un coin. -0x656,Ban annul�. +0x656,Ban annul�. 0x657,Hmm, info sur les modes d'un canal sur lequel je ne suis pas. -0x658,...et merci d'avoir jou�. +0x658,...et merci d'avoir jou�. 0x659,Changement de serveur (j'ai besoin de %d serveurs, je n'en ai que %d). 0x65a,changement de serveur. 0x65b,Je suis sur trop de canaux--ne peut rejoindre : %s. 0x65c,Le canal est plein--ne peut rejoindre : %s. -0x65d,Le canal est r�serv� aux invit�s--ne peut rejoindre : %s. +0x65d,Le canal est r�serv� aux invit�s--ne peut rejoindre : %s. 0x65e,Banni sur le canal--ne peut rejoindre : %s. 0x65f,Le serveur dit que je ne suis pas sur le canal : %s. -0x660,Mauvaise cl�--ne peut rejoindre : %s. -0x661,NOTICE %s :Toutes les commandes sont accessibles par /MSG. Pour la liste compl�te, /MSG %s help. Cya!\n -0x662,NOTICE %s :Je ne vous reconnais pas de cet hôte.\n +0x660,Mauvaise cl�--ne peut rejoindre : %s. +0x661,NOTICE %s :Toutes les commandes sont accessibles par /MSG. Pour la liste compl�te, /MSG %s help. Cya!\n +0x662,NOTICE %s :Je ne vous reconnais pas de cet hôte.\n 0x663,NOTICE %s :Soit vous utilisez le surnom de quelqu'un d'autre, soit vous devez taper : /MSG %s IDENT (mot de passe).\n -0x664,NOTICE %s :En tant que ma�tre, vous devez vraiment d�finir un mot de passe : avec /MSG %s pass .\n -0x665,NOTICE %s :La majorit� des commandes est accessible en DCC chat. D�sormais, vous n'avez plus besoin de l'option -m quand vous d�marrez le bot. Amusez-vous bien !!\n -0x666,Ceci est l'interface telnet de %s, un bot eggdrop.\nN'en abusez pas, et elle sera ouverte �galement � tous vos amis.\n -0x667,Maintenant vous devez trouver un surnom � utiliser sur le bot, et un mot de passe, ainsi personne ne peut pr�tendre �tre vous. Retenez-les ! -0x668,D�sormais, vous n'avez plus besoin d'utiliser l'option -m pour d�marrer le bot. Amusez-vous bien ! +0x664,NOTICE %s :En tant que ma�tre, vous devez vraiment d�finir un mot de passe : avec /MSG %s pass .\n +0x665,NOTICE %s :La majorit� des commandes est accessible en DCC chat. D�sormais, vous n'avez plus besoin de l'option -m quand vous d�marrez le bot. Amusez-vous bien !!\n +0x666,Ceci est l'interface telnet de %s, un bot eggdrop.\nN'en abusez pas, et elle sera ouverte �galement � tous vos amis.\n +0x667,Maintenant vous devez trouver un surnom � utiliser sur le bot, et un mot de passe, ainsi personne ne peut pr�tendre �tre vous. Retenez-les ! +0x668,D�sormais, vous n'avez plus besoin d'utiliser l'option -m pour d�marrer le bot. Amusez-vous bien ! 0x669,Flood de connexions telnet de %s ! On ignore ! 0x66a,Banni : 0x66b,Avalanche de surnoms. -0x66c,Ne touche pas � mon pote. +0x66c,Ne touche pas � mon pote. 0x66d,...pas la peine de revenir. 0x66e,Retour au surnom alternatif %s. -0x66f,Ne d�op pas mes amis ! -0x670,Exception enlev�e. -0x671,Invitation enlev�e. +0x66f,Ne d�op pas mes amis ! +0x670,Exception enlev�e. +0x671,Invitation enlev�e. 0x672,Flood de SURNOM de @%s ! Banni. 0x673,Flood de surnoms. # EGG_ -#0x700 - unused / inutilis� -0x701,Je d�tecte que %s s'ex�cute d�j� depuis ce r�pertoire.\n +#0x700 - unused / inutilis� +0x701,Je d�tecte que %s s'ex�cute d�j� depuis ce r�pertoire.\n 0x702,Si ce n'est pas le cas, supprimez '%s'.\n -0x703,* Attention ! Impossible d'�crire le fichier %s !\n +0x703,* Attention ! Impossible d'�crire le fichier %s !\n # USER_ -0x800, (est un op�rateur global.) +0x800, (est un op�rateur global.) 0x801, (est un bot.) -0x802, (est un ma�tre.) +0x802, (est un ma�tre.) # CHAN_ -0x900,Aucun canal de ce nom d�fini. +0x900,Aucun canal de ce nom d�fini. 0x902,* Changement de mode sur %s pour le non-existant %s ! 0x903,Deop en masse sur %s par %s. 0x904,Deop en masse. Va t'asseoir dans un coin. 0x907,Oops. Quelqu'un m'a fait rejoindre %s... j'en pars... 0x908,Changement de mode par un faux op sur %s ! Annulation... -0x909,Abus d'un op mal gagn� par serveur. +0x909,Abus d'un op mal gagn� par serveur. 0x90a,Changement de mode par un non-op sur %s ! Annulation... -0x90b,Abus d'une d�synchronisation. +0x90b,Abus d'une d�synchronisation. 0x90c,Flood. -0xa00,Aucun ignor�. +0xa00,Aucun ignor�. 0xa01,Actuellement, j'ignore. 0xa02,Je n'ignore plus. -0xb00,Ce bot n'est pas l�.\n -0xb01,C'est un bot. Vous ne pouvez laisser de notes � un bot.\n +0xb00,Ce bot n'est pas l�.\n +0xb01,C'est un bot. Vous ne pouvez laisser de notes � un bot.\n 0xb02,est absent. -0xb07,Une note est arriv�e pour vous. -0xb08,Message stock�. -0xb18,L'arr�t du bot commence.... +0xb07,Une note est arriv�e pour vous. +0xb08,Message stock�. +0xb18,L'arr�t du bot commence.... 0xb19,Aucun utilisateur de ce nom. 0xb1a,Aucuns canaux. 0xb1b,Membres de la party line : -0xb1c,Bots connect�s. +0xb1c,Bots connect�s. 0xb1d,Autres personnes sur le bot. -0xb1f,Tentative de liaison � -0xb20,Non en ligne ; note enregistr�e. -0xb21,La bo�te � messages est pleine, d�sol�. -0xb22,est absent ; note stock�e. -0xb23,Note envoy�e � -0xb24,D�connect� de : +0xb1f,Tentative de liaison � +0xb20,Non en ligne ; note enregistr�e. +0xb21,La bo�te � messages est pleine, d�sol�. +0xb22,est absent ; note stock�e. +0xb23,Note envoy�e � +0xb24,D�connect� de : 0xb25,Personnes sur le canal. -0xb26,Ne peut me relier l�. -0xb27,Ne peux me d�lier. -0xb28,Boucle d�tect�e. +0xb26,Ne peut me relier l�. +0xb27,Ne peux me d�lier. +0xb28,Boucle d�tect�e. 0xb29,Annonce de lien incorrect de. -0xb2b,Reste d�connect�. -0xb2c,Li� �. -0xb2d,Lien ill�gal par un leaf. -0xb2e,Vous �tes suppos�s �tre un leaf ! -0xb2f,Bot rejet�. -0xb30,Vieux bot d�tect� (non-support�). -0xb31,R�sultat de trace. +0xb2b,Reste d�connect�. +0xb2c,Li� �. +0xb2d,Lien ill�gal par un leaf. +0xb2e,Vous �tes suppos�s �tre un leaf ! +0xb2f,Bot rejet�. +0xb30,Vieux bot d�tect� (non-support�). +0xb31,R�sultat de trace. 0xb32,n'existe pas -0xb33,Les boots distants ne sont pas autoris�s. -0xb34,Je ne peux pas virer le propri�taire du bot. -0xb35,TRANSFERT DE FICHIER REJET� -0xb37,Utilisateurs � travers le botnet +0xb33,Les boots distants ne sont pas autoris�s. +0xb34,Je ne peux pas virer le propri�taire du bot. +0xb35,TRANSFERT DE FICHIER REJET� +0xb37,Utilisateurs � travers le botnet 0xb38,Party line 0xb39,Canal local 0xb3a,Utilisateurs du canal -0xb3b,Aucun bot reli�. +0xb3b,Aucun bot reli�. 0xb3c,Aucune information de trace : 0xb3d,L'arborescence est trop complexe ! -0xb3e,D�connexion de tous les bots... -0xb3f,Tentative de terminer le lien � +0xb3e,D�connexion de tous les bots... +0xb3f,Tentative de terminer le lien � 0xb40,Plus aucun essai de lien avec : -0xb41,D�nouage du lien avec -0xb42,D�li� de : -0xb43,Non connect� � ce bot. +0xb41,D�nouage du lien avec +0xb42,D�li� de : +0xb43,Non connect� � ce bot. 0xb44,Vidange de la table des bots et des assocs... 0xb45,n'est pas un bot connu. -0xb46,Me relier � moi m�me ? Eh bien, mon garçon, Freud aurait trouvé cela intéressant ! -0xb47,Ce bot est d�j� connect�. -0xb48,Adresse de port telnet invalide : port enregistr� pour +0xb46,Me relier � moi m�me ? Eh bien, mon garçon, Freud aurait trouvé cela intéressant ! +0xb47,Ce bot est d�j� connect�. +0xb48,Adresse de port telnet invalide : port enregistr� pour 0xb49,Liaison avec -0xb4a,Ne peut trouver d'utilisateur � relayer ! +0xb4a,Ne peut trouver d'utilisateur � relayer ! 0xb4b,Liaison impossible avec -0xb4c,Faire un relais sur moi-m�me ? Quel est l'int�r�t ?! -0xb4d,Connexion � +0xb4c,Faire un relais sur moi-m�me ? Quel est l'int�r�t ?! +0xb4d,Connexion � 0xb4e,(Tapez *BYE* seul sur une ligne pour abandonner.) -0xb4f,Abandon de la tentative de relais � -0xb50,Vous �tes maintenant de retour sur -0xb51,Relais abandonn� : +0xb4f,Abandon de la tentative de relais � +0xb50,Vous �tes maintenant de retour sur +0xb51,Relais abandonn� : 0xb53,Perte de la connexion DCC avec -0xb54,Abandon de la tentative de relais � -0xb55,Succ�s !\n\nMAINTENANT CONNECT� AU BOT RELAIS -0xb56,(Vous pouvez taper *BYE* pour fermer la connexion pr�matur�ment.) +0xb54,Abandon de la tentative de relais � +0xb55,Succ�s !\n\nMAINTENANT CONNECT� AU BOT RELAIS +0xb56,(Vous pouvez taper *BYE* pour fermer la connexion pr�matur�ment.) 0xb57,Liaison relais : -0xb58,a quitt� la party line. -0xb59,Liaison relais termin�e -0xb5a,ABANDON DE LA CONNEXION RELAIS.\nVous �tes de retour sur +0xb58,a quitt� la party line. +0xb59,Liaison relais termin�e +0xb5a,ABANDON DE LA CONNEXION RELAIS.\nVous �tes de retour sur 0xb5b,a rejoint la party line. -0xb5c,Abandon de la liaison de relais � -0xb5d,Arr�t de la connexion � -0xb5e,Relais cass� +0xb5c,Abandon de la liaison de relais � +0xb5d,Arr�t de la connexion � +0xb5e,Relais cass� 0xb5f,Ping timeout -0xb60,cela ne ressemble pas � un comportement de leaf +0xb60,cela ne ressemble pas � un comportement de leaf 0xb61,Abandon du bot -0xb62,Connexion en cours � ce bot. +0xb62,Connexion en cours � ce bot. -0xc00,Je n'accepte pas les DCC chats des �trangers. -0xc01,DCC chat refus� (aucun acc�s) -0xc02,Aucun acc�s -0xc03,Vous devez avoir d�fini un mot de passe. -0xc04,DCC chat refus� (pas de mot de passe) -0xc05,DCC chat refus� (+x mais pas de syst�me de fichiers) -0xc07,Trop de personnes sont dans le syst�me de fichier pour l'instant. -0xc0c,D�sol�, trop de connexions DCC. +0xc00,Je n'accepte pas les DCC chats des �trangers. +0xc01,DCC chat refus� (aucun acc�s) +0xc02,Aucun acc�s +0xc03,Vous devez avoir d�fini un mot de passe. +0xc04,DCC chat refus� (pas de mot de passe) +0xc05,DCC chat refus� (+x mais pas de syst�me de fichiers) +0xc07,Trop de personnes sont dans le syst�me de fichier pour l'instant. +0xc0c,D�sol�, trop de connexions DCC. 0xc0d,Connexions DCC pleines : %s %s (%s!%s) -0xc19,�chec de la connexion -0xc1a,�chec de la connexion DCC +0xc19,�chec de la connexion +0xc1a,�chec de la connexion DCC 0xc1c,Entrez votre mot de passe. -0xc1d,%s a �t� enlev� de force pour flood.\n +0xc1d,%s a �t� enlev� de force pour flood.\n 0xc1e,-=- poof -=-\n -0xc1f,Vous avez �t� vir� de %s par %s%s%s\n -0xc20,%s a vir� %s de la party line%s%s -0xc21,DCC chat refus� (port invalide) +0xc1f,Vous avez �t� vir� de %s par %s%s%s\n +0xc20,%s a vir� %s de la party line%s%s +0xc21,DCC chat refus� (port invalide) 0xc22,Port DCC invalide 0xd00,Pas d'interaction avec IRC. # BOTNET -0xe00,Faux message rejet� -0xe01,Li� � +0xe00,Faux message rejet� +0xe01,Li� � 0xe02,Mauvais bot - je voulais %s, et j'ai eu %s -0xe03,a quitt� la +0xe03,a quitt� la 0xe04,a rejoint la 0xe05,est maintenant absent 0xe06,n'est plus absent @@ -385,50 +385,50 @@ Faites un Telnet sur le bot et entrez 'NEW' comme surnom. # dcc.c Messages 0xe08,Rejet de la liaison de %s -0xe09,Reli� � %s. -0xe0a,�chec lors de la liaison avec %s. -0xe0b,Mauvais mot de passe lors de la tentative de connexion � %s. -0xe0c,Mot de passe requis pour se connecter � %s. +0xe09,Reli� � %s. +0xe0a,�chec lors de la liaison avec %s. +0xe0b,Mauvais mot de passe lors de la tentative de connexion � %s. +0xe0c,Mot de passe requis pour se connecter � %s. 0xe0d,ERREUR lors de la liaison avec %s : %s 0xe0e,Bot perdu : %s -0xe0f,Timeout : liaison au bot %s � %s:%d -0xe10,Connect� : %s (%s/%d) +0xe0f,Timeout : liaison au bot %s � %s:%d +0xe10,Connect� : %s (%s/%d) 0xe11,Mot de passe incorrect : [%s]%s/%d -0xe12,N�gatif, Houston.\n +0xe12,N�gatif, Houston.\n 0xe13,*** %s a rejoint la party line.\n 0xe14,Connexion DCC perdue avec %s (%s/%d) 0xe15,Mot de passe timeout lors du dcc chat : [%s]%s -0xe16,Connexion DCC ferm�e (%s!%s) -0xe17,�chec de la tentative de TELNET en cours (%s) +0xe16,Connexion DCC ferm�e (%s!%s) +0xe17,�chec de la tentative de TELNET en cours (%s) 0xe18,Refus %s/%d (mauvais port source) 0xe19,*** %s est de retour.\n 0xe1a,Refus %s (mauvais hostname) 0xe1b,Connexion telnet : %s/%d -0xe1c,�chec de l'ident pour %s : %s -0xe1d,(!) Port d'�coute %d est brusquement mort. +0xe1c,�chec de l'ident pour %s : %s +0xe1d,(!) Port d'�coute %d est brusquement mort. 0xe1e,Refus %s (mauvais surnom) 0xe1f,Refus %s (ce n'est pas un bot) 0xe20,Refus %s (ce n'est pas un utilisateur) 0xe21,Refus %s (handle invalide : %s) -0xe22,Connexion telnet refus�e depuis %s (doublon) +0xe22,Connexion telnet refus�e depuis %s (doublon) 0xe23,Refus [%s]%s (aucun mot de passe) 0xe24,Connexion telnet perdue vers %s/%d 0xe25,Ident timeout lors du telnet : %s -0xe26,Installation du bot compl�te, le premier ma�tre est %s +0xe26,Installation du bot compl�te, le premier ma�tre est %s 0xe27,Nouvel utilisateur via telnet : [%s]%s/%d 0xe28,Perte du nouvel utilisateur telnet (%s/%d) 0xe29,Perte du nouvel utilisateur telnet %s (%s/%d) 0xe2a,Timeout sur le nouvel utilisateur telnet : %s/%d 0xe2b,Timeout sur le nouvel utilisateur telnet : [%s]%s/%d 0xe2c,Erreur tcl [%s] : %s -0xe2d,*** ATTENTION : DEAD SOCKET (%d) DE TYPE %s NON TRAP�E +0xe2d,*** ATTENTION : DEAD SOCKET (%d) DE TYPE %s NON TRAP�E 0xe2e,Connexion perdue pendant l'ident [%s/%d] 0xe2f,EOF ident connection 0xe30,Lost ident wait telnet socket !! -0xe31,Telnet refus� : %s, aucun acc�s +0xe31,Telnet refus� : %s, aucun acc�s 0xe32,Refus de la connexion telnet de %s (essai avec mon surnom botnet) -0xe33,Connexion telnet de %s perdue pendant la v�rification des doublons +0xe33,Connexion telnet de %s perdue pendant la v�rification des doublons 0xe34,Timeout ident connection -0xe35,Veuillez retirer le #comment de votre param�tre d'�coute et r�essayer -0xe36,Ce port est r�serv� aux bots -0xe37,Ce port est r�serv� aux utilisateurs (pas de bots) +0xe35,Veuillez retirer le #comment de votre param�tre d'�coute et r�essayer +0xe36,Ce port est r�serv� aux bots +0xe37,Ce port est r�serv� aux utilisateurs (pas de bots) diff --git a/src/mod/assoc.mod/language/assoc.danish.lang b/src/mod/assoc.mod/language/assoc.danish.lang index d4a8d6c18..27bfc4ff7 100644 --- a/src/mod/assoc.mod/language/assoc.danish.lang +++ b/src/mod/assoc.mod/language/assoc.danish.lang @@ -4,8 +4,8 @@ 0xb000,Ingen kanal navne 0xb001,Kanal 0xb002,Navn -0xb003,Kanal # ugyldigt omrde: skal vre *0-*99999 -0xb004,Kanal # ugyldigt omrde: skal vre 1-99999 +0xb003,Kanal # ugyldigt område: skal være *0-*99999 +0xb004,Kanal # ugyldigt område: skal være 1-99999 0xb005,Du kan ikke navngive hoved party line; Det er bare en party line. 0xb006,Kanalen %s%d har intet navn.\n 0xb007,Okay, fjernede navn for kanalen %s%d.\n @@ -15,5 +15,5 @@ 0xb00b,--- (%s) navngav denne kanal '%s'.\n 0xb00c,--- (%s) %s navngav denne kanal '%s'.\n 0xb00d,--- (%s) %s fjernede denne kanals navn.\n -0xb00e,Kanalens kan ikke vre s lange (max 20 tegn). -0xb00f,Frste tegn i kanalnavnet m ikke vre et tal. +0xb00e,Kanalens kan ikke være så lange (max 20 tegn). +0xb00f,Første tegn i kanalnavnet må ikke være et tal. diff --git a/src/mod/assoc.mod/language/assoc.finnish.lang b/src/mod/assoc.mod/language/assoc.finnish.lang index 492f1b29a..0080c9791 100644 --- a/src/mod/assoc.mod/language/assoc.finnish.lang +++ b/src/mod/assoc.mod/language/assoc.finnish.lang @@ -1,19 +1,19 @@ # assoc.finnish.lang # kieli viestit assoc moduuliin -0xb000,Ei kanava nime +0xb000,Ei kanava nimeä 0xb001,Kanava 0xb002,Nimi -0xb003,Kanava # vr etisyys: tytyy olla *0-*99999 -0xb004,Kanava # vr etisyys: tytyy olla 1-99999 -0xb005,Et voi nimet p party rivi; Se on juuri party rivi. -0xb006,Kanavalla %s%d ei ole nime.\n +0xb003,Kanava # väärä etäisyys: täytyy olla *0-*99999 +0xb004,Kanava # väärä etäisyys: täytyy olla 1-99999 +0xb005,Et voi nimetä pää party riviä; Se on juuri party rivi. +0xb006,Kanavalla %s%d ei ole nimeä.\n 0xb007,Okei, kanavan %s%d nimi poistettu.\n -0xb008,--- %s poistettu tmn kanavan nimi.\n +0xb008,--- %s poistettu tämän kanavan nimi.\n 0xb009,Okei, kanava %s%d on nyt '%s'.\n -0xb00a,--- %s nimetty tm kanava '%s'\n -0xb00b,--- (%s) nimetty tm kanava '%s'.\n -0xb00c,--- (%s) %s nimetty tm kanava '%s'.\n -0xb00d,--- (%s) %s poistettu tmn kanavan nimi.\n -0xb00e,Kanavan nimi ei voi olla nin pitk (maksimi pituus 20 merkki). -0xb00f,Ensimminen merkki kanavan nimess ei voi olla numero. +0xb00a,--- %s nimetty tämä kanava '%s'\n +0xb00b,--- (%s) nimetty tämä kanava '%s'.\n +0xb00c,--- (%s) %s nimetty tämä kanava '%s'.\n +0xb00d,--- (%s) %s poistettu tämän kanavan nimi.\n +0xb00e,Kanavan nimi ei voi olla näin pitkä (maksimi pituus 20 merkkiä). +0xb00f,Ensimmäinen merkki kanavan nimessä ei voi olla numero. diff --git a/src/mod/assoc.mod/language/assoc.french.lang b/src/mod/assoc.mod/language/assoc.french.lang index c9b2ebb7d..c759e6ee4 100644 --- a/src/mod/assoc.mod/language/assoc.french.lang +++ b/src/mod/assoc.mod/language/assoc.french.lang @@ -4,16 +4,16 @@ 0xb000,Pas de noms de canaux 0xb001,Canal 0xb002,Nom -0xb003,Numro de canal hors limites : doit tre dans la plage *0-*99999 -0xb004,Numro de canal hors limites : doit tre dans la plage 1-99999 +0xb003,Numéro de canal hors limites : doit être dans la plage *0-*99999 +0xb004,Numéro de canal hors limites : doit être dans la plage 1-99999 0xb005,Vous ne pouvez pas nomer le canal 0; C'est la party line. 0xb006,Le canal %s%d n'a pas de nom.\n -0xb007,Ok, nom du canal %s%d enlev.\n -0xb008,--- %s a enlev le nom de ce canal.\n +0xb007,Ok, nom du canal %s%d enlevé.\n +0xb008,--- %s a enlevé le nom de ce canal.\n 0xb009,Ok, le canal %s%d est maintenant '%s'.\n -0xb00a,--- %s a nomm ce canal '%s'\n -0xb00b,--- (%s) a nomm ce canal '%s'.\n -0xb00c,--- (%s) %s a nomm ce canal '%s'.\n -0xb00d,--- (%s) %s a enlev le nom de ce canal.\n -0xb00e,Le nom du canal ne peut pas tre aussi long (20 cars max). -0xb00f,Le premier caractre d'un nom de canal ne doit pas tre un chiffre. +0xb00a,--- %s a nommé ce canal '%s'\n +0xb00b,--- (%s) a nommé ce canal '%s'.\n +0xb00c,--- (%s) %s a nommé ce canal '%s'.\n +0xb00d,--- (%s) %s a enlevé le nom de ce canal.\n +0xb00e,Le nom du canal ne peut pas être aussi long (20 cars max). +0xb00f,Le premier caractère d'un nom de canal ne doit pas être un chiffre. diff --git a/src/mod/console.mod/language/console.finnish.lang b/src/mod/console.mod/language/console.finnish.lang index 67a7384a2..d1c36636f 100644 --- a/src/mod/console.mod/language/console.finnish.lang +++ b/src/mod/console.mod/language/console.finnish.lang @@ -9,5 +9,5 @@ 0xb045,Kaiku: 0xb046,Sivu asetukset: 0xb047,Konsoli kanava: -0xb048,kyll +0xb048,kyllä 0xb049,ei diff --git a/src/mod/console.mod/language/console.french.lang b/src/mod/console.mod/language/console.french.lang index 6925cf1d4..c93872cbd 100644 --- a/src/mod/console.mod/language/console.french.lang +++ b/src/mod/console.mod/language/console.french.lang @@ -1,8 +1,8 @@ # console.french.lang # language messages for the console module -0xb040,Paramtres de console sauvegards : -0xb041,Vos paramtres de console ont t sauvegards : +0xb040,Paramètres de console sauvegardés : +0xb041,Vos paramètres de console ont été sauvegardés : 0xb042,Canal : 0xb043,Drapeaux de console : 0xb044,Drapeaux de terminal : diff --git a/src/mod/filesys.mod/language/filesys.danish.lang b/src/mod/filesys.mod/language/filesys.danish.lang index 10ea66cb6..b29acb5d5 100644 --- a/src/mod/filesys.mod/language/filesys.danish.lang +++ b/src/mod/filesys.mod/language/filesys.danish.lang @@ -2,7 +2,7 @@ # language messages for filesys module 0x300,Konverterer filsystem billede i %s ... -0x301,filedb-update: bibliotek kan ikke bnes! +0x301,filedb-update: bibliotek kan ikke åbnes! 0x302,(!) Beskadiget konvertering til filedb i %s 0x303,Filnavn Str Sendt af/Dato # Hits\n 0x304,------------------------------ ---- ------------------- ------\n @@ -14,43 +14,43 @@ 0x30a,(fjern) 0x30b,Fejl under afsendelse af fil 0x30c,(sender) -0x30d,Fjern-foresprgsel p /%s%s%s (sender) -0x30e,\nFilesystemet ser ud til at vre beskadiget nu her.\n +0x30d,Fjern-forespørgsel på /%s%s%s (sender) +0x30e,\nFilesystemet ser ud til at være beskadiget nu her.\n 0x30f,(files-path er sat til en ugyldig sti.)\n 0x310,Aktuelt bibliotek 0x311,Nyt aktuelt bibliotek -0x312,Intet sdanne bibliotek.\n +0x312,Intet sådanne bibliotek.\n 0x313,Ugyldigt bibliotek.\n -0x314,Vr fornuftig.\n -0x315,%s er ikke tilgngelig lige nu.\n -0x316,nsket %s fra %s ...\n +0x314,Vær fornuftig.\n +0x315,%s er ikke tilgængelig lige nu.\n +0x316,Ønsket %s fra %s ...\n 0x317,%s er allerede en normal fil.\n -0x318,ndrede link til %s\n +0x318,Ændrede link til %s\n 0x319,Du uploadede ikke %s\n 0x31a,Oprettede bibliotek -0x31b,Krver +%s for adgang\n -0x31c,ndrede %s/ til at krve +%s for adgang\n -0x31d,ndrede %s/ til at krve ingen flags for adgang\n +0x31b,Kræver +%s for adgang\n +0x31c,Ændrede %s/ til at kræve +%s for adgang\n +0x31d,Ændrede %s/ til at kræve ingen flags for adgang\n 0x31e,Fjernede bibliotek 0x31f,Ugyldigt kildebibliotek.\n 0x320,Ugyldigt destinationsbibliotek.\n -0x321,Du kan ikke %s filer p toppen af dem selv.\n +0x321,Du kan ikke %s filer på toppen af dem selv.\n 0x322,findes som et bibliotek -- springer over -0x323,P sig selv? Nuh uh. +0x323,På sig selv? Nuh uh. 0x324,Destination 0x325,kopi 0x326,Kopieret 0x327,flyt 0x328,Flyttet 0x329,Kunne ikke skrive -0x32a,krver +0x32a,kræver 0x32b,Skjult 0x32c,Uskjult 0x32d,Delt 0x32e,Udelt 0x32f,Added link -0x330,ndret -0x331,Tmt +0x330,Ændret +0x331,Tømt 0x332,Slettet 0x33a,Velkommen til %B's filserver\n -0x33b,Alle filoverfrsler vil blive sendt til '%N' som standard.\n(Du kan angive et supplerende nick med 'get' funktionen.)\nSkriv 'help' for hjlp.\n +0x33b,Alle filoverførsler vil blive sendt til '%N' som standard.\n(Du kan angive et supplerende nick med 'get' funktionen.)\nSkriv 'help' for hjælp.\n diff --git a/src/mod/filesys.mod/language/filesys.finnish.lang b/src/mod/filesys.mod/language/filesys.finnish.lang index 5fe14b594..fa762fad8 100644 --- a/src/mod/filesys.mod/language/filesys.finnish.lang +++ b/src/mod/filesys.mod/language/filesys.finnish.lang @@ -1,43 +1,43 @@ # filesys.finnish.lang -# kieli tiedostot tiedostojrjestelm moduuliin +# kieli tiedostot tiedostojärjestelmä moduuliin -0x300,Muutetaan tiedostojrjestelm imagea %s ... +0x300,Muutetaan tiedostojärjestelmä imagea %s ... 0x301,filedb-update: Ei pysty avata kansiota! -0x302,(!) Rikkininen muunnos filedbst %s -0x303,Tiedostonimi Koko Lhetetty/Piv # Ota\n +0x302,(!) Rikkinäinen muunnos filedbstä %s +0x303,Tiedostonimi Koko Lähetetty/Päivä # Ota\n 0x304,------------------------------ ---- ------------------- ------\n -0x305,Ei tiedostoja tss kansiossa.\n +0x305,Ei tiedostoja tässä kansiossa.\n 0x306,Ei vastaavia tiedostoja.\n 0x307,Kansiota ei ole olemassa 0x308,Tiedosto ei ole olemassa 0x309,Tiedosto ei jaettu -0x30a,(etinen) -0x30b,Ongelmia tiedoston lhetys yrityksess -0x30c,(lhetetty) -0x30d,Etinen pyynt /%s%s%s (lhetetn) -0x30e,\nTiedostojrjestelm vaikuttaa rikkiniselt juuri nyt.\n +0x30a,(etäinen) +0x30b,Ongelmia tiedoston lähetys yrityksessä +0x30c,(lähetetty) +0x30d,Etäinen pyyntö /%s%s%s (lähetetään) +0x30e,\nTiedostojärjestelmä vaikuttaa rikkinäiseltä juuri nyt.\n 0x30f,(Tiedosto-polku on asetettu vialliseen kansioon.)\n 0x310,Nykyinen hakemisto 0x311,Uusi nykyinen hakemisto 0x312,Ei sellaista kansiota.\n 0x313,Laiton kansio.\n -0x314,Ole jrkev.\n +0x314,Ole järkevä.\n 0x315,%s ei ole saatavissa juuri nyt.\n -0x316,Pyynt %s %s lta...\n +0x316,Pyyntö %s %s lta...\n 0x317,%s on jo normaali tiedosto.\n 0x318,Vaihdettu linkki %s\n -0x319,Sin et uploadaa %s\n +0x319,Sinä et uploadaa %s\n 0x31a,Kansio luotu 0x31b,Tarvitsee +%s oikeuden\n 0x31c,Vaihdettu %s/ tarvittavaan +%s oikeuteen\n 0x31d,Vaihdettu %s/ tarvittavat merkit oikeuksiin\n 0x31e,Kansio poistettu -0x31f,Laiton lhde kansio.\n -0x320,Laiton mrnp kansio.\n -0x321,Et voi %s tiedostoja huipulle itseltn.\n +0x31f,Laiton lähde kansio.\n +0x320,Laiton määränpää kansio.\n +0x321,Et voi %s tiedostoja huipulle itseltään.\n 0x322,kansio on olemassa -- ohitetaan 0x323,itselleen? huh huh. -0x324,Mrnp +0x324,Määränpää 0x325,kopioi 0x326,Kopioitu 0x327,liiku @@ -48,9 +48,9 @@ 0x32c,Ei piilotettu 0x32d,Jaettu 0x32e,Ei jaettu -0x32f,Listty linkki +0x32f,Lisätty linkki 0x330,Vaihdettu 0x331,Tyhjennetty 0x332,Tyhjennetty 0x33a,Tervetuloa %B tiedosto serveriin\n -0x33b,Kaikki tiedonsiirrot lhetetn '%N' vakiona.\n(Voit mritell vaihtoehtoisen nickkin 'get' komennolla.)\nKomennolla 'help' saat +0x33b,Kaikki tiedonsiirrot lähetetään '%N' vakiona.\n(Voit määritellä vaihtoehtoisen nickkin 'get' komennolla.)\nKomennolla 'help' saat diff --git a/src/mod/filesys.mod/language/filesys.french.lang b/src/mod/filesys.mod/language/filesys.french.lang index 4e0c7c81e..98cbeeea8 100644 --- a/src/mod/filesys.mod/language/filesys.french.lang +++ b/src/mod/filesys.mod/language/filesys.french.lang @@ -2,59 +2,59 @@ # language messages for filesys module # # Traduction par Fraggle, merci de me contacter -# benoit_jerome@penguinpowered.com +# à benoit_jerome@penguinpowered.com # si vous voulez y contribuer. -0x300,Conversion de l'image du systme de fichier dans %s ... -0x301,filedb-update: ne peut ouvrir le rpertoire! -0x302,(!) Conversion casse de filedb dans %s -0x303,Nom de ficher Taille Envoy par/Date # Pris\n +0x300,Conversion de l'image du système de fichier dans %s ... +0x301,filedb-update: ne peut ouvrir le répertoire! +0x302,(!) Conversion cassée de filedb dans %s +0x303,Nom de ficher Taille Envoyé par/Date # Pris\n 0x304,------------------------------ ------ ------------------- ------\n -0x305,Aucuns fichers dans ce rpertoire.\n +0x305,Aucuns fichers dans ce répertoire.\n 0x306,Aucun fichier ne correspond.\n -0x307,Le rpertoire n'existe pas +0x307,Le répertoire n'existe pas 0x308,Le fichier n'existe pas -0x309,Le fichier n'est pas partag +0x309,Le fichier n'est pas partagé 0x30a,(distant) 0x30b,Erreur lors de la tentative d'envoi du ficher 0x30c,(envoi) -0x30d,Requte distante pour /%s%s%s (envoi) -0x30e,\nLe systme de fichier semble tre cass en ce moment.\n -0x30f,(Le files-path est dfini dans un rpertoire incorrect.)\n -0x310,Rpertoire courant -0x311,Nouveau rpertoire courant -0x312,Aucun rpertoire de ce type.\n -0x313,Rpertoire incorrect.\n +0x30d,Requête distante pour /%s%s%s (envoi) +0x30e,\nLe système de fichier semble être cassé en ce moment.\n +0x30f,(Le files-path est défini dans un répertoire incorrect.)\n +0x310,Répertoire courant +0x311,Nouveau répertoire courant +0x312,Aucun répertoire de ce type.\n +0x313,Répertoire incorrect.\n 0x314,Soyez raisonnable.\n 0x315,%s n'est pas disponible actuellement.\n 0x316,Demande de %s de %s ...\n -0x317,%s est dj un ficher normal.\n -0x318,Changement de la liaison %s\n -0x319,Vous n'avez rien dpos %s\n -0x31a,Cration du rpertoire -0x31b,Obligation d'avoir +%s pour l'accs\n +0x317,%s est déjà un ficher normal.\n +0x318,Changement de la liaison à %s\n +0x319,Vous n'avez rien déposé %s\n +0x31a,Création du répertoire +0x31b,Obligation d'avoir +%s pour l'accès\n 0x31c,Changed %s/ to require +%s to access\n 0x31d,Changes %s/ to require no flags to access\n -0x31e,Suppression du rpertoire -0x31f,Rpertoire source incorrect.\n -0x320,Rpertoire destination incorrect.\n -0x321,vous ne pouvez pas %s des fichers au dessus d'eux mmes.\n -0x322,existe en tant que rpertoire -- interrompre -0x323,sur lui mme? Nuh uh. +0x31e,Suppression du répertoire +0x31f,Répertoire source incorrect.\n +0x320,Répertoire destination incorrect.\n +0x321,vous ne pouvez pas %s des fichers au dessus d'eux mêmes.\n +0x322,existe en tant que répertoire -- interrompre +0x323,sur lui même? Nuh uh. 0x324,Destination 0x325,copier -0x326,Copi -0x327,dplacer -0x328,Dplac -0x329,Ne peut crire -0x32a,est ncessaire -0x32b,Cach +0x326,Copié +0x327,déplacer +0x328,Déplacé +0x329,Ne peut écrire +0x32a,est nécessaire +0x32b,Caché 0x32c,Visible -0x32d,Partag -0x32e,Non partag +0x32d,Partagé +0x32e,Non partagé 0x32f,Ajout d'une liaison -0x330,Chang +0x330,Changé 0x331,Blanked -0x332,Supprim +0x332,Supprimé 0x33a,Bienvenue sur le serveur de fichiers de %B\n -0x33b,Tous les transferts de fichiers seront transmis '%N' par dfaut.\n(Vous pouvez spcifier un surnom alternatif avec la commande 'get'.)\nTapez 'help' pour l'aide.\n +0x33b,Tous les transferts de fichiers seront transmis à '%N' par défaut.\n(Vous pouvez spécifier un surnom alternatif avec la commande 'get'.)\nTapez 'help' pour l'aide.\n diff --git a/src/mod/notes.mod/language/notes.danish.lang b/src/mod/notes.mod/language/notes.danish.lang index 32428872c..f3675eff0 100644 --- a/src/mod/notes.mod/language/notes.danish.lang +++ b/src/mod/notes.mod/language/notes.danish.lang @@ -3,43 +3,43 @@ 0xc000, Videresend notitser til: %.70s\n 0xc001,Skiftede %d notits%s fra %s til %s. -0xc002,Udlbne %d notits%s +0xc002,Udløbne %d notits%s 0xc003,Ikke online; videresendt til %s.\n -0xc004,Notitser er ikke understttet af denne bot. -0xc005,Desvrre, den bruger har allerede for mange notitser. -0xc006,Kan ikke oprette notitsfil. Desvrre. -0xc007,Notitsfil utilgngelig! +0xc004,Notitser er ikke understøttet af denne bot. +0xc005,Desværre, den bruger har allerede for mange notitser. +0xc006,Kan ikke oprette notitsfil. Desværre. +0xc007,Notitsfil utilgængelig! 0xc008,Gemt meddelse 0xc009,Du har ingen meddelelser -0xc00a, -- UDLBER I DAG -0xc00b, -- UDLBER OM %d DAG(E)%s -0xc00c,Du har flgende notitser ventende -0xc00d,Du har ikke s mange beskeder -0xc00e,Brug '.notes read' for at lse dem. +0xc00a, -- UDLØBER I DAG +0xc00b, -- UDLØBER OM %d DAG(E)%s +0xc00c,Du har følgende notitser ventende +0xc00d,Du har ikke så mange beskeder +0xc00e,Brug '.notes read' for at læse dem. 0xc00f,Kan ikke rette notitsfilen 0xc010,Slettede alle notitser 0xc011,Slettet 0xc012,tilbage -0xc013,'#' kan vre numre og/eller intervaller adskilt med ';'. +0xc013,'#' kan være numre og/eller intervaller adskilt med ';'. 0xc014,Det er en bot. Du kan ikke sende notitser til en bot. 0xc015,Outside notits 0xc016,Notits sendt. 0xc017,For en liste: 0xc019,### Du har %d notits(er)%s ventende.\n 0xc01b,Notitser vil blive gemt. -0xc01c,Du har ikke tilladelse til at ndre notitsignoreringer for %s\n +0xc01c,Du har ikke tilladelse til at ændre notitsignoreringer for %s\n 0xc01d,Brugeren %s findes ikke.\n 0xc01e,Ignorerer nu notitser fra %s\n 0xc01f,Ignorerer allerede %s\n -0xc020,Ignorerer ikke lngere notitser fra %s\n +0xc020,Ignorerer ikke længere notitser fra %s\n 0xc021,Notits ignorering %s blev ikke fundet i listen.\n 0xc022,Der findes ingen notits ignoreringer.\n 0xc023,Notits ignoreringer for %s:\n 0xc024,Bruger findes ikke. -0xc025,Kan ikke ndre notitsvideresendelse af bottens ejer.\n +0xc025,Kan ikke ændre notitsvideresendelse af bottens ejer.\n 0xc026,Slettede notitsvideresendelse for %s\n 0xc027,Du skal angive et botnavn at videresende til. -0xc028,ndrede notitsvideresendelse for %s til: %s\n -0xc029,Funktion skal vre en af flgende: INDEX, READ eller ERASE. -0xc02a,Brug '.notes read' for at lse den. +0xc028,Ændrede notitsvideresendelse for %s til: %s\n +0xc029,Funktion skal være en af følgende: INDEX, READ eller ERASE. +0xc02a,Brug '.notes read' for at læse den. 0xc02b,NOTICE %s :Du har %d note%s ventende.\n diff --git a/src/mod/notes.mod/language/notes.finnish.lang b/src/mod/notes.mod/language/notes.finnish.lang index 34127703f..76c6ef065 100644 --- a/src/mod/notes.mod/language/notes.finnish.lang +++ b/src/mod/notes.mod/language/notes.finnish.lang @@ -3,43 +3,43 @@ 0xc000, Siirrettu viestit: %.70s\n 0xc001,Vaihdettu %d note%s %s %s. -0xc002,Erntyvt %d note%s -0xc003,Ei paikalla; siirretn %s.\n -0xc004,Viestit eivt ole tuettu tll botilla. -0xc005,Sori, tll kyttjll on liian monta vieti ennestn. +0xc002,Erääntyvät %d note%s +0xc003,Ei paikalla; siirretään %s.\n +0xc004,Viestit eivät ole tuettu tällä botilla. +0xc005,Sori, tällä käyttäjällä on liian monta vietiä ennestään. 0xc006,Ei pysty luomaan viestitiedostoa. Anteeksi. 0xc007,Viestitiedosto saavuttamaton! 0xc008,Varastoitu viesti -0xc009,Sinulle ei ole viestej -0xc00a, -- ERNTYVT TNN -0xc00b, -- ERNTYVT %d PIVN%s +0xc009,Sinulle ei ole viestejä +0xc00a, -- ERÄÄNTYVÄT TÄNÄÄN +0xc00b, -- ERÄÄNTYVÄT %d PÄIVÄNÄ%s 0xc00c,Sinulla on seuraavat viesti(t) odottamassa -0xc00d,Sinullea ei ole nin monta viesti -0xc00e,Kyt '.notes read' lukeaksesi ne. +0xc00d,Sinullea ei ole näin monta viestiä +0xc00e,Käytä '.notes read' lukeaksesi ne. 0xc00f,Ei pysty muuttamaan viesti tiedostoa 0xc010,Kaikki viestit poistettu 0xc011,Poistettu -0xc012,lljell -0xc013,'#' ehk numerot ja/tai eritetty erilleen ';'. -0xc014,Tm on botti. Et pysty jttmn viestej botille. +0xc012,läljellä +0xc013,'#' ehkä numerot ja/tai eritetty erilleen ';'. +0xc014,Tämä on botti. Et pysty jättämään viestejä botille. 0xc015,Ulkopuolinen viesti 0xc016,Note toimitettu. 0xc017,Listalla: -0xc019,### Sinulla on %d viesti%s odottamassa.\n +0xc019,### Sinulla on %d viestiä%s odottamassa.\n 0xc01b,Viestit on varastoitu. -0xc01c,Sinun ei ole sallitty vaihtaa viestej %s\n -0xc01d,Kyttj %s ei ole paikalla.\n -0xc01e,Nyt huomioitavia viestej %s\n +0xc01c,Sinun ei ole sallitty vaihtaa viestejä %s\n +0xc01d,Käyttäjä %s ei ole paikalla.\n +0xc01e,Nyt huomioitavia viestejä %s\n 0xc01f,Valmiiksi ei huomioitu %s\n -0xc020,Ei pitki huomioitavia viestej %s\n -0xc021,Huomaa huomioitavat %s eivt lydy listalta.\n -0xc022,Ei esitt huomioitavia viestej.\n +0xc020,Ei pitkiä huomioitavia viestejä %s\n +0xc021,Huomaa huomioitavat %s eivät löydy listalta.\n +0xc022,Ei esittää huomioitavia viestejä.\n 0xc023,Ei huomioitavaa %s:\n -0xc024,Ei sellaista kyttj. +0xc024,Ei sellaista käyttäjää. 0xc025,Et pysty vaihtamaan viestien ohjausta botin omistajalle.\n 0xc026,Pyyhitty viestit ohjautumaan %s\n -0xc027,Sinun tytyy hankkia botinnimi ohjaukseen. +0xc027,Sinun täytyy hankkia botinnimi ohjaukseen. 0xc028,Viestien uudelleenohjaus vaihdettu %s %s\n -0xc029,Function tytyy olla yksi nist INDEX, READ, tai ERASE. -0xc02a,Kyt komentoa '.notes read' lukeaksesi sen. +0xc029,Function täytyy olla yksi näistä INDEX, READ, tai ERASE. +0xc02a,Käytä komentoa '.notes read' lukeaksesi sen. 0xc02b,NOTICE %s :Sinulla on %d note%s odottamassa.\n diff --git a/src/mod/notes.mod/language/notes.french.lang b/src/mod/notes.mod/language/notes.french.lang index a2ae211bc..69907d0e5 100644 --- a/src/mod/notes.mod/language/notes.french.lang +++ b/src/mod/notes.mod/language/notes.french.lang @@ -1,15 +1,15 @@ # notes.french.lang # language messages for the notes module -0xc000, Fait suivre les notes : %.70s\n -0xc001,%d note%s transfres de %s %s. -0xc002,%d note%s expires -0xc003,Non en ligne ; transmis %s.\n -0xc004,Les notes ne sont pas supportes par ce bot. -0xc005,Dsol, cet utilisateur a dja trop de notes. -0xc006,Je ne peut pas crer de fichier de note. Dsol. +0xc000, Fait suivre les notes à : %.70s\n +0xc001,%d note%s transférées de %s à %s. +0xc002,%d note%s expirées +0xc003,Non en ligne ; transmis à %s.\n +0xc004,Les notes ne sont pas supportées par ce bot. +0xc005,Désolé, cet utilisateur a déja trop de notes. +0xc006,Je ne peut pas créer de fichier de note. Désolé. 0xc007,Fichier de notes illisible! -0xc008,Message stock +0xc008,Message stocké 0xc009,Vous n'avez pas de messages 0xc00a, -- EXPIRE AUJOURD'HUI 0xc00b, -- EXPIRE DANS %d JOUR%s @@ -17,29 +17,29 @@ 0xc00d,Vous n'avez pas autant de messages 0xc00e,Utilisez '.notes read' pour les lire. 0xc00f,Je ne peux pas modifier le fichier de notes -0xc010,Toutes les notes on t effaces -0xc011,Effac +0xc010,Toutes les notes on été effacées +0xc011,Effacé 0xc012,reste -0xc013,'#' peut tre des nombres et/ou intervalles spar par ';'. +0xc013,'#' peut être des nombres et/ou intervalles séparé par ';'. 0xc014,C'est un bot. Vous ne pouvez pas laisser de notes aux bots. 0xc015,Note externe -0xc016,Note dlivre. +0xc016,Note délivrée. 0xc017,Pour la liste : 0xc019,### vous avez %d note%s en attente.\n -0xc01b,Les notes seront stockes. -0xc01c,Vous n'tes pas autoris changer l'ignorance des notes pour %s\n +0xc01b,Les notes seront stockées. +0xc01c,Vous n'êtes pas autorisé à changer l'ignorance des notes pour %s\n 0xc01d,L'utilisateur %s n'existe pas.\n -0xc01e,Les notes de %s sont ignores partir de maintenant\n -0xc01f,J'ignore dja les notes de %s\n -0xc020,Les notes de %s ne sont plus ignores\n -0xc021,Ignorance de note %s non prsent dans la liste.\n +0xc01e,Les notes de %s sont ignorées à partir de maintenant\n +0xc01f,J'ignore déja les notes de %s\n +0xc020,Les notes de %s ne sont plus ignorées\n +0xc021,Ignorance de note %s non présent dans la liste.\n 0xc022,Pas d'ignorance de notes.\n 0xc023,Ignorances de note pour %s :\n 0xc024,Utilisateur inconnu. -0xc025,Vous ne pouvez pas changer le suivi de notes du propritaire du bot.\n +0xc025,Vous ne pouvez pas changer le suivi de notes du propriétaire du bot.\n 0xc026,Supression du suivi de notes de %s\n -0xc027,Vous devez fournir un nom de bot qui faire suivre les notes. -0xc028,Changement de l'ignorance des notes de %s : %s\n -0xc029,La fonction doit tre INDEX, READ, ou ERASE. +0xc027,Vous devez fournir un nom de bot à qui faire suivre les notes. +0xc028,Changement de l'ignorance des notes de %s à : %s\n +0xc029,La fonction doit être INDEX, READ, ou ERASE. 0xc02a,Utilisez '.notes read' pour le lire. 0xc02b,NOTICE %s :Vous avez %d note%s en attente.\n diff --git a/src/mod/transfer.mod/language/transfer.danish.lang b/src/mod/transfer.mod/language/transfer.danish.lang index 37263e163..22b1e985e 100644 --- a/src/mod/transfer.mod/language/transfer.danish.lang +++ b/src/mod/transfer.mod/language/transfer.danish.lang @@ -2,62 +2,62 @@ # language messages for transfer module 0xf00,Afviste dcc get %s: kopi til midlertidig placering FEJLEDE! -0xf01,NOTICE %s :Filsystem fejl; fjerner filer fra ken.\n +0xf01,NOTICE %s :Filsystem fejl; fjerner filer fra køen.\n 0xf02,NOTICE %s :Her er en fil fra %s ...\n 0xf03,DCC forbindelser fyldt: GET %s [%s] -0xf04,NOTICE %s :DCC forbindelser fyldt; fjerner filer fra ken.\n +0xf04,NOTICE %s :DCC forbindelser fyldt; fjerner filer fra køen.\n 0xf05,DCC socket fejl: GET %s [%s] -0xf06,NOTICE %s :DCC socket fejl; fjerner filer fra ken.\n +0xf06,NOTICE %s :DCC socket fejl; fjerner filer fra køen.\n 0xf07,Stoppede dcc get %s: File er tom! -0xf08,NOTICE %s :File %s er tom, stopper overfrsel.\n +0xf08,NOTICE %s :File %s er tom, stopper overførsel.\n 0xf09, Send til %s Filnavn\n 0xf0a, ---------%s --------------------\n 0xf0b, %s%s %s [VENTER]\n -0xf0c, %s%s %s (%.1f%% frdig)\n -0xf0d,Ingen filer i k.\n +0xf0c, %s%s %s (%.1f%% færdig)\n +0xf0d,Ingen filer i kø.\n 0xf0e,Total: %d\n 0xf0f,Annulleret: %s til %s\n 0xf10,Annulleret: %s (annullerede dcc send)\n -0xf11,NOTICE %s :Overfrsel af %s annulleret af %s\n -0xf12,DCC annulleret: GET %s (%s) p %lu/%lu +0xf11,NOTICE %s :Overførsel af %s annulleret af %s\n +0xf12,DCC annulleret: GET %s (%s) på %lu/%lu 0xf13,Ingen matcher.\n 0xf14,Annullerede %d fil%s.\n -0xf15,Frdiggjorde dcc send %s fra %s!%s -0xf16,Filnavn %d lngde. Alt for LANG. -0xf17,NOTICE %s :Filnavn %d lngde alt for LANG!\n +0xf15,Færdiggjorde dcc send %s fra %s!%s +0xf16,Filnavn %d længde. Alt for LANG. +0xf17,NOTICE %s :Filnavn %d længde alt for LANG!\n 0xf18,To Bad So Sad Your Dad! 0xf19,NOTICE %s :To Bad So Sad Your Dad!\n 0xf1a,FEJLEDE flyt `%s' fra midlertidig placering! Fil mistet! 0xf1b,Tak for filen!\n 0xf1c,NOTICE %s :Tak for filen!\n -0xf1d,Mistede brugerfil overfrsel fra %s; annullerer. +0xf1d,Mistede brugerfil overførsel fra %s; annullerer. # 0xf1e, < this one is now empty / denne er nu tom -0xf1f,Afbrudt %s (annullerede brugerfil overfrsel) +0xf1f,Afbrudt %s (annullerede brugerfil overførsel) 0xf20,Mistede dcc send %s fra %s!%s (%lu/%lu) 0xf21,(!) reget pakke fra %s til %s er ugyldig! -0xf22,!! Genoptager filoverfrsel efter fil slutning fra %s til %s -0xf23,!!! Prver at springe forud ved brugerfil overfrsel -0xf24,Genoptager filoverfrsel p %dk for %s til %s -0xf25,Gennemfrte brugerfil overfrsel til %s. -0xf26,Gennemfrte dcc send %s til %s -0xf27,Mistede brugerfil overfrsel; annullerer. +0xf22,!! Genoptager filoverførsel efter fil slutning fra %s til %s +0xf23,!!! Prøver at springe forud ved brugerfil overførsel +0xf24,Genoptager filoverførsel på %dk for %s til %s +0xf25,Gennemførte brugerfil overførsel til %s. +0xf26,Gennemførte dcc send %s til %s +0xf27,Mistede brugerfil overførsel; annullerer. 0xf28,Mistede dcc get %s fra %s!%s -0xf29,NOTICE %s :Falsk fillngde.\n +0xf29,NOTICE %s :Falsk fillængde.\n 0xf2a,Fil for lang: dropper dcc send %s fra %s!%s -0xf2b,Timeout ved brugerfil overfrsel. -0xf2c,Afbrudt %s (timed-out brugerfil overfrsel) -0xf2d,NOTICE %s :Timeout under overfrsel, annullerer %s.\n +0xf2b,Timeout ved brugerfil overførsel. +0xf2c,Afbrudt %s (timed-out brugerfil overførsel) +0xf2d,NOTICE %s :Timeout under overførsel, annullerer %s.\n 0xf2f,DCC timeout: GET %s (%s) ved %lu/%lu 0xf30,DCC timeout: SEND %s (%s) ved %lu/%lu 0xf31,send (%lu)/%lu\n Filnavn: %s\n 0xf32,send ventede %lus\n Filnavn: %s\n 0xf33,conn send 0xf34,DCC forbindelse: SEND %s (%s) -0xf35,NOTICE %s :Drlig forbindelse (%s)\n -0xf36,DCC drlig forbindelse: GET %s (%s!%s) +0xf35,NOTICE %s :Dårlig forbindelse (%s)\n +0xf36,DCC dårlig forbindelse: GET %s (%s!%s) 0xf37,Begynd DCC %ssend %s til %s 0xf38,re 0xf39,NOTICE %s :Ignorerer genoptagelse af `%s': ingen data anmodet.\n -0xf40,Fjener overfrsel (transfer) modul, drber alle overfrsel (transfer) forbindelser... -0xf41, DCC blok strrelse: %d%s\n +0xf40,Fjener overførsel (transfer) modul, dræber alle overførsel (transfer) forbindelser... +0xf41, DCC blok størrelse: %d%s\n 0xf42, Max samtidige downloads per bruger: %d\n diff --git a/src/mod/transfer.mod/language/transfer.finnish.lang b/src/mod/transfer.mod/language/transfer.finnish.lang index 1c480831a..8380a3297 100644 --- a/src/mod/transfer.mod/language/transfer.finnish.lang +++ b/src/mod/transfer.mod/language/transfer.finnish.lang @@ -1,63 +1,63 @@ # transfer.finnish.lang # kieli viestit siirto moduuliin -0xf00,Evtn dcc saanti %s: kopiointi väliaikainen sijainti PERUTTU! -0xf01,NOTICE %s :Tiedostojrjestelm on rikkoontunut; perutaan queue tiedostot.\n -0xf02,NOTICE %s :Tll on tiedosto %s lta ...\n -0xf03,DCC yhteydet tynn: GET %s [%s] -0xf04,NOTICE %s :DCC yhteydet tynn; perutaan queue tiedostot.\n +0xf00,Evätään dcc saanti %s: kopiointi väliaikainen sijainti PERUTTU! +0xf01,NOTICE %s :Tiedostojärjestelmä on rikkoontunut; perutaan queue tiedostot.\n +0xf02,NOTICE %s :Täällä on tiedosto %s lta ...\n +0xf03,DCC yhteydet täynnä: GET %s [%s] +0xf04,NOTICE %s :DCC yhteydet täynnä; perutaan queue tiedostot.\n 0xf05,DCC hylsy virhe: GET %s [%s] 0xf06,NOTICE %s :DCC hylsy virhe; peruutetaan queue tiedostot.\n -0xf07,Perutaan dcc get %s: Tiedosto on tyhj! -0xf08,NOTICE %s :Tiedosto %s on tyhj, peruutetaan siirto.\n -0xf09, Lhett %s Tiedostoni\n +0xf07,Perutaan dcc get %s: Tiedosto on tyhjä! +0xf08,NOTICE %s :Tiedosto %s on tyhjä, peruutetaan siirto.\n +0xf09, Lähettää %s Tiedostoni\n 0xf0a, ---------%s --------------------\n 0xf0b, %s%s %s [WAITING]\n 0xf0c, %s%s %s (%.1f%% done)\n 0xf0d,Ei tiedostoja queuessa.\n -0xf0e,Yhteens: %d\n +0xf0e,Yhteensä: %d\n 0xf0f,Peruutettuja: %s %s lle\n -0xf10,Peruutettuja: %s (peruutetaan dcc lhetys)\n +0xf10,Peruutettuja: %s (peruutetaan dcc lähetys)\n 0xf11,NOTICE %s :Siirto %s peruutettu %s\n 0xf12,DCC peruutettu: GET %s (%s) %lu/%lu lta 0xf13,Ei vastaavia.\n 0xf14,Peruutettu %d file%s.\n -0xf15,dcc lhetys onnistunut %s %s!%s lta -0xf16,Tiedostonimen %d pituus. Liian PITK. -0xf17,NOTICE %s :Tiedostonimen %d pituus liian PITK!\n -0xf18,Liian Huono Kuten Issi! -0xf19,NOTICE %s :Liian Huono Kuten Issi!\n -0xf1a,PERUUTETTU siirto `%s' väliaikainen sijainti! Tiedosto kadonnut! +0xf15,dcc lähetys onnistunut %s %s!%s lta +0xf16,Tiedostonimen %d pituus. Liian PITKÄ. +0xf17,NOTICE %s :Tiedostonimen %d pituus liian PITKÄ!\n +0xf18,Liian Huono Kuten Isäsi! +0xf19,NOTICE %s :Liian Huono Kuten Isäsi!\n +0xf1a,PERUUTETTU siirto `%s' väliaikainen sijainti! Tiedosto kadonnut! 0xf1b,Kiitos tiedostosta!\n 0xf1c,NOTICE %s :Kiitos tiedostosta!\n -0xf1d,Hukataan kyttjtiedoston siirto %s; perutaan. -# 0xf1e, < Tm yksi on nyt tyhj -0xf1f,Katkaistiin %s (kyttjtiedoston siirto peruttiin) -0xf20,dcc lhetys hukattu %s %s!%s (%lu/%lu) +0xf1d,Hukataan käyttäjätiedoston siirto %s; perutaan. +# 0xf1e, < Tämä yksi on nyt tyhjä +0xf1f,Katkaistiin %s (käyttäjätiedoston siirto peruttiin) +0xf20,dcc lähetys hukattu %s %s!%s (%lu/%lu) 0xf21,(!) paketit %s %s on viallinen! 0xf22,!! Jatketaan tiedoston siirtoa %s %s -0xf23,!!! Yritetn ohittaa edell oleva kyttjtiedoston siirto +0xf23,!!! Yritetään ohittaa edellä oleva käyttäjätiedoston siirto 0xf24,Jatketaan tiedoston siirtoa%dk %s %s -0xf25,kyttjtiedoston siirto onnistunut %s lle. -0xf26,lhetys onnistunut DCC %s %s lle -0xf27,kyttjtiedoston siirto hukattu; peruutetaan. +0xf25,käyttäjätiedoston siirto onnistunut %s lle. +0xf26,lähetys onnistunut DCC %s %s lle +0xf27,käyttäjätiedoston siirto hukattu; peruutetaan. 0xf28,dcc get hukkunut %s %s!%s lta 0xf29,NOTICE %s :Outo tiedoston koko.\n -0xf2a,Tiedosto liian iso: tiputetaan dcc lhetys %s %s!%s lta -0xf2b,Tiputus kyttjtiedoston siirrossa. -0xf2c,Katkaistaan %s (tiputus kyttjtiedoston siirrossa) +0xf2a,Tiedosto liian iso: tiputetaan dcc lähetys %s %s!%s lta +0xf2b,Tiputus käyttäjätiedoston siirrossa. +0xf2c,Katkaistaan %s (tiputus käyttäjätiedoston siirrossa) 0xf2d,NOTICE %s :Tauko siirron aikana, peruutetaan %s.\n 0xf2f,DCC tauko: GET %s (%s) %lu/%lu lle 0xf30,DCC tauko: SEND %s (%s) %lu/%lu lle -0xf31,lgett (%lu)/%lu\n Tiedostonimi: %s\n -0xf32,lhett odottaa %lus\n Tiedostonimi: %s\n -0xf33,yhteis lhetys +0xf31,lägettää (%lu)/%lu\n Tiedostonimi: %s\n +0xf32,lähettää odottaa %lus\n Tiedostonimi: %s\n +0xf33,yhteis lähetys 0xf34,DCC yhteys: SEND %s (%s) 0xf35,NOTICE %s :Huono yhteys (%s)\n 0xf36,DCC huono yhteys: GET %s (%s!%s) -0xf37,Aloitetaan DCC %slhetys %s %slle +0xf37,Aloitetaan DCC %slähetys %s %slle 0xf38,koskien 0xf39,NOTICE %s :Ei huomioida jatkamista `%s'lta: ei data anomuksia.\n 0xf40,Poistetaan siirto moduuli, suljetaan kaikki siirto yhteydet... 0xf41, DCC jakso koko: %d%s\n -0xf42, Maksimit samanaikaiset kopioinnit per kyttj: %d\n +0xf42, Maksimit samanaikaiset kopioinnit per käyttäjä: %d\n diff --git a/src/mod/transfer.mod/language/transfer.french.lang b/src/mod/transfer.mod/language/transfer.french.lang index 2c5b7df3c..4ee2e3b2b 100644 --- a/src/mod/transfer.mod/language/transfer.french.lang +++ b/src/mod/transfer.mod/language/transfer.french.lang @@ -1,63 +1,63 @@ # transfer.french.lang # language messages for transfer module -0xf00,Refus de rception dcc %s : copie au emplacement temporaire IMPOSSIBLE ! -0xf01,NOTICE %s :Le systme de fichier est H.S.; annulation des fichiers en attente.\n +0xf00,Refus de réception dcc %s : copie au emplacement temporaire IMPOSSIBLE ! +0xf01,NOTICE %s :Le système de fichier est H.S.; annulation des fichiers en attente.\n 0xf02,NOTICE %s :Voici un fichier de %s ...\n 0xf03,Plus de connexions DCC : GET %s [%s] 0xf04,NOTICE %s :Plus de connexions DCC; annulation des fichiers en attente.\n 0xf05,Erreur de socket DCC : GET %s [%s] 0xf06,NOTICE %s :Erreur de socket DCC; annulation des fichiers en attente.\n -0xf07,Annulation de rception dcc %s : Fichier vide ! +0xf07,Annulation de réception dcc %s : Fichier vide ! 0xf08,NOTICE %s :Fichier %s vide, annulation du transfert.\n 0xf09, Destinataire %s Fichier\n 0xf0a, -------------%s --------------------\n 0xf0b, %s%s %s [ATTENTE]\n -0xf0c, %s%s %s (%.1f%% transfr)\n +0xf0c, %s%s %s (%.1f%% transféré)\n 0xf0d,Pas de fichier dans la file d'attente.\n 0xf0e,Total : %d\n -0xf0f,Annulation : %s %s\n -0xf10,Annulation : %s (envoi dcc annul)\n -0xf11,NOTICE %s :Transfert de %s annul par %s\n -0xf12,Abandon DCC : GET %s (%s) %lu/%lu -0xf13,Non trouv.\n +0xf0f,Annulation : %s à %s\n +0xf10,Annulation : %s (envoi dcc annulé)\n +0xf11,NOTICE %s :Transfert de %s annulé par %s\n +0xf12,Abandon DCC : GET %s (%s) à %lu/%lu +0xf13,Non trouvé.\n 0xf14,Annulation de %d fichier%s.\n -0xf15,Envoi dcc termin %s de %s!%s +0xf15,Envoi dcc terminé %s de %s!%s 0xf16,Longueur de fichier %d. Beaucoup TROP GROS. 0xf17,NOTICE %s :Longueur du fichier %d beaucoup TROP GROSSE !\n 0xf18,T'as mal ! 0xf19,NOTICE %s :T'as mal !\n -0xf1a,Dplacement RAT `%s' de l'emplacement temporaire ! Fichier perdu ! +0xf1a,Déplacement RATÉ `%s' de l'emplacement temporaire ! Fichier perdu ! 0xf1b,Merci pour le fichier !\n 0xf1c,NOTICE %s : Merci pour le fichier !\n 0xf1d,Transfert de la liste d'utilisateurs de %s perdu; annulation . # 0xf1e, < this one is now empty -0xf1f,Dconnexion de %s (Abandon du transfert de la liste d'utilisateurs) +0xf1f,Déconnexion de %s (Abandon du transfert de la liste d'utilisateurs) 0xf20,Perte de l'envoi DCC %s de %s!%s (%lu/%lu) 0xf21,(!) Paquet de reprise invalide de %s pour %s ! -0xf22,!! Reprise du transfert apres la fin du fichier pour %s %s +0xf22,!! Reprise du transfert apres la fin du fichier pour %s à %s 0xf23,!!! Tentative d'abandon du transfert de la liste d'utilisateurs -0xf24,Reprise du transfert de fichier %dk de %s %s -0xf25,Transfert de la liste d'utilisateur termin vers %s. -0xf26,Fin de l'envoi DCC %s %s +0xf24,Reprise du transfert de fichier à %dk de %s à %s +0xf25,Transfert de la liste d'utilisateur terminé vers %s. +0xf26,Fin de l'envoi DCC %s à %s 0xf27,Perte du transfert de la liste d'utilisateurs; abandon. -0xf28,Perte de la rception DCC %s de %s!%s +0xf28,Perte de la réception DCC %s de %s!%s 0xf29,NOTICE %s :Longueur de fichier invalide.\n 0xf2a,Fichier trop gros : abandon de l'envoi DCC %s de %s!%s 0xf2b,Timeout lors du transfert de la liste d'utilisateurs. -0xf2c,Dconnexion de %s (timeout du transfert de la liste d'utilisateurs) +0xf2c,Déconnexion de %s (timeout du transfert de la liste d'utilisateurs) 0xf2d,NOTICE %s :Timeout pendant le transfert, abandon %s.\n -0xf2f,Timeout DCC : GET %s (%s) %lu/%lu -0xf30,Timeout DCC : SEND %s (%s) %lu/%lu +0xf2f,Timeout DCC : GET %s (%s) à %lu/%lu +0xf30,Timeout DCC : SEND %s (%s) à %lu/%lu 0xf31,envoi (%lu)/%lu\n Fichier: %s\n -0xf32,envoi reu %lus\n Fichier: %s\n +0xf32,envoi reçu %lus\n Fichier: %s\n 0xf33,conn envoi 0xf34,Connexion DCC : SEND %s (%s) 0xf35,NOTICE %s :Mauvaise connexion (%s)\n 0xf36,Mauvaise connexion DCC: GET %s (%s!%s) -0xf37,Dbut de %senvoi DCC %s %s +0xf37,Début de %senvoi DCC %s à %s 0xf38,re -0xf39,NOTICE %s :J'ignore la reprise de `%s': pas de donnes demandes.\n -0xf40,Dchargement du module transfer, fermeture de tous les transferts... -0xf41, Taille de bloc DCC : %d%s, num max de d/ls simultans : %d\n +0xf39,NOTICE %s :J'ignore la reprise de `%s': pas de données demandées.\n +0xf40,Déchargement du module transfer, fermeture de tous les transferts... +0xf41, Taille de bloc DCC : %d%s, num max de d/ls simultanés : %d\n 0xf42, Telechargements simultanes maximum par utilisateur: %d\n From 74c786165272a9a7c7a7374d1906d2b30201d862 Mon Sep 17 00:00:00 2001 From: Michael Ortmann <41313082+michaelortmann@users.noreply.github.com> Date: Wed, 31 Jul 2024 03:37:58 +0200 Subject: [PATCH 34/47] Update doc URLs, etc Patch by: michaelortmann --- doc/BUG-REPORT | 2 +- doc/COMPILE-GUIDE | 8 ++++---- doc/Versions | 4 ++-- doc/settings/mod.seen | 8 ++++---- doc/settings/mod.uptime | 5 +++-- doc/sphinx_source/install/readme.rst | 2 +- doc/sphinx_source/install/upgrading.rst | 2 +- doc/sphinx_source/modules/included.rst | 5 ++--- doc/sphinx_source/modules/mod/seen.rst | 6 +++--- doc/sphinx_source/modules/mod/uptime.rst | 5 +++-- doc/sphinx_source/using/twitchinfo.rst | 2 +- eggdrop-basic.conf | 2 +- eggdrop.conf | 8 +++++--- misc/generatedocs | 2 +- scripts/ques5.tcl | 4 ++-- src/md5/md5.h | 2 +- src/md5/md5c.c | 2 +- src/mod/server.mod/help/server.help | 2 +- src/mod/uptime.mod/help/uptime.help | 3 ++- src/mod/uptime.mod/modinfo | 3 ++- src/mod/uptime.mod/uptime.c | 3 ++- 21 files changed, 43 insertions(+), 37 deletions(-) diff --git a/doc/BUG-REPORT b/doc/BUG-REPORT index f60096f40..fff4619d6 100644 --- a/doc/BUG-REPORT +++ b/doc/BUG-REPORT @@ -15,7 +15,7 @@ NOTE: First check https://github.com/eggheads/eggdrop/issues to see if Instructions: [1] Please complete as many fields as possible. -[2] Create a new issue on https://github.com/eggheads/eggdrop/issues +[2] Create a new issue at https://github.com/eggheads/eggdrop/issues and submit the completed report -or- [2] Email the completed report to: bugs@eggheads.org diff --git a/doc/COMPILE-GUIDE b/doc/COMPILE-GUIDE index 431dd75f2..05173bb8f 100644 --- a/doc/COMPILE-GUIDE +++ b/doc/COMPILE-GUIDE @@ -1,5 +1,5 @@ Eggdrop Compile Guide and FAQ -Last revised: November 17, 2022 +Last revised: May 14, 2023 _____________________________________________________________________ Eggdrop Compile Guide and FAQ @@ -145,7 +145,7 @@ Last revised: November 17, 2022 If your system does not have 'gmake', you can download it from: - http://ftp.gnu.org/pub/gnu/make/ + ftp.gnu.org/pub/gnu/make/ It can be installed in your home directory, as with Tcl, but that is beyond the scope of this document. Read the INSTALL file that comes with @@ -354,8 +354,8 @@ Last revised: November 17, 2022 If you do not have Tcl installed on your system, you can compile it in your /home directory. Download Tcl from Tcl's SourceForge project page - at http://www.sourceforge.net/projects/tcl/, or from ActiveState at - ftp://tcl.activestate.com/pub/tcl/tcl8_4/. Read Tcl's README file for + at https://sourceforge.net/projects/tcl/, or from ActiveState at + https://www.activestate.com/products/tcl/. Read Tcl's README file for help with compiling and installing it. After you compile Tcl, follow the steps above to allow Eggdrop to detect Tcl. diff --git a/doc/Versions b/doc/Versions index 61aaf483d..6b1eac815 100644 --- a/doc/Versions +++ b/doc/Versions @@ -2,8 +2,8 @@ This file lists the release dates for most of the officially released versions of Eggdrop and notes forks, bug fix patches and maintenance patches. Some of the older versions are missing from the current archive and their exact release dates are unknown. If you happen to have a copy of an -old version not in the archive available on ftp://ftp.eggheads.org please -get in contact via #eggdrop on Libera so it can be added. +old version not in the archive available at ftp.eggheads.org/pub/eggdrop/source/ +please get in contact via #eggdrop on Libera so it can be added. Version Release date diff --git a/doc/settings/mod.seen b/doc/settings/mod.seen index 0d010be8d..b7a56bc4d 100644 --- a/doc/settings/mod.seen +++ b/doc/settings/mod.seen @@ -1,12 +1,12 @@ -Last revised: January 1, 2002 +Last revised: Mar 14, 2023 Seen Module This module provides very basic seen commands via msg, on channel or via dcc. This module works only for users in the bot's userlist. If you are -looking for a better and more advanced seen module, try the gseen module -by G'Quann. You can find it at -http://www.kreativrauschen.com/gseen.mod/. +looking for a better and more advanced seen module, try the gseen module, +originally by G'Quann and forked/maintained by mortmann. You can find it at +https://github.com/michaelortmann/gseen.mod. This module requires: none diff --git a/doc/settings/mod.uptime b/doc/settings/mod.uptime index c6acd360c..d4220dba1 100644 --- a/doc/settings/mod.uptime +++ b/doc/settings/mod.uptime @@ -1,8 +1,9 @@ -Last revised: January 1, 2002 +Last revised: Mar 14, 2023 Uptime Module -This module reports uptime statistics to http://uptime.eggheads.org. Go +This module reports uptime statistics to the uptime contest web +site at https://www.eggheads.org/uptime/. Go look and see what your uptime is! It takes about 9 hours to show up, so if your bot isn't listed, try again later. diff --git a/doc/sphinx_source/install/readme.rst b/doc/sphinx_source/install/readme.rst index 6d365a880..628f07353 100644 --- a/doc/sphinx_source/install/readme.rst +++ b/doc/sphinx_source/install/readme.rst @@ -60,7 +60,7 @@ There are two official methods to download Eggdrop source code. Alternately, Egg FTP ^^^ - The latest Eggdrop stable source code is always located at ``_. You can also download the current stable, previous stable, and development snapshot via FTP at ``_ + The latest Eggdrop stable source code is always located at ``_. You can also download the current stable, previous stable, and development snapshot at ``_ Git Development Snapshot ^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/doc/sphinx_source/install/upgrading.rst b/doc/sphinx_source/install/upgrading.rst index aa610ff48..907482f83 100644 --- a/doc/sphinx_source/install/upgrading.rst +++ b/doc/sphinx_source/install/upgrading.rst @@ -44,7 +44,7 @@ To migrate from a 1.8 to a |majversion| Eggdrop, some changes are suggested to b Modules ^^^^^^^ -While most 3rd party modules that worked on older Eggdrop versions should still work with Eggdrop |majversion|, many of them contain a version check that only allows them to run on 1.6.x bots. We have removed the version check from some of the more popular modules provide them at ``_ +While most 3rd party modules that worked on older Eggdrop versions should still work with Eggdrop |majversion|, many of them contain a version check that only allows them to run on 1.6.x bots. We have removed the version check from some of the more popular modules provide them at ``_ Scripts ^^^^^^^ diff --git a/doc/sphinx_source/modules/included.rst b/doc/sphinx_source/modules/included.rst index dae42a510..8c3d42f09 100644 --- a/doc/sphinx_source/modules/included.rst +++ b/doc/sphinx_source/modules/included.rst @@ -83,8 +83,7 @@ Modules included with Eggdrop This module provides very basic seen commands via msg, on channel or via dcc. This module works only for users in the bot's userlist. If you are looking for a better and more advanced seen - module, try the gseen module by G'Quann. You can find it at - http://www.kreativrauschen.com/gseen.mod/. + module, try the gseen module, originally written by G'Quann and forked/updated for modern Eggdrop by mortmann. You can find it at ``_ :ref:`server` This module provides the core server support. You have to load @@ -104,7 +103,7 @@ Modules included with Eggdrop :ref:`uptime` This module reports uptime statistics to the uptime contest - web site at http://uptime.eggheads.org. Go look and see what + web site at ``_. Go look and see what your uptime is! It takes about 9 hours to show up, so if your bot isn't listed, try again later. See doc/settings/mod.uptime for more information, including details on what information is diff --git a/doc/sphinx_source/modules/mod/seen.rst b/doc/sphinx_source/modules/mod/seen.rst index 0ddf12153..bb61cf7c8 100644 --- a/doc/sphinx_source/modules/mod/seen.rst +++ b/doc/sphinx_source/modules/mod/seen.rst @@ -1,4 +1,4 @@ -Last revised: January 1, 2002 +Last revised: Mar 14, 2023 .. _seen: @@ -8,8 +8,8 @@ Seen Module This module provides very basic seen commands via msg, on channel or via dcc. This module works only for users in the bot's userlist. If you are looking -for a better and more advanced seen module, try the gseen module by G'Quann. -You can find it at http://www.kreativrauschen.com/gseen.mod/. +for a better and more advanced seen module, try the gseen module originally written by G'Quann and forked/updated to work with modern Eggdrop by mortmann. +You can find it at ``_. This module requires: none diff --git a/doc/sphinx_source/modules/mod/uptime.rst b/doc/sphinx_source/modules/mod/uptime.rst index d88b9244d..ef18cb788 100644 --- a/doc/sphinx_source/modules/mod/uptime.rst +++ b/doc/sphinx_source/modules/mod/uptime.rst @@ -1,4 +1,4 @@ -Last revised: January 1, 2002 +Last revised: Mar 14, 2023 .. _uptime: @@ -6,7 +6,8 @@ Last revised: January 1, 2002 Uptime Module ------------- -This module reports uptime statistics to http://uptime.eggheads.org. Go look +This module reports uptime statistics to the uptime contest web +site at ``_. Go look and see what your uptime is! It takes about 9 hours to show up, so if your bot isn't listed, try again later. diff --git a/doc/sphinx_source/using/twitchinfo.rst b/doc/sphinx_source/using/twitchinfo.rst index db93a4e03..2385ef814 100644 --- a/doc/sphinx_source/using/twitchinfo.rst +++ b/doc/sphinx_source/using/twitchinfo.rst @@ -16,7 +16,7 @@ We should also make clear that Eggdrop is in no way affiliated with Twitch in an *********************** Registering with Twitch *********************** -#. Register an account with Twitch. At the time of writing, this is done by visiting `Twitch `_ and clicking on the Sign Up button. +#. Register an account with Twitch. At the time of writing, this is done by visiting `Twitch `_ and clicking on the Sign Up button. #. Generate a token to authenticate your bot with Twitch. At the time of writing, this is done by visiting the `Twitch OAuth generator `_ while logged in to the account you just created. The token will be an alphanumeric string and should be treated like a password (...because it is). Make note of it, and keep it safe! *********************** diff --git a/eggdrop-basic.conf b/eggdrop-basic.conf index 849575610..9deb7cadb 100755 --- a/eggdrop-basic.conf +++ b/eggdrop-basic.conf @@ -34,7 +34,7 @@ loadmodule notes ; # Note storing for users loadmodule console ; # Console setting storage #loadmodule seen ; # Basic seen functionality #loadmodule assoc ; # Party line channel naming -loadmodule uptime ; # Centralized uptime stat collection (http://uptime.eggheads.org) +loadmodule uptime ; # Centralized uptime stat collection (https://www.eggheads.org/uptime/) #loadmodule ident ; # Ident support #loadmodule twitch ; # Twitch gaming service support diff --git a/eggdrop.conf b/eggdrop.conf index 832f13c79..dae6a27b3 100755 --- a/eggdrop.conf +++ b/eggdrop.conf @@ -1608,8 +1608,9 @@ set info-party 0 # This module provides very basic seen commands via msg, on channel or via dcc. # This module works only for users in the bot's userlist. If you are looking for -# a better and more advanced seen module, try the gseen module by G'Quann. You -# can find it at http://www.kreativrauschen.com/gseen.mod/. +# a better and more advanced seen module, try the gseen module, originally +# written by G'Quann and currently maintained by mortmann. You can find it at +# https://github.com/michaelortmann/gseen.mod. #loadmodule seen @@ -1622,7 +1623,8 @@ set info-party 0 #### UPTIME MODULE #### -# This module reports uptime statistics to http://uptime.eggheads.org. +# This module reports uptime statistics to the uptime contest web +# site at https://www.eggheads.org/uptime/. # Go look and see what your uptime is! It takes about 9 hours to show up, # so if your bot isn't listed, try again later. The server module must be # loaded for this module to function. diff --git a/misc/generatedocs b/misc/generatedocs index 563118d3e..e0c8437a2 100755 --- a/misc/generatedocs +++ b/misc/generatedocs @@ -69,7 +69,7 @@ SPHINX="$(which sphinx-build)" if [ $? -eq 0 ]; then echo "Found." else - echo "Not found. Sphinx can be found at http://www.sphinx-doc.org or via apt-get install python-sphinx. Exiting..." + echo "Not found. Sphinx can be found at https://www.sphinx-doc.org or via apt-get install python-sphinx. Exiting..." exit 1 fi diff --git a/scripts/ques5.tcl b/scripts/ques5.tcl index 1a5028580..0193aa7ba 100644 --- a/scripts/ques5.tcl +++ b/scripts/ques5.tcl @@ -319,13 +319,13 @@ proc do_ques {} { } puts $fd1 "
" puts $fd1 " This page is automatically refreshed every [webify $web_update] minute(s).
" - puts $fd1 "
Created by quesedilla v5 via eggdrop.
" + puts $fd1 "
Created by quesedilla v5 via eggdrop.
" puts $fd1 " " puts $fd1 "" puts $fd1 "" puts $fd2 "
" puts $fd2 " This page is automatically refreshed every [webify $web_update] minute(s).
" - puts $fd2 "
Created by quesedilla v5 via eggdrop.
" + puts $fd2 "
Created by quesedilla v5 via eggdrop.
" puts $fd2 " " puts $fd2 "" puts $fd2 "" diff --git a/src/md5/md5.h b/src/md5/md5.h index 7a9fb8806..f83c286f3 100644 --- a/src/md5/md5.h +++ b/src/md5/md5.h @@ -3,7 +3,7 @@ * MD5 Message-Digest Algorithm (RFC 1321). * * Homepage: - * http://openwall.info/wiki/people/solar/software/public-domain-source-code/md5 + * https://openwall.info/wiki/people/solar/software/public-domain-source-code/md5 * * Author: * Alexander Peslyak, better known as Solar Designer diff --git a/src/md5/md5c.c b/src/md5/md5c.c index acf3a86a0..e27bb7919 100644 --- a/src/md5/md5c.c +++ b/src/md5/md5c.c @@ -3,7 +3,7 @@ * MD5 Message-Digest Algorithm (RFC 1321). * * Homepage: - * http://openwall.info/wiki/people/solar/software/public-domain-source-code/md5 + * https://openwall.info/wiki/people/solar/software/public-domain-source-code/md5 * * Author: * Alexander Peslyak, better known as Solar Designer diff --git a/src/mod/server.mod/help/server.help b/src/mod/server.mod/help/server.help index 33f78f6f0..cc0b88a7c 100644 --- a/src/mod/server.mod/help/server.help +++ b/src/mod/server.mod/help/server.help @@ -9,7 +9,7 @@ ### %bdump%b Dumps the given text to the IRC server. - See http://www.ietf.org/rfc/rfc1459.txt for more information on the + See https://www.ietf.org/rfc/rfc1459.txt for more information on the IRC protocol. %{help=jump}%{+m} ### %bjump%b [server [[+]port [pass]]] diff --git a/src/mod/uptime.mod/help/uptime.help b/src/mod/uptime.mod/help/uptime.help index cd0330c86..0d67e28c8 100644 --- a/src/mod/uptime.mod/help/uptime.help +++ b/src/mod/uptime.mod/help/uptime.help @@ -1,6 +1,7 @@ %{help=uptime module}%{+n} ### %buptime module%b - The uptime module reports uptime statistics to http://uptime.eggheads.org. + The uptime module reports uptime statistics to the uptime contest web + site at https://www.eggheads.org/uptime/. Go look and see what your uptime is! It takes about 9 hours to show up, so if your bot isn't listed, try again later. diff --git a/src/mod/uptime.mod/modinfo b/src/mod/uptime.mod/modinfo index f7f8b4c72..2582caee3 100644 --- a/src/mod/uptime.mod/modinfo +++ b/src/mod/uptime.mod/modinfo @@ -1,4 +1,5 @@ -DESC:This module reports uptime statistics to http://uptime.eggheads.org. Go +DESC:This module reports uptime statistics to the uptime contest web +DESC:site at https://www.eggheads.org/uptime/. Go DESC:look and see what your uptime is! It takes about 9 hours to show up, so DESC:if your bot isn't listed, try again later. DESC: diff --git a/src/mod/uptime.mod/uptime.c b/src/mod/uptime.mod/uptime.c index cddc1c8eb..780ad0be6 100644 --- a/src/mod/uptime.mod/uptime.c +++ b/src/mod/uptime.mod/uptime.c @@ -1,5 +1,6 @@ /* - * This module reports uptime information about your bot to http://uptime.eggheads.org. The + * This module reports uptime statistics to the uptime contest web + * site at https://www.eggheads.org/uptime/. The * purpose for this is to see how your bot rates against many others (including EnergyMechs * and Eggdrops) -- It is a fun little project, jointly run by Eggheads.org and EnergyMech.net. * From a53587eacd92d5108b846620be684e025ca5827f Mon Sep 17 00:00:00 2001 From: Michael Ortmann <41313082+michaelortmann@users.noreply.github.com> Date: Thu, 1 Aug 2024 17:43:40 +0200 Subject: [PATCH 35/47] Add IP to listen error message Patch by: michaelortmann --- src/net.c | 2 +- src/tcldcc.c | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/net.c b/src/net.c index 644f4f6c5..42be92b34 100644 --- a/src/net.c +++ b/src/net.c @@ -130,7 +130,7 @@ char *iptostr(struct sockaddr *sa) */ int setsockname(sockname_t *addr, char *src, int port, int allowres) { - char *endptr, *src2 = src;; + char *endptr, *src2 = src; long val; IP ip; volatile int af = AF_UNSPEC; diff --git a/src/tcldcc.c b/src/tcldcc.c index 601714ba2..8c0cfbb3c 100644 --- a/src/tcldcc.c +++ b/src/tcldcc.c @@ -1176,15 +1176,22 @@ static int setlisten(Tcl_Interp *irp, char *ip, char *portp, char *type, char *m if (strlen(newip)) { setsockname(&name, newip, port, 1); i = open_address_listen(&name); + if (i < 0) { + snprintf(msg, sizeof msg, "Couldn't listen on port %d on %s: %s. " + "Please check that the port is not already in use", + realport, newip, strerror(errno)); + Tcl_AppendResult(irp, msg, NULL); + return TCL_ERROR; + } } else { i = open_listen(&port); - } - if (i < 0) { - egg_snprintf(msg, sizeof msg, "Couldn't listen on port '%d' on the given " + if (i < 0) { + snprintf(msg, sizeof msg, "Couldn't listen on port %d on the given " "address: %s. Please check that the port is not already in use", realport, strerror(errno)); - Tcl_AppendResult(irp, msg, NULL); - return TCL_ERROR; + Tcl_AppendResult(irp, msg, NULL); + return TCL_ERROR; + } } idx = new_dcc(&DCC_TELNET, 0); dcc[idx].sockname.addrlen = sizeof(dcc[idx].sockname.addr); From ba228ba860385cd64137f61fc382d48db09bdf40 Mon Sep 17 00:00:00 2001 From: Michael Ortmann <41313082+michaelortmann@users.noreply.github.com> Date: Tue, 6 Aug 2024 20:22:49 +0200 Subject: [PATCH 36/47] Update README source --- doc/Changes1.8 | 6 +++--- doc/sphinx_source/install/readme.rst | 12 ++++-------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/doc/Changes1.8 b/doc/Changes1.8 index 84b8e046a..343142f92 100644 --- a/doc/Changes1.8 +++ b/doc/Changes1.8 @@ -647,7 +647,7 @@ Eggdrop v1.8.1rc1 (2017-03-01): - Various small bugfixes. Patch by: Geo, thommey - # RC2 Relased on Nov 1, 2016 + # RC2 Released on Nov 1, 2016 - Use -pthread for OpenBSD linking, found in TCL_EXTRA_CFLAGS in tclConfig.sh. Patch by: thommey / Found by: fahuo @@ -656,7 +656,7 @@ Eggdrop v1.8.1rc1 (2017-03-01): Patch by: thommey - Switch to using $CC -shared for BSD in general, this seems to work on - newer versios, and ld -Bshareable -x fails. + newer versions, and ld -Bshareable -x fails. Patch by: thommey / Found by: LinaSovereign - Work around some incompatibilies between gnu make 3.82 and 4.x. @@ -764,7 +764,7 @@ Eggdrop v1.8.1rc1 (2017-03-01): - Typo: "timer " should be "utimer " Patch by: sirfz, Geo / Found by: sirfz - # RC1 Relased on September 12, 2016 + # RC1 Released on September 12, 2016 - Add basic.eggdrop.conf to source directory Patch by: Geo, thommey diff --git a/doc/sphinx_source/install/readme.rst b/doc/sphinx_source/install/readme.rst index 628f07353..573783de7 100644 --- a/doc/sphinx_source/install/readme.rst +++ b/doc/sphinx_source/install/readme.rst @@ -27,9 +27,9 @@ What is Eggdrop? information, hosting games, etc. One of the features that makes Eggdrop stand out from other bots is module - and Tcl scripting support. With scripts and modules you can make the bot - perform almost any task you want. They can do anything: from preventing - floods to greeting users and banning advertisers from channels. + and Tcl and Python scripting support. With scripts and modules you can + make the bot perform almost any task you want. They can do anything: from + preventing floods to greeting users and banning advertisers from channels. You can also link multiple Eggdrop bots together to form a botnet. This can allow bots to op each other securely, control floods efficiently and @@ -65,11 +65,7 @@ FTP Git Development Snapshot ^^^^^^^^^^^^^^^^^^^^^^^^ - Eggdrop development has moved from a CVS-based version control system to - git. If you are interested in trying out the VERY LATEST updates to - Eggdrop, you may be interested in pulling the most recent code from - there. BE WARNED, the development branch of Eggdrop is not to be - considered stable and may (haha) have some significant bugs in it. + Eggdrop developers use git to manage the Eggdrop codebase for development. If you are interested in trying out the VERY LATEST updates to Eggdrop, you can use git to obtain most recent code from the Eggheads repository. BE WARNED, the development branch of Eggdrop is not to be considered stable and may (haha) contain significant bugs still being worked on. To obtain Eggdrop via the git repository (hosted by GitHub), you can either clone the repository via git or download a development snapshot. From 2f6446b7332a7164169b9596881d0817c9c6003f Mon Sep 17 00:00:00 2001 From: Michael Ortmann <41313082+michaelortmann@users.noreply.github.com> Date: Wed, 7 Aug 2024 02:33:13 +0200 Subject: [PATCH 37/47] Add Tcl 9 compatibility - Tcl_Size in python module Found by: michaelortmann Patch by: michaelortmann Fixes: #1668 --- src/mod/python.mod/pycmds.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/mod/python.mod/pycmds.c b/src/mod/python.mod/pycmds.c index d1ae78e5c..02c890b2d 100644 --- a/src/mod/python.mod/pycmds.c +++ b/src/mod/python.mod/pycmds.c @@ -156,7 +156,7 @@ static int tcl_call_python(ClientData cd, Tcl_Interp *irp, int objc, Tcl_Obj *co } static PyObject *py_parse_tcl_list(PyObject *self, PyObject *args) { - int max; + Tcl_Size max; const char *str; Tcl_Obj *strobj; PyObject *result; @@ -175,7 +175,7 @@ static PyObject *py_parse_tcl_list(PyObject *self, PyObject *args) { for (int i = 0; i < max; i++) { Tcl_Obj *tclobj; const char *tclstr; - int tclstrlen; + Tcl_Size tclstrlen; Tcl_ListObjIndex(tclinterp, strobj, i, &tclobj); tclstr = Tcl_GetStringFromObj(tclobj, &tclstrlen); @@ -203,7 +203,7 @@ static PyObject *py_parse_tcl_dict(PyObject *self, PyObject *args) { } result = PyDict_New(); while (!done) { - int len; + Tcl_Size len; const char *valstr = Tcl_GetStringFromObj(value, &len); PyObject *pyval = PyUnicode_DecodeUTF8(valstr, len, NULL); PyDict_SetItemString(result, Tcl_GetString(key), pyval); From cd91671068f51bda2e1b166d1222a350d1b18319 Mon Sep 17 00:00:00 2001 From: Michael Ortmann <41313082+michaelortmann@users.noreply.github.com> Date: Wed, 7 Aug 2024 02:34:06 +0200 Subject: [PATCH 38/47] Revert adding -fsanitize=address Fix make bug, see test case below So we can only add -Og, not -fsanitize=address Due to the current ordering of eggdrop CFLAGS/DEBUGFLAGS, it is a good idea to remove it anyway, because currently -fsanitize=address is appended after USER CFLAGS. --- aclocal.m4 | 1 - 1 file changed, 1 deletion(-) diff --git a/aclocal.m4 b/aclocal.m4 index 13e3649e9..de8d6e665 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1249,7 +1249,6 @@ AC_DEFUN([EGG_DEBUG_DEFAULTS], debug_cflags_debug="-g3 -DDEBUG" AX_CHECK_COMPILE_FLAG([-Og], [debug_cflags_debug="-Og $debug_cflags_debug"]) - AX_CHECK_COMPILE_FLAG([-fsanitize=address], [debug_cflags_debug="$debug_cflags_debug -fsanitize=address"]) debug_cflags_debug_assert="-DDEBUG_ASSERT" debug_cflags_debug_mem="-DDEBUG_MEM" debug_cflags_debug_dns="-DDEBUG_DNS" From c61ae0decb6d5d1ab7b34e9e25dc8e34b2b78e1f Mon Sep 17 00:00:00 2001 From: Geo Date: Tue, 6 Aug 2024 20:34:37 -0400 Subject: [PATCH 39/47] Update Tcl MacOS search paths --- m4/tcl.m4 | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/m4/tcl.m4 b/m4/tcl.m4 index 93320acf8..7dcf43822 100644 --- a/m4/tcl.m4 +++ b/m4/tcl.m4 @@ -98,8 +98,9 @@ AC_DEFUN([TEA_PATH_TCLCONFIG], [ # we reset no_tcl in case something fails here no_tcl=true AC_ARG_WITH(tcl, - AS_HELP_STRING([--with-tcl],[directory containing tcl configuration (tclConfig.sh)]), - with_tclconfig="${withval}") + AS_HELP_STRING([--with-tcl], + [directory containing tcl configuration (tclConfig.sh)]), + [with_tclconfig="${withval}"]) AC_MSG_CHECKING([for Tcl configuration]) AC_CACHE_VAL(ac_cv_c_tclconfig,[ @@ -151,7 +152,9 @@ AC_DEFUN([TEA_PATH_TCLCONFIG], [ for i in `ls -d ~/Library/Frameworks 2>/dev/null` \ `ls -d /Library/Frameworks 2>/dev/null` \ `ls -d /Network/Library/Frameworks 2>/dev/null` \ - `ls -d /System/Library/Frameworks 2>/dev/null` \ + `ls -d /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/Library/Frameworks/Tcl.framework 2>/dev/null` \ + `ls -d /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/Network/Library/Frameworks/Tcl.framework 2>/dev/null` \ + `ls -d /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Tcl.framework 2>/dev/null` \ ; do if test -f "$i/Tcl.framework/tclConfig.sh" ; then ac_cv_c_tclconfig="`(cd $i/Tcl.framework; pwd)`" @@ -178,14 +181,14 @@ AC_DEFUN([TEA_PATH_TCLCONFIG], [ for i in `ls -d ${libdir} 2>/dev/null` \ `ls -d ${exec_prefix}/lib 2>/dev/null` \ `ls -d ${prefix}/lib 2>/dev/null` \ - `ls -d /usr/contrib/lib 2>/dev/null` \ `ls -d /usr/local/lib 2>/dev/null` \ + `ls -d /usr/contrib/lib 2>/dev/null` \ `ls -d /usr/pkg/lib 2>/dev/null` \ `ls -d /usr/lib 2>/dev/null` \ `ls -d /usr/lib64 2>/dev/null` \ - `ls -d /usr/lib/tcl[[8-9]].[[0-9]] 2>/dev/null` \ - `ls -d /usr/local/lib/tcl[[8-9]].[[0-9]] 2>/dev/null` \ - `ls -d /usr/local/lib/tcl/tcl[[8-9]].[[0-9]] 2>/dev/null` \ + `ls -d /usr/lib/tcl[[8-9]].[[0-9]] 2>/dev/null` \ + `ls -d /usr/local/lib/tcl[[8-9]].[[0-9]] 2>/dev/null` \ + `ls -d /usr/local/lib/tcl/tcl[[8-9]].[[0-9]] 2>/dev/null` \ ; do if test -f "$i/tclConfig.sh" ; then ac_cv_c_tclconfig="`(cd $i; pwd)`" @@ -224,7 +227,6 @@ AC_DEFUN([TEA_PATH_TCLCONFIG], [ fi fi ]) - ## ## Here ends the standard Tcl configuration bits and starts the ## TEA specific functions From e9aead7d407c9282aeb3b78b8eb2a94524abfcc4 Mon Sep 17 00:00:00 2001 From: Michael Ortmann <41313082+michaelortmann@users.noreply.github.com> Date: Wed, 7 Aug 2024 02:35:05 +0200 Subject: [PATCH 40/47] python.mod: add dir(eggdrop.tcl) (#1596) * Add dir(eggdrop.tcl) * Add "info procs" and filter by starting '*' instead of containing ':' --------- Co-authored-by: Michael Ortmann --- src/mod/python.mod/pycmds.c | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/src/mod/python.mod/pycmds.c b/src/mod/python.mod/pycmds.c index 02c890b2d..ec336e969 100644 --- a/src/mod/python.mod/pycmds.c +++ b/src/mod/python.mod/pycmds.c @@ -371,6 +371,38 @@ static PyObject *python_call_tcl(PyObject *self, PyObject *args, PyObject *kwarg return PyUnicode_DecodeUTF8(result, strlen(result), NULL); } + +static PyObject *py_dir(PyObject *self, PyObject *args) { + PyObject *py_list, *py_s; + int i, j; + const char *info[] = {"info commands", "info procs"}, *s, *value; + Tcl_Obj *tcl_list, **objv; + int objc; + + py_list = PyList_New(0); + for (i = 0; i < (sizeof info / sizeof info[0]); i++) { + s = info[i]; + if (Tcl_VarEval(tclinterp, s, NULL, NULL) == TCL_ERROR) + putlog(LOG_MISC, "*", "python error: Tcl_VarEval(%s)", s); + else { + tcl_list = Tcl_GetObjResult(tclinterp); + if (Tcl_ListObjGetElements(tclinterp, tcl_list, &objc, &objv) == TCL_ERROR) + putlog(LOG_MISC, "*", "python error: Tcl_VarEval(%s)", s); + else { + for (j = 0; j < objc; j++) { + value = Tcl_GetString(objv[j]); + if (*value != '*') { + py_s = PyUnicode_FromString(value); + PyList_Append(py_list, py_s); + Py_DECREF(py_s); + } + } + } + } + } + return py_list; +} + static PyObject *py_findtclfunc(PyObject *self, PyObject *args) { char *cmdname; TclFunc *result; @@ -399,7 +431,7 @@ static PyMethodDef MyPyMethods[] = { }; static PyMethodDef EggTclMethods[] = { - // TODO: __dict__ with all valid Tcl commands? + {"__dir__", py_dir, METH_VARARGS, ""}, {"__getattr__", py_findtclfunc, METH_VARARGS, "fallback to call Tcl functions transparently"}, {NULL, NULL, 0, NULL} }; From 607cdb36665e694a53242e90613ad85745883a08 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 7 Aug 2024 00:36:44 +0000 Subject: [PATCH 41/47] Run autotools --- configure | 52 ++++++---------------------------- src/mod/compress.mod/configure | 2 +- src/mod/dns.mod/configure | 2 +- src/mod/python.mod/configure | 2 +- 4 files changed, 11 insertions(+), 47 deletions(-) diff --git a/configure b/configure index de68e72ac..050b34976 100755 --- a/configure +++ b/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.ac cd32a73. +# From configure.ac e9aead7. # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.71 for Eggdrop 1.9.5. # @@ -9059,7 +9059,9 @@ printf "%s\n" "$as_me: WARNING: --with-tcl argument should refer to directory co for i in `ls -d ~/Library/Frameworks 2>/dev/null` \ `ls -d /Library/Frameworks 2>/dev/null` \ `ls -d /Network/Library/Frameworks 2>/dev/null` \ - `ls -d /System/Library/Frameworks 2>/dev/null` \ + `ls -d /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/Library/Frameworks/Tcl.framework 2>/dev/null` \ + `ls -d /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/Network/Library/Frameworks/Tcl.framework 2>/dev/null` \ + `ls -d /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Tcl.framework 2>/dev/null` \ ; do if test -f "$i/Tcl.framework/tclConfig.sh" ; then ac_cv_c_tclconfig="`(cd $i/Tcl.framework; pwd)`" @@ -9086,14 +9088,14 @@ printf "%s\n" "$as_me: WARNING: --with-tcl argument should refer to directory co for i in `ls -d ${libdir} 2>/dev/null` \ `ls -d ${exec_prefix}/lib 2>/dev/null` \ `ls -d ${prefix}/lib 2>/dev/null` \ - `ls -d /usr/contrib/lib 2>/dev/null` \ `ls -d /usr/local/lib 2>/dev/null` \ + `ls -d /usr/contrib/lib 2>/dev/null` \ `ls -d /usr/pkg/lib 2>/dev/null` \ `ls -d /usr/lib 2>/dev/null` \ `ls -d /usr/lib64 2>/dev/null` \ - `ls -d /usr/lib/tcl[8-9].[0-9] 2>/dev/null` \ - `ls -d /usr/local/lib/tcl[8-9].[0-9] 2>/dev/null` \ - `ls -d /usr/local/lib/tcl/tcl[8-9].[0-9] 2>/dev/null` \ + `ls -d /usr/lib/tcl[8-9].[0-9] 2>/dev/null` \ + `ls -d /usr/local/lib/tcl[8-9].[0-9] 2>/dev/null` \ + `ls -d /usr/local/lib/tcl/tcl[8-9].[0-9] 2>/dev/null` \ ; do if test -f "$i/tclConfig.sh" ; then ac_cv_c_tclconfig="`(cd $i; pwd)`" @@ -9805,44 +9807,6 @@ else $as_nop : fi - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether C compiler accepts -fsanitize=address" >&5 -printf %s "checking whether C compiler accepts -fsanitize=address... " >&6; } -if test ${ax_cv_check_cflags___fsanitize_address+y} -then : - printf %s "(cached) " >&6 -else $as_nop - - ax_check_save_flags=$CFLAGS - CFLAGS="$CFLAGS -fsanitize=address" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - ax_cv_check_cflags___fsanitize_address=yes -else $as_nop - ax_cv_check_cflags___fsanitize_address=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - CFLAGS=$ax_check_save_flags -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_cflags___fsanitize_address" >&5 -printf "%s\n" "$ax_cv_check_cflags___fsanitize_address" >&6; } -if test "x$ax_cv_check_cflags___fsanitize_address" = xyes -then : - debug_cflags_debug="$debug_cflags_debug -fsanitize=address" -else $as_nop - : -fi - debug_cflags_debug_assert="-DDEBUG_ASSERT" debug_cflags_debug_mem="-DDEBUG_MEM" debug_cflags_debug_dns="-DDEBUG_DNS" diff --git a/src/mod/compress.mod/configure b/src/mod/compress.mod/configure index 0af9c1865..c336a3d8c 100755 --- a/src/mod/compress.mod/configure +++ b/src/mod/compress.mod/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.ac cd32a73. +# From configure.ac e9aead7. # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.71 for Eggdrop Compress Module 1.9.5. # diff --git a/src/mod/dns.mod/configure b/src/mod/dns.mod/configure index 2757a5ab0..20c9653b6 100755 --- a/src/mod/dns.mod/configure +++ b/src/mod/dns.mod/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.ac cd32a73. +# From configure.ac e9aead7. # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.71 for Eggdrop DNS Module 1.9.5. # diff --git a/src/mod/python.mod/configure b/src/mod/python.mod/configure index 779d2ebe7..ec08ac875 100755 --- a/src/mod/python.mod/configure +++ b/src/mod/python.mod/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.ac cd32a73. +# From configure.ac e9aead7. # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.71 for Eggdrop Python Module 1.10.0. # From 320ab0fcf9d0c23d18710b4b229586134f1a1b7c Mon Sep 17 00:00:00 2001 From: Geo Date: Tue, 6 Aug 2024 21:25:16 -0400 Subject: [PATCH 42/47] Update NEWS --- NEWS | 365 ++++++++++++----------------------------------------------- 1 file changed, 75 insertions(+), 290 deletions(-) diff --git a/NEWS b/NEWS index 54eea1d7e..6cc03a177 100644 --- a/NEWS +++ b/NEWS @@ -6,314 +6,99 @@ Last revised: December 4, 2021 This file lists major and incompatible changes in Eggdrop versions. - You can find the full list of changes in doc/Changes1.9. + You can find the full list of changes in doc/Changes1.10. For support, feel free to visit us on Libera #eggdrop. - For upgrading from a pre-1.6 version of Eggdrop: Read the UPGRADING file. + For upgrading help, read the UPGRADING file. - In general, always make a BACKUP of your config and user/chanfile. + In general, always make a BACKUP of your config and user/chanfile + before performing an upgrade! _________________________________________________________________ -Eggdrop v1.9.5: +Eggdrop v1.10.0: General changes: - - Implemented a workaround for a Tcl issue parsing emojis that can cause a - crash - - Fixed an improper change to the display of bind flags that caused issues - with Tcl scripts that parse bind flags - - Added SSL header information to .status to help diagnose ./configure - mismatches - - Lots of under-the-hood bug fixes + - Added the new Tcl 'autoscripts' capability. By loading the autoscripts Tcl + script, Eggdrop can automatically view, download and install Tcl scripts + hosted by the Eggheads team, all via the partyline! No modification of the + config file needed. + - Eggdrop can now use the account a user is logged into as an identification + method in the same manner that a hostmask does. For this feature to be + fully accurate, Eggdrop use a server with WHOX enabled and negotiate the + extended-join and account-notify IRCv3 capabilities. + - Added the IRCv3 userhost-in-names capability. This capability is + negotiated with the server at connect and prompts the server to add + hostmask to the NAMES command. This is useful in a scenario where an IRC + server has disabled the WHO command, but allows + Eggdrop to still track hostmasks (and removes the "pending" status from + the channel listing under .status). + - Added the IRCv3 standard-replies capability. This capability is negotiated + with the server at connect and enables the use of non-numeric FAIL, WARN, + and NOTE messages. + - Modified .bans to properly display channel bans. + - Fixed a bug with network reads performed on TLS connections, where + Eggdrop could hang until a connection times out, most commonly + manifesting itself on server connects and userfile transfers. This is + expected to fix the last documented issue with Eggdrop's handling of + secure connections. + - Eggdrop now requires TLS/SSL libs to be installed by default. Whereas + previously Eggdrop would previously continue to compile if TLS libraries + were not found, it will now error unless the user explicitly specifies + the --disable-tls flag. + - Fixed the Monitor bind to properly use wildcards in binds. + - Updated language files from ISO-8859 to UTF-8. Botnet changes: - - None + - Fixed an issue in pbkdf2-only links properly using/comparing PASS2 entries Tcl API changes: - - Tcl minimum required version is now 8.5! This actually happened in version - 1.9.0; we just forgot to tell people. Oops! :) + - Updated much of the core Tcl integration to be compatible with the + upcoming Tcl 9 release. Much work was done (thank you DasBrain!) to update + Eggdrop's internal Tcl calls to prevent breakages using Tcl 9. Most of + these changes are transparent to the user, but the one major item to call + out is the improvement of Tcl's UTF-8 emoji handling, which no longer + requires users to modify TCL_MAX and compile Tcl manually in order to use + emojis properly. + - The Python module (below) adds the pysource Tcl command, to load + a python script into Eggdrop. + - Added the Tcl CHGHOST bind, which is triggered when a user's + hostmask is changed via an IRCv3 CHGHOST message. + - Added the 'hidden-host' type to the event (EVNT) bind. This bind + is triggered when the bot's own host is hidden (+x) by a 396 + message sent by server. + - Added the 'got-chanlist' type to the event (EVNT) bind. This bind + is triggered once Eggdrop finishes receiving the list of usernames + for a channel from a server. This can be used when Eggdrop needs to + wait to perform specific functions when joining a channel but + needs to wait until the users on a channel have been presented by + the server. + - Fixed a bug in the isidentified command to check if a user has + definitively been identified or unidentified. Module changes: - - Updated woobie.mod with additional example code + - Added a Python module! This module integrates an embedded Python + interpreter similar to the Tcl interpreter already present in + Eggdrop. This module adds the .python command to the partyline + (again, similar to the .tcl command) to execute python strings, + as well as adding the pysource Tcl command that will load a Python + script into Eggdrop. See doc/modules/mod.python for details on how + to use it, or example scripts in the scripts/ directory. Eggdrop config changes: - - None + - The copy-to-tmp option was removed from the config. This value is + now functions under the old '1' behavior where an intermediate temp + file is created before copying from/to files that are in use. + - The quick-logs option was removed from the config. This value was + created to hedge against frequent writes to disk, but is less + relveant with today's technology. Eggdrop now writes logfiles to + disk immediately. Documentation changes: - - Added additional documentation to help write modules - - Updated botnet docs to include reference to TLS docs for secure links - - Updated Tcl repo from unmaintained FTP to HTTP repository - -Eggdrop v1.9.4: - - General changes: - - Fixed a DNS bug causing Eggdrop to often hang on DCC or telnet - connections - - BETA: Added -systemd option to autobotchk script to restart Eggdrop via - systemd instead of cron - - Reverted matchattr match syntax to previous functionality. Matching - against "-" as a flag will once again successfully match against "no" - flags, instead of returning an error. - - Fixed some inaccurate log messages - - Fixed some format specifiers that could cause crashes in certain - situations - - Fixed logging of TAGMSG messages - - Fixed unspecified behavior of freeaddrinfo() on some BSD systems - - Botnet changes: - - None - - Tcl API changes: - - Moved the 'gotmsg' function back as a raw bind. It was inadvertently - moved to a rawt bind in 1.9.3, causing issues with scripts attempting to - unbind this internal reference - Module changes: - - None - -Eggdrop config changes: - - None - - -Eggdrop v1.9.3: - - General changes: - - Added the ability to track services account names for users in a channel - and those added to an Eggdrop. To work properly, this feature requires a - server that supports WHOX requests and can negotiate the extended-join - and account-notify capabilities - - Added the +account and -account partyline commands to add or remove a - services account name to a handle - - Updated .channel output to display services account names associated with - channel users - - Added the ability to create a timer with a custom name instead of the - default "timerXX" format - - Fixed a compile error if TLS libraraies weren't detected on the host OS - - Fixed a compile error for pthreads found mainly on BSD systems - - Fixed a bug with threaded DNS queries where threads were not terminated - properly, potentially resulting in an out-of-memory error - - Fixed an issue where PLAIN SASL authentication incorrectly errored unless - (unneeded) TLS libraries were installed - - Updated information obtained via extended-join to all channels the user is - on, not just the channel they joined - - Force ident requests to originate from the specified vhost/listen IP - - Reorganized the documentation structure - - Botnet changes: - - None - - Tcl API changes: - - Updated the 'finduser' command to accept the -account flag. Using this - flag will search the userfile and return the handle that contains the - provided account name - - Updated the getuser and setuser commands to accept the "ACCOUNT" entry - - Added the 'accounttracking' variable, which returns a '1' if all three - requirements (WHOX, extended-join, and account-notify) are available and - active for the current server connection - - Added an optional timer name field to the timer and utimer commands - - Updated docs to reflect a value of '0' for the server-online value when - Eggdrop is disconnected - - Module changes: - - None - - Eggdrop config changes: - - None - - _________________________________________________________________ - -Eggdrop v1.9.2: - - General changes: - - Added CAP 302 support, and generally enhance CAP support - - Enabled threaded core DNS requests as the default method for DNS lookups; - this can be disabled with ./configure --disable-tdns - - Added support for the MONITOR CAP capability, allowing tracking of online - and offline nicknames - - Added support for the 005 BOT flag, allowing tracking of users that - declare themselves as bots to the IRC server - - Added SSL status to the .bottree command, denoted with a '=' symbol - - Fixed allowing Eggdrop to process message-tags even if the message-tags - capability is not explicitly requested - - Alt-nick is now used before a randomly generated nickname if the requested - nickname is rejected as invalid by the server. This feature is now - divorced of any previous dependence on the keep-nick setting, with the - reasoning that getting the Eggdrop onto the server with a random nick is - more important than keeping a nickname and not ever joining, particularly - from a troubleshooting standpoint - - RAWT binds returning a '1' now block similar RAW binds from triggering - by the same activity (but RAW binds cannot block a RAWT bind- use a RAWT!) - - Fixed mistakenly requiring a flag for the 'listen script' command - - Fixed an issue with Eggdrop not properly updating the account-tracking - status - - Botnet changes: - - None - - Tcl API changes: - - Added the 'monitor' command, which allows interaction with the CAP - MONITOR capability - - Added the 'isircbot' command, which returns if a user has registered as a - bot with the IRC server - - Added the 'server list' command, which lists servers added to Eggdrop - - Added the USERNOTICE bind to the Twitch module - - Added a 'values' argument to the 'cap' command, outputting the display of - CAP 302 values, if any, associated with each capability - - Module changes: - - Fixed bug in PBKDF2 that caused PBKDF2-only environments to not store - hashes properly, resulting in 'bad password' errors after relinking - - Deprecated the DNS module (functionality has been moved core Eggdrop - code). Eggdrop now natively handles asynchronous DNS (which was the - purpose of the DNS module), so the DNS module is no longer needed - - Fixed a bug with the Twitch module where it would crash on .rehash and - .restart - - Eggdrop config file changes: - - Added the 'extended-join' setting, to enable the extended-join CAP - capability - - Moved DNS-related settings out of the modules section and into the core - config area - - No longer load the (now-deprecated) DNS module by default - - _________________________________________________________________ - -Eggdrop v1.9.1: - - General changes: - - Fixed an issue where an IP address was incorrectly overwritten after a - CTCP chat was received - - Fixed an issue where Eggdrop would occasionally crash if no port was - provided when the server was added - - Error, instead of silently change, when adding a bot with invalid ascii - characters in the handle (.+bot) - - Removed an incorrect error message after restarting the bot with the - PBKDF2 module loaded - - Further improved error reporting for socket connections - - Botnet changes: - - None - - Tcl API changes: - - Fixed the isaway command to properly track AWAY server messages - - Module changes: - - None - - Eggdrop config file changes: - - Added Libera Chat to the accepted server types - - _________________________________________________________________ - -Eggdrop v1.9.0: - - General changes: - - Added CAP support, allowing Eggdrop to extend IRC server capabilities - - Added support for SASL authentication - - Added a BETA threaded DNS capability, enabled with the --enable-tdns - configure flag. This allows asynchronous DNS requests similar to the what - the current DNS module offers, but using host system capability instead - of rewriting it from scratch. Using this means you no longer have to use - the DNS module. - - Eggdrop can listen on multiple IPs (and ports) now by using multiple - instances of the 'listen' command - - Added Twitch support - - Added support for users that change hosts mid-session, usually associated - with authenticating with services (396 raw code and CHGHOST capability). - - Added support for the users that change their realname value mid-session - (SETNAME capability) - - Added the ability for Eggdrop to internally track the away status of an - individual, with some limitations. - - Added the 'make sslsilent' option that creates an SSL certificate keypair - non-interactively, to assist in scripted/automated installs - - Differentiate between scripted and server WHOX calls, preventing mangling - of channel userlists - - The -n flag is no longer required to run Eggdrop in terminal mode; just - -t or -c are fine by themselves - - Added some checks to flags added via .chattr and .botattr to clearly - identify what happens when you add flags that can't co-exist together - - Botnet changes: - - Removed automatic upgrade to TLS-protected botnet links with STARTTLS. - Based on user feedback, protecting a botnet link is now at the discretion - of the user. Prefixing a port with a '+' will require a TLS connection, - otherwise the connection will be in plaintext. A port not prefixed with a - + can still be upgraded with STARTTLS, allowing 1.8 bots and scripts to - initiate a secure connection, but 1.9.0 bots will not attempt the upgrade. - - Added granular userfile sharing flags (bcejnu). Adding these flags can - limit userfile sharing to a combination of bans, invites, exempts, - channels, users, and ignores (or still the s flag for all these). - - No longer try port+1,2,3 when connecting to a botnet port doesn't work - the first time - - Tcl API changes: - - Added the RAWT bind, which will (eventually) phase out the RAW bind. - Implementing the IRCv3 message-tags capability requires a new way to - handle basic IRC messages, and RAWT was added in a way so that a) RAW - binds in old scripts still work and b) the RAWT bind can handle messages - that either do or do not have message-tags attached - - Added the INVT bind, allowing Eggdrop to react to a standard invitation, - or the new IRCv3 invite-notify capability - - Added the AWY3 bind, allowing Eggdrop to react to the new IRCv3 - away-notify capability. - - Added the refreshchan command, which refreshes without removing existing - channel status information tracked by Eggdrop for users on a channel. - - Added the isaway command, which returns if a user is listed by the server - as away or not, if using the IRCv3 away-notify capability. If away-notify - is not enabled, this command can still be used effectively in conjunction - with 'refreshchan w', described above. - - Added the hand2nicks command, an alternative to the hand2nick command. - hand2nicks returns ALL nicks matching a handle, not just the first one. - - Added the socklist command, an update to the dcclist command. Returns - similar info as a Tcl dict, and adds the IP to the information. - - Use the system's strftime formatting instead of Eggdrop-provided - GNU version/extensions. This could cause formatting differences - or errors between systems. To ensure fully portable code, developers - should only rely on POSIX-compliant formatting specifiers. - - The dcclist command now returns port information and whether or not TLS - is in use for that port. This change could affect field-based parsers - depending on this command - - Added the addserver and delserver command, to *gasp* add and delete a - server from Eggdrop's server list - - Modified the listen command to accept an optional IP argument. This - allows Eggdrop to listen on multiple addresses by using multiple listen - commands in the config file or Tcl script. If no IP is specified, 0.0.0.0 - is used as default. As a result of this change, the listen-addr command - is no longer needed and removed from the config file - - Added an optional -channel flag to the end of the is* commands (isban, - isexempt, etc). This flag prevents the is* command from checking the - global list and returning a '1' when there is no channel-specific case - - Added several Tcl commands and binds to enable better interaction with - the Twitch gaming service. Because these commands only work with a Twitch - server, they are not included in tcl-commands.doc but rather - twitch-tcl-commands.doc, located in the doc/ directory. - - Limited the expiration for new bans, ignores and exempts to 2000 days. - - Module changes: - - Added the PBKDF2 module, which allows Eggdrop to hash passwords using the - PBKDF2 algorithm. This module is a stepping stone to future, more - adaptable hashing and encryption implementation. IMPORTANT: PLEASE read - doc/PBKDF2 for more information on how to properly use it, you could - accidentally render old passwords useless! - - Added the twitch module, which allows Eggdrop to connect to the Twitch - gaming service. As Twitch offers only a limited subset of standard IRC - functionality, be prepared for some commands or scripts to work - differently than on a normal IRC server. Please read doc/TWITCH for more - information. - - Added the ident module, which can automatically interact with a running - oidentd service or allow Eggdrop to serve as its own ident server to - respond to ident requests during the server connection process. - - Eggdrop config file changes: - - Added additional net-types for freenode, Quakenet, and Rizon (net-type) - - Added ability to choose specific SSL/TLS protocols to use (ssl-protocols) - - Added ability to allow bots to remain linked if userfile sharing fails - (sharefail-unlink) - - Changed the method Eggdrop uses to add servers from a {} list to the new - addserver command - - Removed the listen-addr command. See above; the listen command now - accepts an optional IP argument in lieu of using listen-addr - - Added the show-uname setting, which allows you to disable the display of - uname info for the host system in things like .status + - Added documentation that covers values commonly used when writing + new Tcl binds in C + - Added a tutorial to demonstrate how to share userfiles + - Added version variable for document generation ________________________________________________________________________ Copyright (C) 1997 Robey Pointer From dcd2efe750f2f8d4b07bc8cad8c79dd67da820f7 Mon Sep 17 00:00:00 2001 From: Geo Date: Wed, 7 Aug 2024 19:44:19 -0400 Subject: [PATCH 43/47] Update docs --- README | 50 ++- UPGRADING | 22 +- doc/BOTNET | 15 +- doc/IRCv3 | 15 + doc/TLS | 18 +- doc/core.settings | 8 - doc/html/_static/documentation_options.js | 2 +- doc/html/about/about.html | 10 +- doc/html/about/legal.html | 10 +- doc/html/index.html | 39 ++- doc/html/install/install.html | 10 +- doc/html/install/readme.html | 57 +++- doc/html/install/upgrading.html | 24 +- doc/html/modules/included.html | 29 +- doc/html/modules/index.html | 12 +- doc/html/modules/internals.html | 384 +++++++++++++--------- doc/html/modules/mod/assoc.html | 10 +- doc/html/modules/mod/blowfish.html | 10 +- doc/html/modules/mod/channels.html | 10 +- doc/html/modules/mod/compress.html | 10 +- doc/html/modules/mod/console.html | 10 +- doc/html/modules/mod/ctcp.html | 10 +- doc/html/modules/mod/dns.html | 10 +- doc/html/modules/mod/filesys.html | 10 +- doc/html/modules/mod/ident.html | 10 +- doc/html/modules/mod/irc.html | 10 +- doc/html/modules/mod/notes.html | 10 +- doc/html/modules/mod/pbkdf2.html | 10 +- doc/html/modules/mod/python.html | 92 +----- doc/html/modules/mod/seen.html | 16 +- doc/html/modules/mod/server.html | 10 +- doc/html/modules/mod/share.html | 10 +- doc/html/modules/mod/transfer.html | 10 +- doc/html/modules/mod/twitch.html | 10 +- doc/html/modules/mod/uptime.html | 15 +- doc/html/modules/mod/woobie.html | 10 +- doc/html/modules/writing.html | 10 +- doc/html/objects.inv | Bin 1556 -> 1709 bytes doc/html/search.html | 10 +- doc/html/searchindex.js | 2 +- doc/html/tutorials/firstscript.html | 16 +- doc/html/tutorials/firststeps.html | 16 +- doc/html/tutorials/module.html | 90 +---- doc/html/tutorials/setup.html | 40 +-- doc/html/tutorials/tlssetup.html | 16 +- doc/html/tutorials/userfilesharing.html | 179 ++++++++++ doc/html/using/accounts.html | 10 +- doc/html/using/autoscripts.html | 10 +- doc/html/using/bans.html | 10 +- doc/html/using/botnet.html | 26 +- doc/html/using/core.html | 16 +- doc/html/using/features.html | 10 +- doc/html/using/ipv6.html | 10 +- doc/html/using/ircv3.html | 19 +- doc/html/using/partyline.html | 10 +- doc/html/using/patch.html | 10 +- doc/html/using/pbkdf2info.html | 16 +- doc/html/using/python.html | 229 +++++++++++++ doc/html/using/tcl-commands.html | 36 +- doc/html/using/text-sub.html | 14 +- doc/html/using/tls.html | 24 +- doc/html/using/tricks.html | 10 +- doc/html/using/twitch-tcl-commands.html | 10 +- doc/html/using/twitchinfo.html | 18 +- doc/html/using/users.html | 10 +- doc/modules/MODULES | 11 +- doc/modules/mod.python | 143 ++++++++ doc/modules/mod.seen | 7 +- doc/modules/mod.uptime | 9 +- doc/sphinx_source/conf.py | 4 +- doc/sphinx_source/index.rst | 1 + doc/sphinx_source/modules/internals.rst | 4 +- doc/sphinx_source/using/tcl-commands.rst | 4 +- doc/tcl-commands.doc | 38 ++- 74 files changed, 1395 insertions(+), 701 deletions(-) create mode 100644 doc/html/tutorials/userfilesharing.html create mode 100644 doc/html/using/python.html create mode 100644 doc/modules/mod.python diff --git a/README b/README index 468549297..fdd5c32ef 100644 --- a/README +++ b/README @@ -24,10 +24,10 @@ WHAT IS EGGDROP? events, providing information, hosting games, etc. One of the features that makes Eggdrop stand out from other bots is - module and Tcl scripting support. With scripts and modules you can - make the bot perform almost any task you want. They can do anything: - from preventing floods to greeting users and banning advertisers from - channels. + module and Tcl and Python scripting support. With scripts and modules + you can make the bot perform almost any task you want. They can do + anything: from preventing floods to greeting users and banning + advertisers from channels. You can also link multiple Eggdrop bots together to form a botnet. This can allow bots to op each other securely, control floods @@ -60,16 +60,17 @@ FTP The latest Eggdrop stable source code is always located at https://geteggdrop.com. You can also download the current stable, - previous stable, and development snapshot via FTP at - ftp://ftp.eggheads.org/pub/eggdrop/source + previous stable, and development snapshot at + https://ftp.eggheads.org/pub/eggdrop/source Git Development Snapshot - Eggdrop development has moved from a CVS-based version control system - to git. If you are interested in trying out the VERY LATEST updates to - Eggdrop, you may be interested in pulling the most recent code from - there. BE WARNED, the development branch of Eggdrop is not to be - considered stable and may (haha) have some significant bugs in it. + Eggdrop developers use git to manage the Eggdrop codebase for + development. If you are interested in trying out the VERY LATEST + updates to Eggdrop, you can use git to obtain most recent code from + the Eggheads repository. BE WARNED, the development branch of Eggdrop + is not to be considered stable and may (haha) contain significant bugs + still being worked on. To obtain Eggdrop via the git repository (hosted by GitHub), you can either clone the repository via git or download a development @@ -105,10 +106,29 @@ SYSTEM PRE-REQUISITES download Tcl source from https://www.tcl.tk/software/tcltk/download.html. - It is also strongly recommended to install openssl (and its - development headers) in order to enable SSL/TLS protection of network - data. The header files are often called something similar to - 'libssl-dev'. + Eggdrop also requires openssl (and its development headers) in order + to enable SSL/TLS protection of network data. The header files are + often called something similar to 'libssl-dev'. While not advised, + this requirement can be removed by compilling using + ./configure --disable-tls, but you will not be able to connect to + TLS-protected IRC servers nor utilize secure botnet communication. + +MINIMUM REQUIREMENTS + +Some components of Eggdrop relies on a variety of third-party libraries, +documented here. + + ----------------------------------------------------------------------- + Functionality Package Minimum Version + ------------------------------- ------------------- ------------------- + Tcl interpreter (required) Tcl Dev Library 8.5.0 + + Secure communication OpenSSL 0.9.8 + + Python module Python 3.8.0 + + Compression module zlib Any + ----------------------------------------------------------------------- QUICK STARTUP diff --git a/UPGRADING b/UPGRADING index 562c88247..ef9464e16 100644 --- a/UPGRADING +++ b/UPGRADING @@ -26,7 +26,7 @@ HOW TO UPGRADE Restart your Eggdrop and you will be up and running with the latest version of Eggdrop. -MUST-READ CHANGES FOR EGGDROP V1.9 +MUST-READ CHANGES FOR EGGDROP V1.10 These are NOT all the changes or new settings; rather just the "killer" changes that may directly affect Eggdrop's previous performance without @@ -34,7 +34,7 @@ modification. Config file changes -To migrate from a 1.8 to a 1.9 Eggdrop, some changes are suggested to be +To migrate from a 1.8 to a Eggdrop, some changes are suggested to be made in your configuration file: - Eggdrop has deprecated the blowfish module for password hashing in @@ -62,22 +62,22 @@ made in your configuration file: Modules -While most 3rd party modules that worked on Eggdrop v1.6/v1.8 should -still work with Eggdrop v1.9, many of them contain a version check that -only allows them to run on 1.6.x bots. We have removed the version check -from some of the more popular modules provide them at -ftp://eggheads.org/pub/eggdrop/modules/1.9/ +While most 3rd party modules that worked on older Eggdrop versions +should still work with Eggdrop , many of them contain a version check +that only allows them to run on 1.6.x bots. We have removed the version +check from some of the more popular modules provide them at +https://ftp.eggheads.org/pub/eggdrop/modules/1.10/ Scripts -All 3rd party Tcl scripts that work with Eggdrop v1.6/v1.8 should fully -work with Eggdrop v1.9. +All 3rd party Tcl scripts that worked with Eggdrop versions as early as +v1.6 should still fully work with Eggdrop . Botnet In Eggdrop v1.8, Eggdrop bots would automatically attempt to upgrade any -botnet link to an SSL/TLS connection. In v1.9, the user is required to -explicitly request an SSL/TLS connection by prefixing the port with a +botnet link to an SSL/TLS connection. Since v1.9, the user is required +to explicitly request an SSL/TLS connection by prefixing the port with a '+'. If you wish your botnet to take advantage of encryption, use the .chaddr command to update your ports to start with a '+'. diff --git a/doc/BOTNET b/doc/BOTNET index a33c42d00..e5d5468f7 100644 --- a/doc/BOTNET +++ b/doc/BOTNET @@ -90,15 +90,18 @@ Port and/or users. Note that you can define separate ports for user and bot connections. -EXAMPLE BOTTREE +EXAMPLE BOTTREES BotA |-+BotB - `-+BotC - -BotB is linked to a master sharebot, BotA, and a slave sharebot, BotC. -BotB shares passively with [receives from] BotA and shares aggressively -with [sends to] BotC. + |==BotC + |=+BotD + `--BotC + +Legend: * -- means the bots are linked, but not sharing userfiles * -+ +means the bots are sharing userfiles * == means the bots have an +encrypted link between them, and are not sharing userfiles * =+ means +the bots have an encrypted link between them, and are sharing userfiles BOT FLAGS diff --git a/doc/IRCv3 b/doc/IRCv3 index c5567b11e..0cb8e3df6 100644 --- a/doc/IRCv3 +++ b/doc/IRCv3 @@ -52,6 +52,21 @@ The following capabilities are supported by Eggdrop: - Monitor - server-time - setname + - userhost-in-names - +typing +ERRATA + +- Enabling echo-message will cause Eggdrop to trigger PUB/PUBM binds + on its own messages (because now it can actually see them). This may + cause unintentional functionality with some scripts +- Enabling userhost-in-names will cause Eggdrop's internal mechanisms + to mark a channel's userlist as synch'd upon receiving the NAMES + list after a join, instead of waiting for a full WHO listing. This + is done because the assumption is that userhost-in-names was enabled + as a response to WHO queries being disabled on a server, which + prevents Eggdrop from populating its userlist. To avoid unintended + functionality, it is suggested that this capability only be enabled + on servers that disable WHO queries. + Copyright (C) 2010 - 2024 Eggheads Development Team diff --git a/doc/TLS b/doc/TLS index e218a81cb..9b848585a 100644 --- a/doc/TLS +++ b/doc/TLS @@ -3,14 +3,14 @@ TLS support Last revised: Jan 26, 2020 TLS support This document provides information about TLS support which is a new -eggdrop feature since version 1.8.0. +Eggdrop feature since version 1.8.0. ABOUT Eggdrop can be optionally compiled with TLS support. This requires -OpenSSL 0.9.8 or more recent installed on your system. TLS support -includes encryption for IRC, DCC, botnet, telnet and scripted -connections as well as certificate authentication for users and bots. +OpenSSL 0.9.8 or later installed on your system. TLS support includes +encryption for IRC, DCC, botnet, telnet and scripted connections as well +as certificate authentication for users and bots. INSTALLATION @@ -82,7 +82,7 @@ like this: In short, a bot added to your Eggdrop with a +port in the address can only connect to a bot listening with a +port in the config. Conversely, -a bot added to your eggdrop without a + prefix can only connect to a bot +a bot added to your Eggdrop without a + prefix can only connect to a bot listening without a + prefix in the config. If TLS negotiation fails, the connection is deliberately aborted and no @@ -111,7 +111,7 @@ Scripts can open or connect to TLS ports the usual way specifying the port with a plus sign. Alternatively, the connection could be established as plaintext and later switched on with the starttls Tcl command. (Note that the other side should also switch to TLS at the same -time - the synchronization is the script's job, not eggdrop's.) +time - the synchronization is the script's job, not Eggdrop's.) KEYS, CERTIFICATES AND AUTHENTICATION @@ -121,7 +121,7 @@ bots and TLS listening ports. General information about certificates and public key infrastructure can be obtained from Internet. This document only contains eggdrop-specific information on the subject. The easy way to create a key and a certificate is to type 'make sslcert' after -compiling your bot (If you installed eggdrop to a non-standard location, +compiling your bot (If you installed Eggdrop to a non-standard location, use make sslcert DEST=/path/to/eggdrop). This will generate a 4096-bit private key (eggdrop.key) and a certificate (eggdrop.crt) after you fill in the required fields. Alternatively, you can use 'make sslsilent' to @@ -133,12 +133,12 @@ make a ssl certificate for yourself and enable ssl-cert-auth in the config file. Then either connect to the bot using TLS and type ".fprint +" or enter your certificate fingerprint with .fprint SHA1-FINGERPRINT. To generate a ssl certificate for yourself, you can run the following -command from the eggdrop source directory: +command from the Eggdrop source directory: openssl req -new -x509 -nodes -keyout my.key -out my.crt -config ssl.conf When asked about bot's handle, put your handle instead. How to use your -new certificate to connect to eggdrop, depends on your irc client. To +new certificate to connect to Eggdrop, depends on your irc client. To connect to your bot from the command line, you can use the OpenSSL ssl client: diff --git a/doc/core.settings b/doc/core.settings index 6597611b9..b17b2c1dc 100644 --- a/doc/core.settings +++ b/doc/core.settings @@ -118,14 +118,6 @@ overwritten by the logfile of the next day. reaches the size of 550 kilobytes. Note that this only works if you have keep-all-logs set to 0 (OFF). - set quick-logs 0 - - This could be good if you have had a problem with logfiles filling - your quota/hard disk or if you log +p and publish it to the web, - and you need more up-to-date info. Note that this setting might - increase the CPU usage of your bot (on the other hand it will - decrease your RAM usage). - set raw-log 0 This setting allows you the logging of raw incoming server traffic diff --git a/doc/html/_static/documentation_options.js b/doc/html/_static/documentation_options.js index 935cd0815..693055604 100644 --- a/doc/html/_static/documentation_options.js +++ b/doc/html/_static/documentation_options.js @@ -1,5 +1,5 @@ const DOCUMENTATION_OPTIONS = { - VERSION: '1.9.5', + VERSION: '1.10.0rc1', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/doc/html/about/about.html b/doc/html/about/about.html index 184a2cd4c..e589e343e 100644 --- a/doc/html/about/about.html +++ b/doc/html/about/about.html @@ -5,10 +5,10 @@ - About Eggdrop — Eggdrop 1.9.5 documentation + About Eggdrop — Eggdrop 1.10.0rc1 documentation - + @@ -18,7 +18,7 @@ diff --git a/doc/html/about/legal.html b/doc/html/about/legal.html index 5e510d5b1..d64811836 100644 --- a/doc/html/about/legal.html +++ b/doc/html/about/legal.html @@ -5,10 +5,10 @@ - Boring legal stuff — Eggdrop 1.9.5 documentation + Boring legal stuff — Eggdrop 1.10.0rc1 documentation - + @@ -17,7 +17,7 @@ diff --git a/doc/html/index.html b/doc/html/index.html index fedeb01b5..e272b96bf 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -5,10 +5,10 @@ - Eggdrop, an open source IRC bot — Eggdrop 1.9.5 documentation + Eggdrop, an open source IRC bot — Eggdrop 1.10.0rc1 documentation - + @@ -17,7 +17,7 @@ diff --git a/doc/html/install/install.html b/doc/html/install/install.html index 2455a4844..f2d430e26 100644 --- a/doc/html/install/install.html +++ b/doc/html/install/install.html @@ -5,10 +5,10 @@ - Installing Eggdrop — Eggdrop 1.9.5 documentation + Installing Eggdrop — Eggdrop 1.10.0rc1 documentation - + @@ -18,7 +18,7 @@