1. If I say "fossil ui" and the browser starts successfully and then exits, Fossil should exit, too. It should arguably exit even if it fails to start the browser, since you asked for a UI and it couldn't provide one.

I gather that it behaves the way it currently does because "fossil server" was added later, and before that point, "fossil ui" was the only way to get Fossil to act as a web server. That makes this "stay running" behavior of "fossil ui" vestigial now, no? If I want Fossil to remain running to provide network service, I should use "fossil server" not "fossil UI", right?


2a. It would be nice if "fossil server" had a "-A address" flag to make it bind to a particular network interface, for use on multihomed machines. We would like to use a machine with multiple IP aliases have www.foo.com and fossil.foo.com in DNS, with Apache and Fossil both bound to port 80 but on different IPs.

2b. It would also be nice to be able to set the HTTP_SERVER_LOCALHOST internal flag with, say, "fossil server -L", so that if you are proxying access to Fossil, Fossil's listening port isn't directly accessible on external network interfaces.


3. The enter_chroot_jail() stuff seems to be broken. I get this in the browser if I try to run "fossil server" as root:

 SQLITE_CANTOPEN: cannot open file at line 28175 of [7e10a62d0e]

SQLITE_CANTOPEN: os_unix.c:28175: (2) open(/server.fossil-journal) - No such 
file or directory

SQLITE_CANTOPEN: statement aborts at 25: [INSERT INTO 
config(name,value,mtime)VALUES('baseurl:http://mongo:82',1,now())]
Database Error

unable to open database file: {INSERT INTO 
config(name,value,mtime)VALUES('baseurl:http://mongo:82',1,now())}

If you have recently updated your fossil executable, you might need to run "fossil 
all rebuild" to bring the repository schemas up to date.

I guess someone has messed up the order of operations here, so that the DB isn't open by the time it tries this, hence why the DB's journal doesn't yet exist. It's probably a good thing for the DB to not be opened until after root privileges are dropped.

The only reason I'm trying to run Fossil as root is so I can bind it to port 80, without using a reverse proxy.

I've tried both v1.24 and the fossil trunk:

        This is fossil version 1.25 [646c4a67f9] 2013-02-19 12:29:39 UTC


4. It would be nice if Fossil would probe for the existence of X11 on *ix type systems before attempting to start the browser. The code in this question should work:

        http://stackoverflow.com/questions/637005/x-server-running

I mention it because I'm writing a script that calls either "fossil ui" or "fossil server" depending on whether a GUI is available. Checking $DISPLAY isn't good enough because my Windows SSH client sets that variable regardless of whether I have X running. (X sometimes *is* running on the Windows box. Just not all the time.) So, Firefox tries to run on my Linux server, thinking it can display on my Windows box, so my SSH client spams me with errors that it could not forward packets to the local X server until Firefox gives up and dies.

Fossil should check that $DISPLAY exists first, of course, so it doesn't get confused on Cygwin and Mac systems, where it may find X libraries at configure time, but where X is often not running.

I'm currently hacking around this in my script by attempting "xterm -e exit" before "fossil ui", since that results in only *one* error when X isn't running.
_______________________________________________
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users

Reply via email to