From 21dc563c57ed5ebc279942968df9853e57732122 Mon Sep 17 00:00:00 2001 From: Stefan Ritt Date: Tue, 23 Dec 2014 14:24:47 +0100 Subject: [PATCH] Implemented send_with_timeout() --- Makefile | 2 +- checklist.txt | 14 +- doc/ChangeLog | 12 + doc/adminguide.html | 45 ++- doc/elog.css | 5 + doc/index.html | 2 +- doc/index_nd.html | 2 +- resources/eloglang.german | 5 +- resources/eloglang.slovak | 462 +++++++++++++++++++++++++- src/elogd.c | 153 +++++---- xcode/elogd.xcodeproj/project.pbxproj | 2 +- 11 files changed, 592 insertions(+), 112 deletions(-) diff --git a/Makefile b/Makefile index ecfd9129..27f5cc57 100644 --- a/Makefile +++ b/Makefile @@ -216,7 +216,7 @@ install: $(EXECS) ifeq ($(OSTYPE),darwin) @$(INSTALL) -v -m 0644 elogd.plist /Library/LaunchDaemons/ch.psi.elogd.plist @echo The elogd service can now be started with - @echo " launchctl load /Library/LaunchDaemons/ch.psi.elogd.plist" + @echo " sudo launchctl load /Library/LaunchDaemons/ch.psi.elogd.plist" else @sed "s#\@PREFIX\@#$(PREFIX)#g" elogd.init_template > elogd.init @mkdir -p -m 0755 $(RCDIR) diff --git a/checklist.txt b/checklist.txt index d36d835b..ead49a3b 100755 --- a/checklist.txt +++ b/checklist.txt @@ -1,26 +1,16 @@ Checklist for new ELOG version ============================== -On RS32: +On Mac (MPC1865): - Put all new options in doc/config.html - Increase version in elog-version.h - Do the same in doc/index.html and index_nd.html - Modify ChangeLog - Add release date to ChangeLog - -On VPC6562-1: - -- "svn update" - "make loc" - Translate new strings in eloglang.german -- "make indent" -- svn -m "Run indent" commit - -On RS32: - -- "svn update" -- c:\elog> svn ci -m "Release x.x.x-y" +- "git commit -a -m "Release x.x.x-y" On VPC6562-1: diff --git a/doc/ChangeLog b/doc/ChangeLog index eb12661a..ca885aa8 100755 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,15 @@ +Version 3.0.0, released December 23th, 2014 +=========================================== + +- Replaced insecure SSLv23 with TLSv1 method +- Switched from SVN to GIT versioning +- Implemented service under Mac OSC via launchd +- Added LDAP support for authentication +- Don’t overwrite certificated, themes and init scrip during ‘make install’ +- Create one logbook subdirectory pear year +- Switched to CKEditor with Drag & Drop Upload (courtesy of Dario Milicic) + + Version 2.9.2, released April 27th 2012 ======================================= diff --git a/doc/adminguide.html b/doc/adminguide.html index d558a453..da253888 100755 --- a/doc/adminguide.html +++ b/doc/adminguide.html @@ -38,10 +38,7 @@
How to set up and run your very own ELOG server

-
  Installing and running on UNIX  
-

-ELOG is being developed and tested under Linux, and is being used on (Sparc) Solaris -workstations. It should also compile and run on other UNIX flavours. +

  Installing and running on Linux  


Installation from the RPM file:

@@ -162,6 +159,37 @@ described
below.
  Notes for various platforms  

+

Mac OS X:

+

+Under Mac OSX, ELOG must be compiled from the source code. The OSX command line tools (compiler & Co) +must be available, which can be done thought he free Xcode package which can be obtained though the App Store. +Once Xcode is installed, you can do a xcode-select --install to install the command line tools. +After that, a simple make in in the elog directory does the job of compiling ELOG. +If SSL support is needed (access via https://...), you have to install OpenSSL and turn on SSL support in the +Makefile by setting USE_SSL = 1. You can install OpenSSL for example through the +MacPorts project. After having installed MacPorts, you do a +sudo port install openssl.

+ +After successful compilation, you do a sudo make install to install all required files under +the installation directory, which is by default /usr/local/. A subdirectory /usr/local/elog +is created which contains a simple example logbook. The ELOG server can now be started either manually with +

+/usr/local/sbin/elogd +

+ or through the daemon servics with +

+sudo launchctl load /Library/LaunchDaemons/ch.psi.elogd.plist +

+To stop the service, use +

+sudo launchctl unload /Library/LaunchDaemons/ch.psi.elogd.plist +

+


+

Debian:

+

+A Debian package is available under https://tracker.debian.org/pkg/elog. + +


Solaris:

Martin Huber reports that @@ -174,15 +202,6 @@ been problems with ELOG's keep-alive feature. In such a case you n the "-k" flag to the elogd command line to turn keep-alives off.

-


Mac OS X:

- -

Sridhar Anandakrishnan and -Recai Oktas report that under Mac OS X there is a problem with -the default stack size. The command limit stacksize unlimited (for tcsh) or -ulimit -s unlimited (for bash) increases the stacksize and fixes this problem. -Read the according thread in the forum. -

-


FreeBSD:

David Otto maintains the diff --git a/doc/elog.css b/doc/elog.css index 31771a61..f82ff14b 100755 --- a/doc/elog.css +++ b/doc/elog.css @@ -46,6 +46,11 @@ body { font-family: Verdana,Arial,Helvetica,Sans-Serif; } + + code { + font-family: Courier,Fixed,monospace; + font-weight: bold; + } p { margin-left: 10px; diff --git a/doc/index.html b/doc/index.html index fd9b2cbf..d01cd8fd 100755 --- a/doc/index.html +++ b/doc/index.html @@ -28,7 +28,7 @@  [Links]  * 

Home of the Electronic Logbook package by Stefan Ritt

-
Current version is : 2.9.2
+
Current version is : 3.0.0
certificate diff --git a/doc/index_nd.html b/doc/index_nd.html index 2c5c2afd..5063c0cf 100644 --- a/doc/index_nd.html +++ b/doc/index_nd.html @@ -28,7 +28,7 @@  [Links]  * 

Home of the Electronic Logbook package by Stefan Ritt

-
Current version is : 2.9.2
+
Current version is : 3.0.0
certificate
diff --git a/resources/eloglang.german b/resources/eloglang.german index efacd6c9..cbfbeeca 100755 --- a/resources/eloglang.german +++ b/resources/eloglang.german @@ -1,7 +1,7 @@ # # German translation by stefan.ritt@psi.ch -# A more recent version may be available at : -# http://savannah.psi.ch/viewcvs/trunk/resources/eloglang.german?root=elog +# A more recent version may be available at: +# https://bitbucket.org/ritt/elog # New = Neu @@ -476,4 +476,3 @@ CSV (";" separated) + Text = CSV (mit ";" getreent) + Text Entry can only be deleted %1.2lg hours after creation = Eintrag kann nur %1.2lg Stunden nach dem Anlegen gelscht werden Drop attachments here... = Anhnge bitte hier ablegen... Insert Timestamp = Aktuelle Zeit einfgen - diff --git a/resources/eloglang.slovak b/resources/eloglang.slovak index a6861c03..7fd20159 100644 --- a/resources/eloglang.slovak +++ b/resources/eloglang.slovak @@ -1 +1,461 @@ -# # Slovak translation by Branislav Gardon # New = Nový Edit = Úprava Delete = Zmazať Reply = Odpovedať Find = Hladať Last day = Posledný den Last 10 = Posledných 10 Config = Konfigurácia Change password = Zmena hesla Logout = Odhlásenie Help = Pomoc Back = Späť Submit = Odovzdať First = Prvý Last = Posledný Previous = Predchádzajúci Next = Ďalší Copy to = Kopírovať do Move to = Presunúť do Save = Uložiť Cancel = Zrušiť Wrong password = Nesprávne heslo Please login = Prosím prihláste sa Username = Prihlasovacie meno Password = Heslo Old password = Staré heslo New password = Nové heslo ELOG change password = ELOG zmena hesla Several logbooks are defined on this host = Na tomto hoste je definovaných niekoľko denníkov Please select the one to connect to = Zvoľte jedno k pripojeniu Change password for user = Zmena hesla pre užívateľa Logged in as = Prihlasený ako Entry date = Dátum príspevku with = s This is the last entry = Toto je posledný príspevok This is the first entry = Toto je prvý príspevok Email sent to = Email odoslaný na Email notification suppressed = Upozornenie emailom zakázané please select = prosím zvoľte Suppress Email notification = Zakázať upozornenie emailom Resubmit as new entry = Potvrď ako nový záznam Attachment = Príloha Reply to this = Odpovedať na In reply to = V odpovedi na Fields marked with = Pole označené s are required = sú vyžadované Please check that it exists and elogd has write access = Prosím uistite sa, že existuje a elogd ma právo na zapisovanie Error: Attribute %s not supplied = Chyba: Atribút %s nie je zásobený Please go back and enter the %s field = Prosím choďte späť a zadajte %s pole Please use your browser's back button to go back = Prosím použite tlačítko späť vášho prehliadača k návratu ELOG find = ELOG nájsť Find = Nájsť Search = Hľadať Reset Form = Nulovať formulár Summary only = Iba zhrnutie Show attachments = Ukáž prílohy Printable output = Tlačový výstup Sort in reverse order = Zoraď v opačnom poradí Start date = Počiatočný dátum End date = Koncový dátum Year = Rok Text = Text Search all logbooks = Prehľadaj všetky denníky Last %d days = Posledných %d dní Last %d entries = Posledných %d záznamov No entries found = Žiadne záznamy neboli nájdené A new entry has been submitted on %s = Nový záznam bol potvrdený na %s Logbook = Denník Yes = Áno No = Nie Error deleting message: status = Chyba mazania správy: status Error: Command "%s" not allowed = Chyba: Príkaz "%s" nie je povolený Cannot open file %s = Nemôžem otvoriť súbor %s Cannot write to %s = Nemôžem zapísať do %s No SMTP host defined in [global] section of configuration file = Nie je definovaný žiadny SMTP host v sekci [global] konfiguračného súboru Display threads = Zobraz vlákno Logbook is empty = Denník je prázdny Download = Stiahnúť and all its replies = a všetky jeho odpovede Message ID = ID správy Not logged in = Neprihlásený Login = Prihlásenie Page %d of %d = Strana %d z %d all entries = všetky záznamy Login name = Prihlasovacie meno Full name = Celé meno ELOG user config = ELOG konfigurácia užívateľa ELOG new user = ELOG nový užívateľ Admin = Admin Select user = Označ užívateľa Remove user = Vymaž užívateľa New user = Nový užívateľ Retype new password = Zadaj nové heslo New passwords do not match, please retype = Nové heslo sa nezhoduje, prosím zadaj znovu Retype password = Zadaj znovu heslo exists already = už existuje Register as new user = Registruj sa ako nový užívateľ A new ELOG user has been registered on %s = Nový ELOG užívateľ bol registrovaný na %s Email = Email User "%s" registered on logbook "%s" = Užívateľ "%s" registrovaný v denníku "%s" User [%s] has been deleted = Užívateľ [%s ]bol zmazaný Hit following URL to activate that account = Zadajte následujúcu URL k aktivácii tohto účtu ELOG registration = ELOG registrácia Your ELOG account has been activated on host = Váš ELOG účet bol aktivovaný na hoste You can access it at = Možte pristupovať na Are you sure to delete these messages? = Naozaj chcete zmazať túto správu? Select = Označte All entries = Všetky záznamy Day = Deň Week = Týždeň Month = Mesiac Show last = Ukáž posledný Goto page = Choď na stránku All = Všetko Display = Zobraz entries per page = položiek na stránku Toggle all = Odobrať všetko Selected entries = Označené záznamy Collapse = Zbaliť Expand = Rozbaliť Full = Plné Summary = Súhrn Threaded = Vláknitý Filters = Filtre Mode = Mód Options = Voľby Error: start date after end date = Chyba: počiatočný dátum po konečný dátum and all their replies = a všetky ich odpovede Upload = Nahrať Requested = Požadovaný A new ELOG user wants to register on "%s" = Nový užívateľ sa chce registrovať na "%s" Search text also in attributes = Hľadaj text aj v atribútoch Date = Dátum ID = ID Forgot password? = Zabudli ste heslo? ELOG password recovery = ELOG obnova hesla No Email address registered with user name "%s" = Žiadna emailová adresa registrovaná s uživateľským menom "%s" Error sending Email via "%s" = Chybné zaslanie emailu cez "%s" Forgot = Zabudol User "%s" registered on host "%s" = Užívateľ "%s" registrovaný na hoste "%s" Enter your user name or email address = Zadajte vaše užívateľské meno alebo emailovú adresu Password recovery for ELOG %s = Obnova hesla pre ELOG %s Host = Host Your ELOG account has been activated = Váš ELOG účet bol aktivovaný Maximum number of attachments reached = Maximální počet príloh prekročený on = na Entry is currently edited by = Záznam je práve menený recipients = príjimatelia Suppress shell execution = Potlačiť vykonávanie shell programu Update = Aktualizácia by = od Change %s = Zmeň %s Add new option here = Pridaj novú voľbu Expand all = Rozbaľ všetko Add %s = Pridať %s Synchronization = Synchronizácia Error: Value %s not allowed for boolean attributes = Chyba: Hodnota %s nie je dovolená pre boolean atribút Error: Attribute option %s not existing = Chyba: Atribút voľba %s neexistuje Last submission = Posledné odovzdanie Synchronize = Synchronizuj No mirror server defined in configuration file = V konfiguračnom súbore nie sú definované žiadne zrkadlované servre user = užívateľ Maximum number of replies (%d) exceeded = Maximálny počet odpovedí (%d) prekročený Entry can only be edited %1.2lg hours after creation = Záznamy možu býť menené iba %1.2lg hodín po vytvorení Display full entries = Zobraz plné záznamy No entry selected for deletion = Nie sú označené žiadne záznamy pre mazanie Cannot read entry from local logbook = Nie je možné čítať žiadne záznamy z lokálneho denníku Cannot connect to host %s, port %d = Nie je možné pripojenie k hostu %s, portu %d Cannot receive "%s" = Nie je možné prijať"%s" Received wrong entry id "%d" = Prijaté chybné ID záznamu "%d" Entry #%d is locked on remote server = Záznam #%d je zamknutý na vzdialenom serveri Cannot save remote entry locally = Nie je možné uložiť vzdialenú položku lokálne local = lokálny remote = vzdialený Please delete %s or %s entry to resolve conflict = Prosím zmažte %s alebo %s záznam pre vyriešenie konfliktu Error sending local entry = Zaslaná chyba lokálneho záznamu Local entry submitted = Lokálna chyba potvrdená Error deleting remote entry = Chyba mazania vzdialeného záznamu New entry cannot be written to directory "%s" = Nie je možné zapísať novú položku do adresára "%s" Entry %s cannot be read from logbook "%s" = Záznam %s nie je možné čítať z denníku %s This entry has been deleted = Tento záznam bol zmazaný Entries = Záznamy Cannot connect to remote server "%s" = Nie je možné prippojenie k vzdialenému serveru "%s" Remote server is not an ELOG server = Vzdialený server nie je ELOG Server Incorrect remote ELOG server version %s = Nesprávna verzia %s vzdialeného servera Error accessing remote logbook = Chyba prístupu k vzdialenému denníku Invalid HTTP header = Neplatná HTTP hlavička No user name supplied to access remote logbook = Nie sú zadané žiadne uživateľské mená k vzdialenému prístupu denníka Synchronizing logbook %s with server "%s" = Synchronizácia denníku %s so serverom "%s" Configuration has been changed locally and remotely = Konfigurácia zmenená lokálne aj vzdialene Please merge manually to resolve conflict = Pripojte ručne k vyriešeniu konfliktu Logbook "%s" does not exist on remote server = Logbook "%s" neexistuje na vzdialenom serveri Entry has been changed locally and remotely = Záznam bol zmenený lokálne aj vzdialene Entry deleted locally = Záznam bol zmazaný lokálne Changed local entry ID to %d = Zmenené lokálne ID záznamu na %d Entry deleted remotely = Záznam bol zmazaný vzdialene All entries identical = Všetky záznamy sú rovnaké Invalid mirror_id or entry_date = Neplatné zrkadlové_id alebo zaznamový_dátum Synchronize all logbooks = Synchronizuj všetky denníky Calendar = Kalendár Remote entry received = Vzdialený záznam prijatý Pick a date = Vložte dátum Please select at least one '%s' =Prosím označte nejmenej jednu '%s' Please select a '%s' = Prosím označte '%s' Please enter month for attribute '%s' = Prosím zvoľte mesiac pre atribút '%s' Please enter day for attribute '%s' = Prosím zvoľte den pre atribút '%s' Please enter year for attribute '%s' = Prosím zvoľte rok pre atribút '%s' Please enter attribute '%s' = Prosím zvoľte atribút '%s' Entry time = Čas vloženia Start = Začiatok End = Koniec From = Z After = Po to = do Before = Pred Previous Year = Minulý rok Next Year = Budúci rok Please enter numeric value for '%s' = Prosím vložte číselnú hodnotu pre '%s' Error: Attribute %s must be numeric = Chyba: Atribút %s musí byť číslo 3 Months = 3 Mesiace 6 Months = 6 Mesiacov Error sending local message = Chyba zasielnia miestnej správy Error receiving message = Chyba príjmu správy Are you sure to delete this entry? = Chcete naozaj zmazať tento záznam? ELOG CSV import = ELOG CSV import Import = Import CSV filename = CSV meno súboru Field separator = Oddeľovač polí Edit entry = Upraviť záznam Delete entry = Zmazať záznam CSV Import = CSV Import Derive attributes from CSV file = Odvodzovať atribúty z CSV súboru Comma = Čiarka Semicolon = Bodkočiarka Preview import = Náhľad importu CSV import preview of %s = Náhľad CSV importu z%s Too many attributes in CSV file = Príliš veľa atribútov v CSV súbore %d entries successfully imported = %d záznam bol úspešne importovaný No 'Attributes' option present in %s = Voľba 'Attributes' nie je dostsupná v %s CSV ("," separated) = CSV ("," oddeľovačom) CSV (";" separated) = CSV (";"oddeľovačom) Auto detect = Automatické zisťovanie text = text Column header '%s' must be present in CSV file = Stĺpec hlavičky sa musí nachádzať v CSV súbore '%s' Fill text body = Vyplňte telo textu Please re-enter filename = Prosím zadajte znovu meno súbora Last x = Posledných x Activate = Aktivuj Entry has been modified = Záznam bol modifikovaný No attachment file specified = Nie sú špecifikované žiadne prílohy Submit modified ELOG entry? = Potvrdiť zmenu ELOG záznamu? Delete this logbook = Zmaž tento denník Rename this logbook = Premenuj tento denník Create new logbook = Vytvor nový denník Syntax error in config file = Chyba syntaxu v konfiguračnom súbore Email notification = Emailové upozornenia Are you sure to delete logbook "%s"? = Určite chcete zmazať denník "%s"? Logbook "%s" exists already, please choose different name = Denník "%s" už existuje, prosím zvoľte iné meno Rename logbook = Premenuj denník Enter new logbook name = Vložte nové meno denníku Logbook name = Meno denníku Use existing logbook as template = Použi existujúcí denník ako šablónu none = žiadny URL is redirected to: = URL je presmerovaná na: Remote config should be received = Vzdialená konfigurácia by mala byť prijatá Local entry should be submitted = Lokálny záznam by mal byť odovzdaný Remote entry should be received = Vzdialený záznam by mal byť prijatý Local entry = Lokálny záznam %s should be deleted = %s mal by byť zmazaný Entry should be deleted locally = Záznam by mal byť zmazaný lokálne Local entry ID should be changed to %d = Lokálne ID záznamu by malo byť zmenené na %d Remote entry = Vzdialený záznam Entry should be deleted remotely = Záznam by mal byť zmazaný vzdialene Click here to delete %d entries = Kliknite tu pre zmazanie %d záznamu Click here to delete this entry = Kliknite tu pre zmazanie tohto záznamu Maximum number of attribute options exceeded = Maximálny počet volieb atribútov bol prekročený Please increase MAX_N_LIST in elogd.c and recompile = Prosím zväčši MAX_N_LIST v elogd.c a prekompiluj You can "steal" the lock by editing this entry = Môžte "ukradnúť" zámok upravením tohto záznamu Several logbooks groups are defined on this host = Na tomto hoste je definovaných nikoľko skupín denníkov Please select one to list the logbooks in that group = Prosím vyberte jeden z denníkov v tejto skupine No logbook defined on this server = Na tomto serveri nie sú definované žiadne denníky Goto ELOG home page = Choďte na ELOG domovskú stránku Please enter "%s" = Prosím vložte "%s" Change config file = Zmena v konfiguračného súboru Please check that it exists and elogd has write access and disk is not full = Prosím skontrolujte či existuje a či elogd ma právo na zapisovanie a disk nie je plný Show = Ukáž Hide = Skry Hide all = Skry všetko Show all = Ukáž všetko This logbook requires authentication = Tento denník vyžaduje autentifikáciu Attachment file "%s" empty or not found = Pripojený súbor "%s" je prázdny alebo nebol nájdený Case sensitive = Rozlišovať malé a veľké písmena List = Zoznam Date must be between 1970 and 2037 = Dátum musí byť medzi 1970 und 2037 up = hore down = dole stop = zastaviť Entry = Záznam name may not contain blanks = meno nemôže byť prázdne regular expressions = regulárny výraz Text fields are treated as %s = Textové polia sú upravené ako %s Subscribe to logbooks = Prihlásiť sa k odberu denníka enable automatic email notifications = povoliť automatické emailové upozornenia Set all = Nastaviť všetko Set none = Nenastaviť nič Insert current time = Vlož aktuálny čas Please enter hour for attribute '%s' = Prosím zadajte hodinu pre atribút '%s' Please enter minute for attribute '%s' = Prosím zadajte minútu pre atribút '%s' Please enter second for attribute '%s' = Prosím zadajte sekundu pre atribút '%s' No admin user has been defined in configuration file = V konfiguračnom súbore nie ja definovaný žiadny administrátor Duplicate = Duplikát Cannot lookup server name = Nie je možné zistiť meno servera Cannot connect to server = Nie je možné pripojenie k serveru %s wrote = %s napísal Quote = Citát Please enter numeric value for year of attribute '%s' = Prosím zadajte číselnú hodnotu pre rok atribútu '%s' Preview = Náhľad FONT = PÍSMO SIZE = VEĽKOSŤ COLOR = FARBA smiling = usmievavý happy = šťastný winking = blikajúcí big grin = široký úsmev crying = plakajúci cool = kľudný frowning = zamračený confused = zmätený mad = šialený pleased = spokojný tongue = jazyk yawn = znudený Encoding = kódovanie User "%s" not found in password file = Užívateľ "%s" nebol nájdený v súbore hesiel Cannot write to file %s =Nie je možné zapísať do súboru %s Really remove user %s? =Určite chcete zmazať užívateľa %? Invalid user name "%s" or password for remote logbook = Neplanté užívateľské meno "%s"alebo heslo pre vzdialený denník Hide attachments = Skry prílohy Show only new entries = Ukáž len nové záznamy Show all entries = Ukáž všetky záznamy New entries since = Nové záznamy od An old ELOG entry has been updated = Starý ELOG záznam bol aktualizovaný A new ELOG entry has been submitted = Nový ELOG záznam bol odovzdaný Invalid user name or password = Neplatné užívateľské meno alebo heslo Upload image = Nahrávanie obrázku Please enter filename or URL = Prosím zadajte meno súboru alebo URL Maximum allowed file size is = Maximálna povolená veľkosť súboru je Enter filename or URL = Zadajte meno súbora alebo URL Image uploaded successfully = Obrázok bol nahraný úspešne Image "%s" uploaded successfully = Obrázok "%s" bol nahraný úspešne HelpELCode = PomocELCode Cannot retrieve file from URL "%s" = Nie je možné získať súbor z URL "%s" Enter name of hyperlink = Zadajte meno hyperlinky Enter URL of hyperlink = Zadajte URL hyperlinky astonished = užasnutý Error in regular expression "%s" = Chyba v regulárnom výraze "%s" File not found at URL "%s" = Súbor nebol nájdený na URL "%s" Entry size too large for email notification = Záznam je príliš veľký pre emailové upozornenie Please specify a valid email address = Prosím zadajte platnú emailovú adresu Cannot send email notification to "%s" = Nie je možné poslať emailové upozornenie "%s" Error: Command "%s" is not allowed for user "%s" = Chyba: Príkaz "%s" nie je povolený pre užívateľov "%s" Shell execution not enabled via -x flag = Shell príkaz nebol povolený cez -x flag Enter heading level (1, 2 or 3) = Zadajte úroveň nadpisu (1, 2 oder 3) User name may not contain blanks = Užívateľské meno nesmie byť prázdne Empty password not allowed = Prázdne heslo nie je povolené Password may not contain blanks = Heslo nesmie obsahovať medzery Anonymous = Anonym Activation notice has been sent to %s = Oznámenie o aktivácii bolo zaslané na %s Your request has been forwarded to the administrator = Vaša požiadavka bola zaslaná administrátorovi You will be notified by email upon activation of your new account = O aktivácii vášho nového účtu budete informovaný emailom Select period = Označte obdobie Last week = Posledný týždeň Last month = Posledný mesiac Last 3 Months = Posledné 3 mesiace Last 6 Months = Posledných 6 mesiacov Last Year = Posledný rok Enter %s = Enter Select %s = Označ Bold text CTRL+B = Hrubé Italics text CTRL+I = Šikmé Underlined text CTRL+U = Podčiarknuté Centered text = na stred textu Insert hyperlink = Vložte hyperlinku Insert email = Vložte email Insert image CTRL+M = Vložte obrázok CTRL+M Insert quote = Vložte quotu Insert list CTRL+L = Vložte zoznam CTRL+L Insert table = Vložte tabuľku Insert heading CTRL+H = Volžte nadpis CTRL+H Insert code CTRL+O = Vložte kód CTRL+O Hide the smiley bar = Skryť ponuku smajlov Show the smiley bar = Ukázať ponuku smajlov Insert current time/date = Vložte aktuálny čas/dátum Entry is locked on local server and therefore skipped =Záznam je uzamknutý na lokálnom serveri a preto bol vynechadný Keep me logged in on this computer = Zostať prihlásený na tomto počítači for the next %d minutes = pre ďaľšie %d minúty for the next hour = pre ďaľšiu hodinu for the next %d hours = pre ďaľšie%dhodiny for the next %d days = pre ďaľšie %d dni keep original values = ponechaj pôvodnú hodnotu Entry is locked = Záznam je uzamknutý Edit anyhow = Úpravy v každom prípade Submit entry = Odoslať záznam Insert image = Vlož obrázok Insert Date/Time = Vlož Dátum/Čas Insert horizontal line = Vlož riadok horizontálne Insert anchor point = Vložte kotviaci bod keep original text = ponechaj pôvodný text unspecified = nešpecifikované To subscribe to any logbook, click on 'Config' in that logbook = Ak sa chcete prihlásiť k odberu akéhokoľvek denníka, kliknite na 'Config' v tomto denníku ELOG XML import = ELOG XML import Derive attributes from XML file = Odvodiť atribúty z XML súboru XML filename = XML súbor Invalid date format = Neplatný formát dátumu XML file does not contain %s element = XML súbor neobsahuje %s prvok XML import preview of %s = XML náhľad importu %s XML Import = XML Import A old entry has been updated on %s = starý záznam bol aktualizovaný %s This entry has in meantime been locked by %s = Tento záznam bol medzičasom uzamknutý This entry has in meantime been modified by someone else = Tento záznam bol medzičasom aktualizovaný niekým iným First entry, Ctrl-Home = Prvý záznam, Ctrl-Home Previous entry, Ctrl-PgUp = Predošlý záznam, Ctrl-PgUp Next entry, Ctrl-PgDn = Ďaľší záznam, Ctrl-PgDn Last entry, Ctrl-End = Posledný záznam, Ctrl-End ELOG import = ELOG import Please choose format to import: = Prosím zvoľte formát importu Enter text = Vložte text Show HTML source code = Zobraziť HTML zdrojový kód or until I log out = alebo pokiaľ sa neodhlásim Make smaller = Zmenšiť Original size = Pôvodná veľkosť Make larger = Zväčšiť Rotate left = Otočiť v ľavo Rotate right = Otočiť v pravo Delete attachment = Vymazať prílohu Cannot create thumbnail, please check ImageMagick installation = Nie je možné vytvoriť náhľad, prosím skontrolujte inštaláciu ImageMagick Attachments = Príloha Error: Content length (%d) larger than maximum content length (%d) = Chyba:Dĺžka obsahu (%d) väčšia ako maximálna dĺžka obsahu (% d) ELOG error = ELOG chyba Only user %s can edit this entry = Iba užívateľ %s može zmenit tento záznam Export to = Export do Do not ignore first line = Neignorujte prvý riadok Last %d hours = Posledné %d hodiny Invalid URL = Neplatná URL Attribute "%s" is not allowed in config file = Atribút "%s" nie je povolený v konfigurčnom súbore Only user %s can delete this entry = Iba užívateľ %s može zmazať tento záznam File system full, ELOG cannot continue to work = Súborový systém je plný, ELOG nemôže pokračovať v práci 3 Days = 3 dni Last 3 Days = Posledné 3 dni Really submit this entry? = Skutočne odovzdať tento záznam? Are you sure to abandon any entered text? = Naozaj chcete opustiť zadaný text? Account activation for ELOG logbook "%s" = Aktivácia účtu pre ELOG denníka "%s" Account activation for ELOG on host "%s" = Aktivácia účtu pre ELOG na hoste "%s" Please click the URL below to activate following ELOG account = Prosím kliknite na nasledujúcu URL pre aktiváciu nasledujúceho ELOG účtu Activation URL = Aktivácia URL An email has been sent to <%s> = Email bol odoslaný <%s> Use that email to activate your account = Použite tento e-mail na aktiváciu vášho účtu Registration request for ELOG logbook "%s" = Žiadosť o registráciu pre ELOG denníka "% s" Registration request for ELOG on host "%s" = Žiadosť o registráciu pre ELOG na hoste "% s" Are you sure you want to deactivate your own account? = Ste si istí, že chcete deaktivovať svoj účet? Active = Aktívny Invalid activation code = Neplatný aktivačný kód Error activating user = Chyba aktivácie užívateľa A password recovery email for user "%s" has been sent to %s = Email pre obnovenie hesla pre používateľa "% s" bol odoslaný na adresu% s User "%s" has no access to this logbook = Užívateľ "% s" nemá prístup k tomuto denníku Your account has been activated = Váš účet bol deaktivovaný Please subscribe to logbooks if you want to receive automatic email notifications = Prosím, prihláste sa do denníkov, ak chcete dostávať automatické upozornenia emailom This is an automatically generated account recovery email for host %s = Toto je automaticky generovaný emailový účet pre host% s Please click on following link to recover your account = Prosím, kliknite na nasledujúci odkaz pre obnovu svojho účtu Email address "%s" not registered = Emailová adresa "%s" nie je registrovaná User name "%s" not registered = Užívateľské meno "% s" nie je registrované Error accessing password file = Chyba pri prístupe k súboru s heslami \ No newline at end of file +# # Slovak translation by Branislav Gardon # New = Nový Edit = Úprava Delete = Zmazať Reply = Odpovedať Find = Hladať Last day = Posledný den Last 10 = Posledných 10 Config = Konfigurácia Change password = Zmena hesla Logout = Odhlásenie Help = Pomoc Back = Späť Submit = Odovzdať First = Prvý Last = Posledný Previous = Predchádzajúci Next = Ďalší Copy to = Kopírovať do Move to = Presunúť do Save = Uložiť Cancel = Zrušiť Wrong password = Nesprávne heslo Please login = Prosím prihláste sa Username = Prihlasovacie meno Password = Heslo Old password = Staré heslo New password = Nové heslo ELOG change password = ELOG zmena hesla Several logbooks are defined on this host = Na tomto hoste je definovaných niekoľko denníkov Please select the one to connect to = Zvoľte jedno k pripojeniu Change password for user = Zmena hesla pre užívateľa Logged in as = Prihlasený ako Entry date = Dátum príspevku with = s This is the last entry = Toto je posledný príspevok This is the first entry = Toto je prvý príspevok Email sent to = Email odoslaný na Email notification suppressed = Upozornenie emailom zakázané please select = prosím zvoľte Suppress Email notification = Zakázať upozornenie emailom Resubmit as new entry = Potvrď ako nový záznam Attachment = Príloha Reply to this = Odpovedať na In reply to = V odpovedi na Fields marked with = Pole označené s are required = sú vyžadované Please check that it exists and elogd has write access = Prosím uistite sa, že existuje a elogd ma právo na zapisovanie Error: Attribute %s not supplied = Chyba: Atribút %s nie je zásobený Please go back and enter the %s field = Prosím choďte späť a zadajte %s pole Please use your browser's back button to go back = Prosím použite tlačítko späť vášho prehliadača k návratu ELOG find = ELOG nájsť Find = Nájsť Search = Hľadať Reset Form = Nulovať formulár Summary only = Iba zhrnutie Show attachments = Ukáž prílohy Printable output = Tlačový výstup Sort in reverse order = Zoraď v opačnom poradí Start date = Počiatočný dátum End date = Koncový dátum Year = Rok Text = Text Search all logbooks = Prehľadaj všetky denníky Last %d days = Posledných %d dní Last %d entries = Posledných %d záznamov No entries found = Žiadne záznamy neboli nájdené A new entry has been submitted on %s = Nový záznam bol potvrdený na %s Logbook = Denník Yes = Áno No = Nie Error deleting message: status = Chyba mazania správy: status Error: Command "%s" not allowed = Chyba: Príkaz "%s" nie je povolený Cannot open file %s = Nemôžem otvoriť súbor %s Cannot write to %s = Nemôžem zapísať do %s No SMTP host defined in [global] section of configuration file = Nie je definovaný žiadny SMTP host v sekci [global] konfiguračného súboru Display threads = Zobraz vlákno Logbook is empty = Denník je prázdny Download = Stiahnúť and all its replies = a všetky jeho odpovede Message ID = ID správy Not logged in = Neprihlásený Login = Prihlásenie Page %d of %d = Strana %d z %d all entries = všetky záznamy Login name = Prihlasovacie meno Full name = Celé meno ELOG user config = ELOG konfigurácia užívateľa ELOG new user = ELOG nový užívateľ Admin = Admin Select user = Označ užívateľa Remove user = Vymaž užívateľa New user = Nový užívateľ Retype new password = Zadaj nové heslo New passwords do not match, please retype = Nové heslo sa nezhoduje, prosím zadaj znovu Retype password = Zadaj znovu heslo exists already = už existuje Register as new user = Registruj sa ako nový užívateľ A new ELOG user has been registered on %s = Nový ELOG užívateľ bol registrovaný na %s Email = Email User "%s" registered on logbook "%s" = Užívateľ "%s" registrovaný v denníku "%s" User [%s] has been deleted = Užívateľ [%s ]bol zmazaný Hit following URL to activate that account = Zadajte následujúcu URL k aktivácii tohto účtu ELOG registration = ELOG registrácia Your ELOG account has been activated on host = Váš ELOG účet bol aktivovaný na hoste You can access it at = Možte pristupovať na Are you sure to delete these messages? = Naozaj chcete zmazať túto správu? Select = Označte All entries = Všetky záznamy Day = Deň Week = Týždeň Month = Mesiac Show last = Ukáž posledný Goto page = Choď na stránku All = Všetko Display = Zobraz entries per page = položiek na stránku Toggle all = Odobrať všetko Selected entries = Označené záznamy Collapse = Zbaliť Expand = Rozbaliť Full = Plné Summary = Súhrn Threaded = Vláknitý Filters = Filtre Mode = Mód Options = Voľby Error: start date after end date = Chyba: počiatočný dátum po konečný dátum and all their replies = a všetky ich odpovede Upload = Nahrať Requested = Požadovaný A new ELOG user wants to register on "%s" = Nový užívateľ sa chce registrovať na "%s" Search text also in attributes = Hľadaj text aj v atribútoch Date = Dátum ID = ID Forgot password? = Zabudli ste heslo? ELOG password recovery = ELOG obnova hesla No Email address registered with user name "%s" = Žiadna emailová adresa registrovaná s uživateľským menom "%s" Error sending Email via "%s" = Chybné zaslanie emailu cez "%s" Forgot = Zabudol User "%s" registered on host "%s" = Užívateľ "%s" registrovaný na hoste "%s" Enter your user name or email address = Zadajte vaše užívateľské meno alebo emailovú adresu Password recovery for ELOG %s = Obnova hesla pre ELOG %s Host = Host Your ELOG account has been activated = Váš ELOG účet bol aktivovaný Maximum number of attachments reached = Maximální počet príloh prekročený on = na Entry is currently edited by = Záznam je práve menený recipients = príjimatelia Suppress shell execution = Potlačiť vykonávanie shell programu Update = Aktualizácia by = od Change %s = Zmeň %s Add new option here = Pridaj novú voľbu Expand all = Rozbaľ všetko Add %s = Pridať %s Synchronization = Synchronizácia Error: Value %s not allowed for boolean attributes = Chyba: Hodnota %s nie je dovolená pre boolean atribút Error: Attribute option %s not existing = Chyba: Atribút voľba %s neexistuje Last submission = Posledné odovzdanie Synchronize = Synchronizuj No mirror server defined in configuration file = V konfiguračnom súbore nie sú definované žiadne zrkadlované servre user = užívateľ Maximum number of replies (%d) exceeded = Maximálny počet odpovedí (%d) prekročený Entry can only be edited %1.2lg hours after creation = Záznamy možu býť menené iba %1.2lg hodín po vytvorení Display full entries = Zobraz plné záznamy No entry selected for deletion = Nie sú označené žiadne záznamy pre mazanie Cannot read entry from local logbook = Nie je možné čítať žiadne záznamy z lokálneho denníku Cannot connect to host %s, port %d = Nie je možné pripojenie k hostu %s, portu %d Cannot receive "%s" = Nie je možné prijať"%s" Received wrong entry id "%d" = Prijaté chybné ID záznamu "%d" Entry #%d is locked on remote server = Záznam #%d je zamknutý na vzdialenom serveri Cannot save remote entry locally = Nie je možné uložiť vzdialenú položku lokálne local = lokálny remote = vzdialený Please delete %s or %s entry to resolve conflict = Prosím zmažte %s alebo %s záznam pre vyriešenie konfliktu Error sending local entry = Zaslaná chyba lokálneho záznamu Local entry submitted = Lokálna chyba potvrdená Error deleting remote entry = Chyba mazania vzdialeného záznamu New entry cannot be written to directory "%s" = Nie je možné zapísať novú položku do adresára "%s" Entry %s cannot be read from logbook "%s" = Záznam %s nie je možné čítať z denníku %s This entry has been deleted = Tento záznam bol zmazaný Entries = Záznamy Cannot connect to remote server "%s" = Nie je možné prippojenie k vzdialenému serveru "%s" Remote server is not an ELOG server = Vzdialený server nie je ELOG Server Incorrect remote ELOG server version %s = Nesprávna verzia %s vzdialeného servera Error accessing remote logbook = Chyba prístupu k vzdialenému denníku Invalid HTTP header = Neplatná HTTP hlavička No user name supplied to access remote logbook = Nie sú zadané žiadne uživateľské mená k vzdialenému prístupu denníka Synchronizing logbook %s with server "%s" = Synchronizácia denníku %s so serverom "%s" Configuration has been changed locally and remotely = Konfigurácia zmenená lokálne aj vzdialene Please merge manually to resolve conflict = Pripojte ručne k vyriešeniu konfliktu Logbook "%s" does not exist on remote server = Logbook "%s" neexistuje na vzdialenom serveri Entry has been changed locally and remotely = Záznam bol zmenený lokálne aj vzdialene Entry deleted locally = Záznam bol zmazaný lokálne Changed local entry ID to %d = Zmenené lokálne ID záznamu na %d Entry deleted remotely = Záznam bol zmazaný vzdialene All entries identical = Všetky záznamy sú rovnaké Invalid mirror_id or entry_date = Neplatné zrkadlové_id alebo zaznamový_dátum Synchronize all logbooks = Synchronizuj všetky denníky Calendar = Kalendár Remote entry received = Vzdialený záznam prijatý Pick a date = Vložte dátum Please select at least one '%s' =Prosím označte nejmenej jednu '%s' Please select a '%s' = Prosím označte '%s' Please enter month for attribute '%s' = Prosím zvoľte mesiac pre atribút '%s' Please enter day for attribute '%s' = Prosím zvoľte den pre atribút '%s' Please enter year for attribute '%s' = Prosím zvoľte rok pre atribút '%s' Please enter attribute '%s' = Prosím zvoľte atribút '%s' Entry time = Čas vloženia Start = Začiatok End = Koniec From = Z After = Po to = do Before = Pred Previous Year = Minulý rok Next Year = Budúci rok Please enter numeric value for '%s' = Prosím vložte číselnú hodnotu pre '%s' Error: Attribute %s must be numeric = Chyba: Atribút %s musí byť číslo 3 Months = 3 Mesiace 6 Months = 6 Mesiacov Error sending local message = Chyba zasielnia miestnej správy Error receiving message = Chyba príjmu správy Are you sure to delete this entry? = Chcete naozaj zmazať tento záznam? ELOG CSV import = ELOG CSV import Import = Import CSV filename = CSV meno súboru Field separator = Oddeľovač polí Edit entry = Upraviť záznam Delete entry = Zmazať záznam CSV Import = CSV Import Derive attributes from CSV file = Odvodzovať atribúty z CSV súboru Comma = Čiarka Semicolon = Bodkočiarka Preview import = Náhľad importu CSV import preview of %s = Náhľad CSV importu z%s Too many attributes in CSV file = Príliš veľa atribútov v CSV súbore %d entries successfully imported = %d záznam bol úspešne importovaný No 'Attributes' option present in %s = Voľba 'Attributes' nie je dostsupná v %s CSV ("," separated) = CSV ("," oddeľovačom) CSV (";" separated) = CSV (";"oddeľovačom) Auto detect = Automatické zisťovanie text = text Column header '%s' must be present in CSV file = Stĺpec hlavičky sa musí nachádzať v CSV súbore '%s' Fill text body = Vyplňte telo textu Please re-enter filename = Prosím zadajte znovu meno súbora Last x = Posledných x Activate = Aktivuj Entry has been modified = Záznam bol modifikovaný No attachment file specified = Nie sú špecifikované žiadne prílohy Submit modified ELOG entry? = Potvrdiť zmenu ELOG záznamu? Delete this logbook = Zmaž tento denník Rename this logbook = Premenuj tento denník Create new logbook = Vytvor nový denník Syntax error in config file = Chyba syntaxu v konfiguračnom súbore Email notification = Emailové upozornenia Are you sure to delete logbook "%s"? = Určite chcete zmazať denník "%s"? Logbook "%s" exists already, please choose different name = Denník "%s" už existuje, prosím zvoľte iné meno Rename logbook = Premenuj denník Enter new logbook name = Vložte nové meno denníku Logbook name = Meno denníku Use existing logbook as template = Použi existujúcí denník ako šablónu none = žiadny URL is redirected to: = URL je presmerovaná na: Remote config should be received = Vzdialená konfigurácia by mala byť prijatá Local entry should be submitted = Lokálny záznam by mal byť odovzdaný Remote entry should be received = Vzdialený záznam by mal byť prijatý Local entry = Lokálny záznam %s should be deleted = %s mal by byť zmazaný Entry should be deleted locally = Záznam by mal byť zmazaný lokálne Local entry ID should be changed to %d = Lokálne ID záznamu by malo byť zmenené na %d Remote entry = Vzdialený záznam Entry should be deleted remotely = Záznam by mal byť zmazaný vzdialene Click here to delete %d entries = Kliknite tu pre zmazanie %d záznamu Click here to delete this entry = Kliknite tu pre zmazanie tohto záznamu Maximum number of attribute options exceeded = Maximálny počet volieb atribútov bol prekročený Please increase MAX_N_LIST in elogd.c and recompile = Prosím zväčši MAX_N_LIST v elogd.c a prekompiluj You can "steal" the lock by editing this entry = Môžte "ukradnúť" zámok upravením tohto záznamu Several logbooks groups are defined on this host = Na tomto hoste je definovaných nikoľko skupín denníkov Please select one to list the logbooks in that group = Prosím vyberte jeden z denníkov v tejto skupine No logbook defined on this server = Na tomto serveri nie sú definované žiadne denníky Goto ELOG home page = Choďte na ELOG domovskú stránku Please enter "%s" = Prosím vložte "%s" Change config file = Zmena v konfiguračného súboru Please check that it exists and elogd has write access and disk is not full = Prosím skontrolujte či existuje a či elogd ma právo na zapisovanie a disk nie je plný Show = Ukáž Hide = Skry Hide all = Skry všetko Show all = Ukáž všetko This logbook requires authentication = Tento denník vyžaduje autentifikáciu Attachment file "%s" empty or not found = Pripojený súbor "%s" je prázdny alebo nebol nájdený Case sensitive = Rozlišovať malé a veľké písmena List = Zoznam Date must be between 1970 and 2037 = Dátum musí byť medzi 1970 und 2037 up = hore down = dole stop = zastaviť Entry = Záznam name may not contain blanks = meno nemôže byť prázdne regular expressions = regulárny výraz Text fields are treated as %s = Textové polia sú upravené ako %s Subscribe to logbooks = Prihlásiť sa k odberu denníka enable automatic email notifications = povoliť automatické emailové upozornenia Set all = Nastaviť všetko Set none = Nenastaviť nič Insert current time = Vlož aktuálny čas Please enter hour for attribute '%s' = Prosím zadajte hodinu pre atribút '%s' Please enter minute for attribute '%s' = Prosím zadajte minútu pre atribút '%s' Please enter second for attribute '%s' = Prosím zadajte sekundu pre atribút '%s' No admin user has been defined in configuration file = V konfiguračnom súbore nie ja definovaný žiadny administrátor Duplicate = Duplikát Cannot lookup server name = Nie je možné zistiť meno servera Cannot connect to server = Nie je možné pripojenie k serveru %s wrote = %s napísal Quote = Citát Please enter numeric value for year of attribute '%s' = Prosím zadajte číselnú hodnotu pre rok atribútu '%s' Preview = Náhľad FONT = PÍSMO SIZE = VEĽKOSŤ COLOR = FARBA smiling = usmievavý happy = šťastný winking = blikajúcí big grin = široký úsmev crying = plakajúci cool = kľudný frowning = zamračený confused = zmätený mad = šialený pleased = spokojný tongue = jazyk yawn = znudený Encoding = kódovanie User "%s" not found in password file = Užívateľ "%s" nebol nájdený v súbore hesiel Cannot write to file %s =Nie je možné zapísať do súboru %s Really remove user %s? =Určite chcete zmazať užívateľa %? Invalid user name "%s" or password for remote logbook = Neplanté užívateľské meno "%s"alebo heslo pre vzdialený denník Hide attachments = Skry prílohy Show only new entries = Ukáž len nové záznamy Show all entries = Ukáž všetky záznamy New entries since = Nové záznamy od An old ELOG entry has been updated = Starý ELOG záznam bol aktualizovaný A new ELOG entry has been submitted = Nový ELOG záznam bol odovzdaný Invalid user name or password = Neplatné užívateľské meno alebo heslo Upload image = Nahrávanie obrázku Please enter filename or URL = Prosím zadajte meno súboru alebo URL Maximum allowed file size is = Maximálna povolená veľkosť súboru je Enter filename or URL = Zadajte meno súbora alebo URL Image uploaded successfully = Obrázok bol nahraný úspešne Image "%s" uploaded successfully = Obrázok "%s" bol nahraný úspešne HelpELCode = PomocELCode Cannot retrieve file from URL "%s" = Nie je možné získať súbor z URL "%s" Enter name of hyperlink = Zadajte meno hyperlinky Enter URL of hyperlink = Zadajte URL hyperlinky astonished = užasnutý Error in regular expression "%s" = Chyba v regulárnom výraze "%s" File not found at URL "%s" = Súbor nebol nájdený na URL "%s" Entry size too large for email notification = Záznam je príliš veľký pre emailové upozornenie Please specify a valid email address = Prosím zadajte platnú emailovú adresu Cannot send email notification to "%s" = Nie je možné poslať emailové upozornenie "%s" Error: Command "%s" is not allowed for user "%s" = Chyba: Príkaz "%s" nie je povolený pre užívateľov "%s" Shell execution not enabled via -x flag = Shell príkaz nebol povolený cez -x flag Enter heading level (1, 2 or 3) = Zadajte úroveň nadpisu (1, 2 oder 3) User name may not contain blanks = Užívateľské meno nesmie byť prázdne Empty password not allowed = Prázdne heslo nie je povolené Password may not contain blanks = Heslo nesmie obsahovať medzery Anonymous = Anonym Activation notice has been sent to %s = Oznámenie o aktivácii bolo zaslané na %s Your request has been forwarded to the administrator = Vaša požiadavka bola zaslaná administrátorovi You will be notified by email upon activation of your new account = O aktivácii vášho nového účtu budete informovaný emailom Select period = Označte obdobie Last week = Posledný týždeň Last month = Posledný mesiac Last 3 Months = Posledné 3 mesiace Last 6 Months = Posledných 6 mesiacov Last Year = Posledný rok Enter %s = Enter Select %s = Označ Bold text CTRL+B = Hrubé Italics text CTRL+I = Šikmé Underlined text CTRL+U = Podčiarknuté Centered text = na stred textu Insert hyperlink = Vložte hyperlinku Insert email = Vložte email Insert image CTRL+M = Vložte obrázok CTRL+M Insert quote = Vložte quotu Insert list CTRL+L = Vložte zoznam CTRL+L Insert table = Vložte tabuľku Insert heading CTRL+H = Volžte nadpis CTRL+H Insert code CTRL+O = Vložte kód CTRL+O Hide the smiley bar = Skryť ponuku smajlov Show the smiley bar = Ukázať ponuku smajlov Insert current time/date = Vložte aktuálny čas/dátum Entry is locked on local server and therefore skipped =Záznam je uzamknutý na lokálnom serveri a preto bol vynechadný Keep me logged in on this computer = Zostať prihlásený na tomto počítači for the next %d minutes = pre ďaľšie %d minúty for the next hour = pre ďaľšiu hodinu for the next %d hours = pre ďaľšie%dhodiny for the next %d days = pre ďaľšie %d dni keep original values = ponechaj pôvodnú hodnotu Entry is locked = Záznam je uzamknutý Edit anyhow = Úpravy v každom prípade Insert horizontal line = Vlož riadok horizontálne Insert anchor point = Vložte kotviaci bod keep original text = ponechaj pôvodný text unspecified = nešpecifikované To subscribe to any logbook, click on 'Config' in that logbook = Ak sa chcete prihlásiť k odberu akéhokoľvek denníka, kliknite na 'Config' v tomto denníku ELOG XML import = ELOG XML import Derive attributes from XML file = Odvodiť atribúty z XML súboru XML filename = XML súbor Invalid date format = Neplatný formát dátumu XML file does not contain %s element = XML súbor neobsahuje %s prvok XML import preview of %s = XML náhľad importu %s XML Import = XML Import A old entry has been updated on %s = starý záznam bol aktualizovaný %s This entry has in meantime been locked by %s = Tento záznam bol medzičasom uzamknutý This entry has in meantime been modified by someone else = Tento záznam bol medzičasom aktualizovaný niekým iným First entry, Ctrl-Home = Prvý záznam, Ctrl-Home Previous entry, Ctrl-PgUp = Predošlý záznam, Ctrl-PgUp Next entry, Ctrl-PgDn = Ďaľší záznam, Ctrl-PgDn Last entry, Ctrl-End = Posledný záznam, Ctrl-End ELOG import = ELOG import Please choose format to import: = Prosím zvoľte formát importu Enter text = Vložte text or until I log out = alebo pokiaľ sa neodhlásim Make smaller = Zmenšiť Original size = Pôvodná veľkosť Make larger = Zväčšiť Rotate left = Otočiť v ľavo Rotate right = Otočiť v pravo Delete attachment = Vymazať prílohu Cannot create thumbnail, please check ImageMagick installation = Nie je možné vytvoriť náhľad, prosím skontrolujte inštaláciu ImageMagick Attachments = Príloha Error: Content length (%d) larger than maximum content length (%d) = Chyba:Dĺžka obsahu (%d) väčšia ako maximálna dĺžka obsahu (% d) ELOG error = ELOG chyba Only user %s can edit this entry = Iba užívateľ %s može zmenit tento záznam Export to = Export do Do not ignore first line = Neignorujte prvý riadok Last %d hours = Posledné %d hodiny Invalid URL = Neplatná URL Attribute "%s" is not allowed in config file = Atribút "%s" nie je povolený v konfigurčnom súbore Only user %s can delete this entry = Iba užívateľ %s može zmazať tento záznam File system full, ELOG cannot continue to work = Súborový systém je plný, ELOG nemôže pokračovať v práci 3 Days = 3 dni Last 3 Days = Posledné 3 dni Really submit this entry? = Skutočne odovzdať tento záznam? Are you sure to abandon any entered text? = Naozaj chcete opustiť zadaný text? Account activation for ELOG logbook "%s" = Aktivácia účtu pre ELOG denníka "%s" Account activation for ELOG on host "%s" = Aktivácia účtu pre ELOG na hoste "%s" Please click the URL below to activate following ELOG account = Prosím kliknite na nasledujúcu URL pre aktiváciu nasledujúceho ELOG účtu Activation URL = Aktivácia URL An email has been sent to <%s> = Email bol odoslaný <%s> Use that email to activate your account = Použite tento e-mail na aktiváciu vášho účtu Registration request for ELOG logbook "%s" = Žiadosť o registráciu pre ELOG denníka "% s" Registration request for ELOG on host "%s" = Žiadosť o registráciu pre ELOG na hoste "% s" Are you sure you want to deactivate your own account? = Ste si istí, že chcete deaktivovať svoj účet? Active = Aktívny Invalid activation code = Neplatný aktivačný kód Error activating user = Chyba aktivácie užívateľa A password recovery email for user "%s" has been sent to %s = Email pre obnovenie hesla pre používateľa "% s" bol odoslaný na adresu% s User "%s" has no access to this logbook = Užívateľ "% s" nemá prístup k tomuto denníku Your account has been activated = Váš účet bol deaktivovaný Please subscribe to logbooks if you want to receive automatic email notifications = Prosím, prihláste sa do denníkov, ak chcete dostávať automatické upozornenia emailom This is an automatically generated account recovery email for host %s = Toto je automaticky generovaný emailový účet pre host% s Please click on following link to recover your account = Prosím, kliknite na nasledujúci odkaz pre obnovu svojho účtu Email address "%s" not registered = Emailová adresa "%s" nie je registrovaná User name "%s" not registered = Užívateľské meno "% s" nie je registrované Error accessing password file = Chyba pri prístupe k súboru s heslami +# +#---- please translate following items and then remove this comment ----# +# +Shell execution not enabled via -x flag = +Cannot lookup server name = +Cannot connect to server = +Entry size too large for email notification = +Change %s = +%s wrote = +Quote = +Logged in as = +Not logged in = +Goto ELOG home page = +ELOG error = +Back = +Please use your browser's back button to go back = +Anonymous = +Config = +Change password = +ELOG change password = +Wrong password = +New passwords do not match, please retype = +Change password for user = +Old password = +New password = +Retype new password = +Submit = +keep original values = +Year = +Pick a date = +Insert current time = +Entry is currently edited by = +Edit = +Entry is locked = +Edit anyhow = +Cancel = +Maximum number of replies (%d) exceeded = +Only user %s can edit this entry = +Entry can only be edited %1.2lg hours after creation = +user = +on = +Entry has been modified = +Really submit this entry? = +Please select at least one '%s' = +Please select a '%s' = +Please enter month for attribute '%s' = +Please enter day for attribute '%s' = +Please enter year for attribute '%s' = +Please enter hour for attribute '%s' = +Please enter minute for attribute '%s' = +Please enter second for attribute '%s' = +Please enter attribute '%s' = +Please enter numeric value for '%s' = +Please enter numeric value for year of attribute '%s' = +Are you sure to abandon any entered text? = +No attachment file specified = +Submit modified ELOG entry? = +Enter name of hyperlink = +Enter URL of hyperlink = +Enter heading level (1, 2 or 3) = +Update = +Preview = +Fields marked with = +are required = +Entry time = +please select = +Add new option here = +Toggle all = +Add %s = +Bold text CTRL+B = +Italics text CTRL+I = +Underlined text CTRL+U = +Centered text = +Insert hyperlink = +Insert email = +Insert image CTRL+M = +Insert quote = +Insert list CTRL+L = +Insert table = +Insert heading CTRL+H = +Insert horizontal line = +Insert anchor point = +Insert code CTRL+O = +Hide the smiley bar = +Show the smiley bar = +FONT = +SIZE = +COLOR = +Insert current time/date = +smiling = +happy = +winking = +big grin = +crying = +cool = +frowning = +confused = +astonished = +mad = +pleased = +tongue = +yawn = +keep original text = +Encoding = +Suppress Email notification = +Suppress shell execution = +Resubmit as new entry = +Attachment = +Make smaller = +Original size = +Make larger = +Rotate left = +Rotate right = +Delete attachment = +Delete = +Maximum number of attachments reached = +Upload = +Drop attachments here... = +ELOG find = +Search = +Reset Form = +Mode = +Display full entries = +Summary only = +Summary = +Display threads = +Export to = +CSV ("," separated) = +CSV (";" separated) = +CSV (";" separated) + Text = +Options = +Show attachments = +Printable output = +Sort in reverse order = +Search all logbooks = +Display = +entries per page = +Filters = +regular expressions = +Text fields are treated as %s = +Entry date = +Start = +Show last = +Day = +3 Days = +Week = +Month = +3 Months = +6 Months = +End = +unspecified = +Text = +Search text also in attributes = +Case sensitive = +Admin = +Save = +Delete this logbook = +Rename this logbook = +Create new logbook = +Cannot open file %s = +Cannot write to %s = +Syntax error in config file = +Please enter "%s" = +Login name = +Full name = +Please specify a valid email address = +User name may not contain blanks = +Empty password not allowed = +Password may not contain blanks = +exists already = +Error accessing password file = +No SMTP host defined in [global] section of configuration file = +Account activation for ELOG logbook "%s" = +Account activation for ELOG on host "%s" = +Please click the URL below to activate following ELOG account = +Logbook = +Host = +Email = +Activation URL = +Activate = +Cannot send email notification to "%s" = +ELOG registration = +An email has been sent to <%s> = +Use that email to activate your account = +Registration request for ELOG logbook "%s" = +Registration request for ELOG on host "%s" = +A new ELOG user wants to register on "%s" = +A new ELOG user has been registered on %s = +Hit following URL to activate that account = +No admin user has been defined in configuration file = +Requested = +Cannot write to file %s = +ELOG user config = +Really remove user %s? = +Are you sure you want to deactivate your own account? = +Select user = +User [%s] has been deleted = +Active = +Subscribe to logbooks = +enable automatic email notifications = +Set all = +Set none = +Remove user = +New user = +Change config file = +Invalid activation code = +Error activating user = +Your ELOG account has been activated = +Your ELOG account has been activated on host = +You can access it at = +To subscribe to any logbook, click on 'Config' in that logbook = +No Email address registered with user name "%s" = +Password recovery for ELOG %s = +This is an automatically generated account recovery email for host %s = +Please click on following link to recover your account = +ELOG password recovery = +Email notification = +Error sending Email via "%s" = +User name "%s" not registered = +Enter your user name or email address = +Forgot = +ELOG new user = +name may not contain blanks = +Password = +Retype password = +Entry can only be deleted %1.2lg hours after creation = +No = +Yes = +Error deleting message: status = +No entry selected for deletion = +Only user %s can delete this entry = +Are you sure to delete these messages? = +and all their replies = +Are you sure to delete this entry? = +and all its replies = +Are you sure to delete logbook "%s"? = +Rename logbook = +Enter new logbook name = +Logbook name = +Use existing logbook as template = +none = +ELOG CSV import = +Import = +Field separator = +Auto detect = +Comma = +Semicolon = +Derive attributes from CSV file = +Do not ignore first line = +Preview import = +text = +Column header '%s' must be present in CSV file = +Fill text body = +CSV filename = +Please re-enter filename = +ELOG XML import = +Derive attributes from XML file = +XML filename = +CSV import preview of %s = +CSV Import = +Too many attributes in CSV file = +Invalid date format = +%d entries successfully imported = +XML file does not contain %s element = +XML import preview of %s = +XML Import = +Date = +Cannot connect to remote server "%s" = +Remote server is not an ELOG server = +Incorrect remote ELOG server version %s = +URL is redirected to: = +Invalid HTTP header = +No user name supplied to access remote logbook = +Error accessing remote logbook = +Cannot read entry from local logbook = +Cannot connect to host %s, port %d = +Download = +Cannot receive "%s" = +Received wrong entry id "%d" = +Entry #%d is locked on remote server = +Cannot save remote entry locally = +Please login = +No mirror server defined in configuration file = +Synchronizing logbook %s with server "%s" = +Remote config should be received = +Configuration has been changed locally and remotely = +Please merge manually to resolve conflict = +Entry is locked on local server and therefore skipped = +Error sending local entry = +Local entry submitted = +Local entry should be submitted = +Error receiving message = +Remote entry received = +Remote entry should be received = +local = +remote = +Entry has been changed locally and remotely = +Please delete %s or %s entry to resolve conflict = +Error sending local message = +Local entry = +%s should be deleted = +Entry should be deleted locally = +Entry deleted locally = +Changed local entry ID to %d = +Local entry ID should be changed to %d = +Remote entry = +Entry should be deleted remotely = +Entry deleted remotely = +Error deleting remote entry = +Click here to delete %d entries = +Click here to delete this entry = +All entries identical = +Synchronization = +Entry = +Reply = +ID = +Edit entry = +Delete entry = +Full = +Threaded = +Hide attachments = +Collapse = +Expand = +Show only new entries = +Show all entries = +Select period = +All entries = +Last day = +Last 3 Days = +Last week = +Last month = +Last 3 Months = +Last 6 Months = +Last Year = +Select %s = +Last = +Next = +Enter text = +Enter %s = +Entries = +Goto page = +Previous = +All = +Selected entries = +Copy to = +Move to = +Error: start date after end date = +Error in regular expression "%s" = +Message ID = +Last %d days = +Last %d hours = +Last %d entries = +all entries = +Page %d of %d = +Last x = +Select = +New entries since = +Start date = +End date = +From = +After = +to = +Before = +up = +down = +Attachments = +No entries found = +An old ELOG entry has been updated = +A new ELOG entry has been submitted = +A old entry has been updated on %s = +A new entry has been submitted on %s = +recipients = +No 'Attributes' option present in %s = +Error: Attribute %s not supplied = +Please go back and enter the %s field = +Error: Attribute %s must be numeric = +Error: Value %s not allowed for boolean attributes = +Maximum number of attribute options exceeded = +Please increase MAX_N_LIST in elogd.c and recompile = +Error: Attribute option %s not existing = +Date must be between 1970 and 2037 = +This entry has in meantime been locked by %s = +This entry has in meantime been modified by someone else = +New entry cannot be written to directory "%s" = +Please check that it exists and elogd has write access and disk is not full = +Invalid mirror_id or entry_date = +Please check that it exists and elogd has write access = +Entry %s cannot be read from logbook "%s" = +First = +Invalid URL = +First entry, Ctrl-Home = +Previous entry, Ctrl-PgUp = +Next entry, Ctrl-PgDn = +Last entry, Ctrl-End = +Logbook is empty = +This entry has been deleted = +with = +This is the last entry = +This is the first entry = +Email notification suppressed = +Email sent to = +stop = +In reply to = +Reply to this = +Show = +Hide = +Hide all = +Show all = +Cannot create thumbnail, please check ImageMagick installation = +Login = +Invalid user name or password = +Username = +Keep me logged in on this computer = +for the next %d days = +for the next %d minutes = +for the next hour = +for the next %d hours = +or until I log out = +Forgot password? = +Register as new user = +File system full, ELOG cannot continue to work = +This logbook requires authentication = +by = +Several logbooks groups are defined on this host = +Please select one to list the logbooks in that group = +No logbook defined on this server = +Several logbooks are defined on this host = +Please select the one to connect to = +Synchronize all logbooks = +Last submission = +Expand all = +Your request has been forwarded to the administrator = +You will be notified by email upon activation of your new account = +Calendar = +Previous Year = +Next Year = +Upload image = +Please enter filename or URL = +Maximum allowed file size is = +Enter filename or URL = +Image uploaded successfully = +Insert Timestamp = +Activation notice has been sent to %s = +Your account has been activated = +Please subscribe to logbooks if you want to receive automatic email notifications = +New = +Duplicate = +List = +Error: Command "%s" not allowed = +Help = +HelpELCode = +Find = +Last 10 = +ELOG import = +Please choose format to import: = +Synchronize = +Logout = +Cannot retrieve file from URL "%s" = +File not found at URL "%s" = +Error: Content length (%d) larger than maximum content length (%d) = diff --git a/src/elogd.c b/src/elogd.c index 419ffc32..3b4c1665 100755 --- a/src/elogd.c +++ b/src/elogd.c @@ -1768,6 +1768,36 @@ int setuser(char *str) /*-------------------------------------------------------------------*/ +int send_with_timeout(void *p, int sock, char *buf, int size) +{ + int status; + time_t start, now; + + time(&start); + + do { +#ifdef HAVE_SSL + SSL *ssl = (SSL *)p; + if (ssl) + status = SSL_write(ssl, buf, size); + else +#endif + status = send(sock, buf, size, 0); + + time(&now); + + // abort after 10 seconds + if (now > start+10) + break; + + // repeat if we were interrupted by alarm() signal + } while (status == -1 && errno == EINTR); + + return 0; +} + +/*-------------------------------------------------------------------*/ + int recv_string(int sock, char *buffer, int buffer_size, int millisec) { int i, n; @@ -2421,7 +2451,9 @@ int retrieve_url(LOGBOOK * lbs, const char *url, int ssl, char **buffer) fd_set readfds; struct timeval timeout; #ifdef HAVE_SSL - static SSL *ssl_con; + static SSL *ssl_con = NULL; +#else + static void *ssl_con = NULL; #endif static int sock, last_port; static char last_host[256]; @@ -2491,13 +2523,8 @@ int retrieve_url(LOGBOOK * lbs, const char *url, int ssl, char **buffer) strcat(str, "\r\n"); -#ifdef HAVE_SSL - if (ssl) - SSL_write(ssl_con, str, strlen(str)); - else -#endif - send(sock, str, strlen(str), 0); - + send_with_timeout(ssl_con, sock, (char *)str, strlen(str)); + bufsize = TEXT_SIZE + 1000; *buffer = xmalloc(bufsize); memset(*buffer, 0, bufsize); @@ -6675,12 +6702,10 @@ void rsprintf(const char *format, ...) void flush_return_buffer() { #ifdef HAVE_SSL - if (_ssl_flag) { - SSL_write(_ssl_con, return_buffer, strlen_retbuf); - } else + send_with_timeout(_ssl_con, _sock, return_buffer, strlen_retbuf); +#else + send_with_timeout(NULL, _sock, return_buffer, strlen_retbuf); #endif - send(_sock, return_buffer, strlen_retbuf, 0); - memset(return_buffer, 0, return_buffer_size); strlen_retbuf = 0; } @@ -15432,6 +15457,8 @@ int submit_message(LOGBOOK * lbs, char *host, int message_id, char *error_str) char *content, *p, boundary[80], request[10000], response[10000]; #ifdef HAVE_SSL SSL *ssl_con = NULL; +#else + void *ssl_con = NULL; #endif text = (char *) xmalloc(TEXT_SIZE); @@ -15593,29 +15620,19 @@ int submit_message(LOGBOOK * lbs, char *host, int message_id, char *error_str) header_length = strlen(request); + send_with_timeout(ssl_con, sock, request, header_length); + send_with_timeout(ssl_con, sock, content, content_length); + + #ifdef HAVE_SSL - if (ssl) { - /* send request */ - SSL_write(ssl_con, request, header_length); - - /* send content */ - SSL_write(ssl_con, content, content_length); - + if (ssl) /* receive response */ i = SSL_read(ssl_con, response, 10000); - } else + else #endif - { - /* send request */ - send(sock, request, header_length, 0); - - /* send content */ - send_tcp(sock, content, content_length, 0); - /* receive response */ i = recv(sock, response, 10000, 0); - } if (i < 0) { closesocket(sock); @@ -15825,6 +15842,8 @@ void submit_config(LOGBOOK * lbs, char *server, char *buffer, char *error_str) char *content, *p, boundary[80], request[10000], response[10000]; #ifdef HAVE_SSL SSL *ssl_con = NULL; +#else + void *ssl_con = NULL; #endif error_str[0] = 0; @@ -15895,29 +15914,18 @@ void submit_config(LOGBOOK * lbs, char *server, char *buffer, char *error_str) header_length = strlen(request); + send_with_timeout(ssl_con, sock, request, header_length); + send_with_timeout(ssl_con, sock, content, content_length); + + #ifdef HAVE_SSL - if (ssl) { - /* send request */ - SSL_write(ssl_con, request, header_length); - - /* send content */ - SSL_write(ssl_con, content, content_length); - + if (ssl) /* receive response */ i = SSL_read(ssl_con, response, 10000); - - } else + else #endif - { - /* send request */ - send(sock, request, header_length, 0); - - /* send content */ - send_tcp(sock, content, content_length, 0); - /* receive response */ i = recv(sock, response, 10000, 0); - } if (i < 0) { closesocket(sock); @@ -28652,6 +28660,12 @@ void send_return(int _sock, const char *net_buffer) int length, header_length; char str[NAME_LENGTH]; char *p; +#ifndef HAVE_SSL + void *ssl_con = NULL; +#endif + + if (!_ssl_flag) + ssl_con = NULL; if (return_length != -1) { if (return_length == 0) @@ -28681,18 +28695,10 @@ void send_return(int _sock, const char *net_buffer) header_length = sizeof(header_buffer) - 100; memcpy(header_buffer, return_buffer, header_length); sprintf(header_buffer + header_length, "\r\nContent-Length: %d\r\n\r\n", length); -#ifdef HAVE_SSL - if (_ssl_flag) { - SSL_write(ssl_con, header_buffer, strlen(header_buffer)); - SSL_write(ssl_con, p + 4, length); - } else { - send(_sock, header_buffer, strlen(header_buffer), 0); - send(_sock, p + 4, length, 0); - } -#else - send(_sock, header_buffer, strlen(header_buffer), 0); - send(_sock, p + 4, length, 0); -#endif + + send_with_timeout(ssl_con, _sock, header_buffer, strlen(header_buffer)); + send_with_timeout(ssl_con, _sock, p + 4, length); + if (get_verbose() < VERBOSE_DEBUG) { if (get_verbose() > 0) eprintf("Returned %d bytes\n", length); @@ -28727,27 +28733,14 @@ void send_return(int _sock, const char *net_buffer) memcpy(header_buffer, return_buffer, header_length); sprintf(header_buffer + header_length, "\r\nConnection: Close\r\n\r\n"); } -#ifdef HAVE_SSL - if (_ssl_flag) { - SSL_write(ssl_con, header_buffer, strlen(header_buffer)); - SSL_write(ssl_con, p + 4, length); - } else { - send(_sock, header_buffer, strlen(header_buffer), 0); - send(_sock, p + 4, length, 0); - } -#else - send(_sock, header_buffer, strlen(header_buffer), 0); - send(_sock, p + 4, length, 0); -#endif + + send_with_timeout(ssl_con, _sock, header_buffer, strlen(header_buffer)); + send_with_timeout(ssl_con, _sock, p + 4, length); + } else { -#ifdef HAVE_SSL - if (_ssl_flag) - SSL_write(ssl_con, return_buffer, return_length); - else - send(_sock, return_buffer, return_length, 0); -#else - send(_sock, return_buffer, return_length, 0); -#endif + + send_with_timeout(ssl_con, _sock, return_buffer, return_length); + } if (get_verbose() < VERBOSE_DEBUG) { @@ -29327,7 +29320,9 @@ void server_loop(void) _ssl_con = NULL; continue; } - } + } else + _ssl_con = NULL; + #endif /* find new entry in socket table */ diff --git a/xcode/elogd.xcodeproj/project.pbxproj b/xcode/elogd.xcodeproj/project.pbxproj index 17c59dc8..538b4b80 100644 --- a/xcode/elogd.xcodeproj/project.pbxproj +++ b/xcode/elogd.xcodeproj/project.pbxproj @@ -251,7 +251,7 @@ GCC_DYNAMIC_NO_PIC = NO; GCC_ENABLE_OBJC_EXCEPTIONS = YES; GCC_PREPROCESSOR_DEFINITIONS = ( - HAVE_SSL, + HAVE_SSL1, HAVE_KRB5, DEBUG, );