This question about Installation of Foswiki: More info required

Forswiki 1.1.9 configure fails with RCS 5.9.2

I used TWiki for years, but as incremental operating system updates kept breaking little things, I moved up to Foswiki 1.0.9.

Now, it too has started failing with Fedora 19 (won't save changed pages), so I am trying to address that by moving on to the current release. Unfortunately, it fails right away when I try to save from the configure script. The problem seems to be that RCS version 5.9.2 does not like the -V option that Foswiki is using to check the environment.

[root@shadow httpd]# rcs -V
rcs: warning: -V is obsolete; instead, use --version
rcs (GNU RCS) 5.9.2
Copyright (C) 2010-2013 Thien-Thi Nguyen
Copyright (C) 1990-1995 Paul Eggert
Copyright (C) 1982,1988,1989 Walter F. Tichy, Purdue CS
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
[root@shadow httpd]#

I was grepping through Foswiki, trying to find that "rcs -V"so I could patch it to "rcs --version", but I cannot seem to find it.

HELP ?

Is this also why the older version fails?

Lars Poulsen <[email protected]>

-- LarsPoulsen - 26 Feb 2014

I can't say why Foswik 1.0.9 is failing to save pages. We'd need some error messages or some more to go on. But certainly older versions of Foswiki are going to have trouble with more recent versions of perl. Some commonly used perl code in 1.0.x has been deprecated and will fail with more recent versions of perl.

As far as the RCS Version check, it's done in configure in lib/Foswiki/Configure/Checker.pm, in the subroutine checkRCSProgram - around line 474. You could probablyt sneak around the issue as well by changing from RcsWrap to RcsLite for the configured version of RCS.

-- GeorgeClark - 27 Feb 2014

Now I'm confused. It took a bit but I've managed to get rcs 5.9.2 installed on my local test system: However I'm not seeing any issues with configure. Foswiki installed and is running fine.

Could you get some more details about the exact failure in configure? The RCS version issue might be unrelated. Below is what rcs returns on my local system now.

rcs -V
rcs: warning: -V is obsolete; instead, use --version
rcs (GNU RCS) 5.9.2
Copyright (C) 2010-2013 Thien-Thi Nguyen
Copyright (C) 1990-1995 Paul Eggert
Copyright (C) 1982,1988,1989 Walter F. Tichy, Purdue CS
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

I made a change to lib/Foswiki/Configure/Checker.pm to report the rcs version in a NOTE, and it reports 5.9.2 with no issues. So the -V warning is being ignored.

Could your system be running an older version of some of the configure modules? There was a bug a while ago where configure would fail if the RCS version was a 3-part version.

-- GeorgeClark - 27 Feb 2014


Obviously there are several parallel paths I have been looking at here: The old Foswiki 1.0.9 and the new 1.1.9. The old one can't run configure because perl has changed too much since then, and it does not seem worthwhile to try to fix it. Outside of Configure it used to mostly work (with some minor exceptions in user registration etc). Recently some topics won't save; I don't see any error messages, the saved version just does not get updated. But many topics still work fine. But clearly I need to get to the new system.

As for getting 1.1.9 to work, it is quite likely to be interplay between my Linux distribution (Fedora 19 on the system in question) and Foswiki, complicated by the fact that some perl modules have come in via Fedora RPM packages, and others have been loaded by CPAN. I would not be surprised if that could lead to mismatched versions with no easy way to sync them to either the most current CPAN versions or the possibly somewhat older versions captured by the Fedora release process. Is there an automated way to tell CPAN to update everything it knows about (something like "cpan update all")?

For the new Foswiki, it seems I need to get through configure before I can load the content that I have on the older system into it. So for now I am looking at all the roadblocks in Configure.

(a) RCS version check - I see this in /var/log/httpd/error_log:

[Tue Feb 25 17:32:27.166200 2014] [cgi:error] [pid 7569] [client 207.154.90.133:60143] AH01215: rcs: , referer: http://shadow/rainbow/bin/configure
[Tue Feb 25 17:32:27.166324 2014] [cgi:error] [pid 7569] [client 207.154.90.133:60143] AH01215: warning: , referer: http://shadow/rainbow/bin/configure
[Tue Feb 25 17:32:27.166460 2014] [cgi:error] [pid 7569] [client 207.154.90.133:60143] AH01215: -V is obsolete; instead, use --version, referer: http://shadow/rainbow/bin/configure
[Tue Feb 25 17:32:27.166516 2014] [cgi:error] [pid 7569] [client 207.154.90.133:60143] AH01215: , referer: http://shadow/rainbow/bin/configure
[Tue Feb 25 17:32:27.175774 2014] [cgi:error] [pid 7569] [client 207.154.90.133:60143] AH01215: rcs: , referer: http://shadow/rainbow/bin/configure
[Tue Feb 25 17:32:27.175876 2014] [cgi:error] [pid 7569] [client 207.154.90.133:60143] AH01215: warning: , referer: http://shadow/rainbow/bin/configure
[Tue Feb 25 17:32:27.175977 2014] [cgi:error] [pid 7569] [client 207.154.90.133:60143] AH01215: -V is obsolete; instead, use --version, referer: http://shadow/rainbow/bin/configure
[Tue Feb 25 17:32:27.176027 2014] [cgi:error] [pid 7569] [client 207.154.90.133:60143] AH01215: , referer: http://shadow/rainbow/bin/configure
[Tue Feb 25 17:32:27.185887 2014] [cgi:error] [pid 7569] [client 207.154.90.133:60143] AH01215: rcs: , referer: http://shadow/rainbow/bin/configure
[Tue Feb 25 17:32:27.185991 2014] [cgi:error] [pid 7569] [client 207.154.90.133:60143] AH01215: warning: , referer: http://shadow/rainbow/bin/configure
[Tue Feb 25 17:32:27.186090 2014] [cgi:error] [pid 7569] [client 207.154.90.133:60143] AH01215: -V is obsolete; instead, use --version, referer: http://shadow/rainbow/bin/configure
[Tue Feb 25 17:32:27.186139 2014] [cgi:error] [pid 7569] [client 207.154.90.133:60143] AH01215: , referer: http://shadow/rainbow/bin/configure
[Tue Feb 25 17:32:27.236957 2014] [cgi:error] [pid 7569] [client 207.154.90.133:60143] AH01215: ci: warning: -V is obsolete; instead, use --version, referer: http://shadow/rainbow/bin/configure
[Tue Feb 25 17:32:27.243177 2014] [cgi:error] [pid 7569] [client 207.154.90.133:60143] AH01215: ci: warning: -V is obsolete; instead, use --version, referer: http://shadow/rainbow/bin/configure
[Tue Feb 25 17:32:27.266312 2014] [cgi:error] [pid 7569] [client 207.154.90.133:60143] AH01215: co: warning: -V is obsolete; instead, use --version, referer: http://shadow/rainbow/bin/configure
[Tue Feb 25 17:32:27.277089 2014] [cgi:error] [pid 7569] [client 207.154.90.133:60143] AH01215: rlog: warning: -V is obsolete; instead, use --version, referer: http://shadow/rainbow/bin/configure
[Tue Feb 25 17:32:27.284386 2014] [cgi:error] [pid 7569] [client 207.154.90.133:60143] AH01215: rlog: warning: -V is obsolete; instead, use --version, referer: http://shadow/rainbow/bin/configure
[Tue Feb 25 17:32:27.291539 2014] [cgi:error] [pid 7569] [client 207.154.90.133:60143] AH01215: rlog: warning: -V is obsolete; instead, use --version, referer: http://shadow/rainbow/bin/configure
[Tue Feb 25 17:32:27.325623 2014] [cgi:error] [pid 7569] [client 207.154.90.133:60143] AH01215: rcsdiff: warning: -V is obsolete; instead, use --version, referer: http://shadow/rainbow/bin/configure

(b) When I try to get around that by using RcsLite I see this a bit further down:

[Tue Feb 25 17:33:09.438995 2014] [:error] [pid 28557] [client 207.154.90.133] ModSecurity: Access denied with code 44 (phase 2). Match of "eq 0" against "MULTIPART_STRICT_ERROR" required. [file "/etc/httpd/conf.d/mod_security.conf"] [line "31"] [id "200002"] [msg "Multipart request body     failed strict validation:     PE 0,     BQ 0,     BW 0,     DB 0,     DA 0,     HF 0,     LF 0,     SM 0,     IQ 1,     IP 0,     IH 0,     FL 0"] [hostname "shadow"] [uri "/rainbow/bin/configure"] [unique_id "Uw1EVRpiWTewaHyZHRQbUQAAAAU"]

I had hoped I could avoid this simply by turning off SMTP for now, but even after I edit LocalSite.cfg by hand to turn off EnableEmail, I still get this error when saving from the email tab of Configure. I note that /etc/httpd/modsecurity.d/activated_rules/ is empty. I do not understand what the "invalid quoting" is about. I have tried to put a backslash in front of the email address, leaving it empty, forcing the default empty, using " at " instead of @ in the email address. All of these get the same complaint about invalid quoting.

-- LarsPoulsen - 27 Feb 2014

I did a "cpan upgrade" to get everything current, but still have the same ModSecurity problem with the invalid quoting. While it is possible that I might be able to run with a manually configured LocalSite.cfg it is pretty scary that I cannot complete the documented installation procedure.

-- LarsPoulsen - 27 Feb 2014

For your part a) The warnings during configure. Does configure actually fail? I also get those messages logged. I had not thought to check the logs, since configure appears completely functional. The logs are noisy but it seems inconsequential. The -V option is only used in the configure checker, not in mainline foswiki. So this should not impact the wiki operation.

For part b) I'm completely unfamiliar with mod_security. I've never used it. Is there any chance you could disable it to see if foswiki works without it? The form that is posted by configure is extremely large and complex. I'm not surprised that it might get tripped up. When you save the configuration, it does one large post for every possible field, visible and hidden expert, for the entire configuration. So I don't think you can attribute the fail so a single modified field. Every field is sent on every save. It could be anything.

-- GeorgeClark - 27 Feb 2014


The RCS version issue may not have killed configure, I think it just made the save operation fail and sent me back to the screen that showed the errors. And after I did manually edit LocalSite.cfg and made it use RcsLite, it went further. At this point, the save operation in configure fails with "Internal Server Error". And the only thing I see in the Apache log is the mod_security failure. I have no idea how to not invoke that module, which I think is part of the standard Apache installation.

-- LarsPoulsen - 01 Mar 2014

I found this post: http://henrytseng.blogspot.com/2009/04/how-to-turn-off-modsecurity-apache.html

Other than that, I've never run into mod_security, and the question has not come up here before that I can recall.

I really think that the RCS error is a red herring. I've got that version installed here, and configure logs all the same errors in the apache error log that you reported. But configure works fine, and foswiki works without errors as well. I think the issue is due to mod_security blocking something critical to foswiki.

-- GeorgeClark - 01 Mar 2014
 

QuestionForm edit

Subject Installation of Foswiki
Extension
Version Foswiki 1.1.9
Status More info required
Related Topics
Topic revision: r8 - 01 Mar 2014, GeorgeClark
The copyright of the content on this website is held by the contributing authors, except where stated elsewhere. See Copyright Statement. Creative Commons License    Legal Imprint    Privacy Policy