diff --git a/doc/config.html b/doc/config.html index a8379f3b..ff19cba0 100755 --- a/doc/config.html +++ b/doc/config.html @@ -1,58 +1,58 @@ - - - +<head> + <meta name="generator" content= + "HTML Tidy for Windows (vers 1 June 2005), see www.w3.org"> + <title> ELOG - Syntax of elogd.cfg - - - - - - - - -
- ELOG - Syntax of elogd.cfg -

-
-
-
- Global and individual logbook options for an ELOG server -
-
-

- The configuration file elogd.cfg contains entries - which define the structure of logbooks and the behaviour of - elogd. The file has a simple ASCII format. Each - logbook is defined by a [<name>] section where - <name> is the name of the logbook. The [global] - section is used for settings common to all logbooks. Each line contains a - setting name, followed by an equal sign and the value for this setting. - Lines starting with ";" are treated as comments. -

-

- Here is a simple example, which define two logbooks, "Linux" and - "PC": -

- +

+ By starting the synchronization on one elogd server, this server becomes + the client and the other one becomes the server. This means that the + local server actively compares the local and the remote messages, and + updates one or the other if necessary. The other (remote) server does not + need to have any mirror option in its configuration file, since the local + server simulates a web browser to send and retrieve messages to the + remote server. It is however allowed that the remote server also contains + some mirror settings in the configuration file, this way the + synchronization can be started from both servers. +

+
+ + diff --git a/mxml b/mxml index 20b46109..15c5f5c6 160000 --- a/mxml +++ b/mxml @@ -1 +1 @@ -Subproject commit 20b4610931d6a443a9ff056f2366fdddcdb9d2b3 +Subproject commit 15c5f5c6764f99e9974c6ea40f5a58f2d21285d6 diff --git a/src/elogd.c b/src/elogd.c index 0f18d352..f0188f9b 100755 --- a/src/elogd.c +++ b/src/elogd.c @@ -5724,6 +5724,11 @@ int is_html(char *s) } } + if (strstr(str, "&#") && strchr(strstr(str, "&#"), ';')) { + xfree(str); + return TRUE; + } + xfree(str); return FALSE; } @@ -20889,8 +20894,13 @@ void show_elog_list(LOGBOOK * lbs, int past_n, int last_n, int page_n, BOOL defa n_page = atoi(str); else n_page = 20; - if (isparam("npp")) + if (isparam("npp")) { n_page = atoi(getparam("npp")); + if (n_page < 1) + n_page = 1; + if (n_page > 100000) + n_page = 100000; + } if (page_mid) { default_page = 0; @@ -26681,8 +26691,8 @@ void show_selection_page(void) rsprintf("\n"); rsprintf("\n"); - rsprintf("%s", loc("Create new logbook"), loc("Create new logbook")), - rsprintf("\n"); + rsprintf("%s", loc("Create new logbook"), loc("Create new logbook")); + rsprintf("\n"); rsprintf("\n"); return; } @@ -29212,6 +29222,11 @@ int process_http_request(const char *request, int i_conn) content_length = atoi(strstr(request, "Content-Length:") + 15); else if (strstr(request, "Content-length:")) content_length = atoi(strstr(request, "Content-length:") + 15); + if (content_length <= 0) { + show_error("Invalid Content-Length in header"); + xfree(str); + return 1; + } /* extract header length */ if (strstr(request, "\r\n\r\n")) diff --git a/src/elogd.h b/src/elogd.h index b5c98051..480473c8 100644 --- a/src/elogd.h +++ b/src/elogd.h @@ -301,7 +301,7 @@ int build_subst_list(LOGBOOK * lbs, char list[][NAME_LENGTH], char value[][NAME_ void highlight_searchtext(regex_t * re_buf, char *src, char *dst, BOOL hidden); int parse_config_file(char *config_file); PMXML_NODE load_password_file(LOGBOOK * lbs, char *error, int error_size); -int load_password_files(); +int load_password_files(void); BOOL check_login(LOGBOOK * lbs, char *sid); void compose_base_url(LOGBOOK * lbs, char *base_url, int size, BOOL email_notify); void show_elog_entry(LOGBOOK * lbs, char *dec_path, char *command); @@ -326,7 +326,7 @@ int ascii_compare(const void *s1, const void *s2); int ascii_compare2(const void *s1, const void *s2); void do_crypt(const char *s, char *d, int size); BOOL get_password_file(LOGBOOK * lbs, char *file_name, int size); -LOGBOOK *get_first_lbs_with_global_passwd(); +LOGBOOK *get_first_lbs_with_global_passwd(void); /* functions from auth.c */ int auth_verify_password(LOGBOOK *lbs, const char *user, const char *password, char *error_str, int error_size); diff --git a/xcode/elogd.xcodeproj/project.pbxproj b/xcode/elogd.xcodeproj/project.pbxproj index ff8bb548..edd20ab2 100644 --- a/xcode/elogd.xcodeproj/project.pbxproj +++ b/xcode/elogd.xcodeproj/project.pbxproj @@ -155,7 +155,7 @@ D52BA2F113999DB0000458E3 /* Project object */ = { isa = PBXProject; attributes = { - LastUpgradeCheck = 0810; + LastUpgradeCheck = 0910; ORGANIZATIONNAME = PSI; }; buildConfigurationList = D52BA2F413999DB0000458E3 /* Build configuration list for PBXProject "elogd" */; @@ -212,12 +212,18 @@ D52BA30113999DB0000458E3 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -245,12 +251,18 @@ D52BA30213999DB0000458E3 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;