Re: [fossil-users] Ignoring Apple Xcode user files

2012-12-16 Thread Dmitry Chestnykh
I use the following string for Admin  Settings  ignore-glob:

*/xcuserdata/*,build/*,*.mode1v3,*.pbxuser,*.orig

--
Dmitry Chestnykh
http://www.codingrobots.com

On Sun, Dec 16, 2012 at 10:19 PM, K k...@lightpowered.org wrote:
 Hello,

 Now that I wish to keep my Xcode project configuration 'file' in my repo, 
 I've run into some 'fun'.

 I say 'file' because project.xcodeproj is actually a dir, with both project 
 configuration and user data in it.

 Apparently the Git workflow to handle this is: echo 'xcuserdata/'  
 .gitignore  git add *.xcodeproj.

 What would be the equivalent in Fossil please? Or equivalent aside, what is 
 the proper solution to this when using Fossil?

 Thank you in advance for any help.

 Kind regards,
 ^K
 ___
 fossil-users mailing list
 fossil-users@lists.fossil-scm.org
 http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] How to migrate up a directory.

2012-12-03 Thread Dmitry Chestnykh
On Mon, Dec 3, 2012 at 2:39 AM, K k...@lightpowered.org wrote:
 I am using Xcode as my IDE at the moment, which produces a project.xcodeproj 
 file, and a projectsrc/ dir to contain source files. My .fossil is located in 
 the project dir alongside the project.xcodeproj file.

The location of project.fossil file is not important. You can put it
anywhere on disk.
E.g., I store all my repositories at ~/fossils/ directory.

 However, I type fossil UI in the projectsrc dir, and add files from there 
 as well, as to date  I've only wanted to keep source code files in the 
 repository.

This is where your checkout (the opened repository / working files) is
located. Treat it as a root directory for everything concerning this
project, and forget everything that's in the parent directories.

So, currently your working directory looks something like this:

/AppDelegate.h
/AppDelegate.m

You want it to be organized like this:

/project.xcodeproj
/projectsrc/AppDelegate.h
/projectsrc/AppDelegate.m

Now it looks obvious that what you need to do is:

 1) create a new directory called 'projectsrc';
 2) move current files into it;
 3) move project.xcodeproj from outside working directory into it.

Do the usual `fossil mv`, `mv`, `fossil add`, `fossil commit` etc. to
achieve this.

After you organized your working directory as required, arrange its
place on the hard drive as needed.

--
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Fossil version 1.25 scheduled.

2012-12-01 Thread Dmitry Chestnykh
On Sat, Dec 1, 2012 at 4:03 AM, Richard Hipp d...@sqlite.org wrote:
 I wonder if it should be even more restrictive - and only deliver static
 content that ends in some well-known subset of suffices:  *.html, *.htm,
 *.jpg, *.jpeg, *.gif, *,png, *.txt, *.css, *.js

I think this would be too restrictive.

On a related note, I think you should consider making the previous
behaviour (not serving static files) the default one, and serve static
files only when --static-files or similar flag is supplied. I'm
worried that this change may be surprising to some people who
currently may store sensitive information along with their
repositories. When they upgrade to the new version, suddenly their
files become exposed to the world.

--
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] server SSL support

2012-11-13 Thread Dmitry Chestnykh

On 11/13/2012 03:12 PM, Remigiusz Modrzejewski wrote:

On Nov 13, 2012, at 15:09 , ST wrote:


why not put it inside in order not to bother with 3rd party stuff?


To keep the core small?


Also, safer. TLS is a bag of vulnerabilities waiting for a chance* to 
get out; better to keep it closed, in a separate unprivileged chrooted 
process.


*) chances to get out are greatly improved if combined with
   insanity of OpenSSL API.

See also http://www.daemonology.net/blog/2009-09-28-securing-https.html

--
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


[fossil-users] nowrap for file browser

2012-11-06 Thread Dmitry Chestnykh

Hello,

I noticed when file name in repository contains -, it will sometimes 
wrap into two lines in file browser. Can we add some CSS into themes to 
avoid this?


Specifically, add white-space property to ul.browser:

  ul.browser {
...
white-space: nowrap;
  }


Here are screenshots showing before and after:
http://imgur.com/a/Ei8DO

(I can commit this change if there are no objections.)

Thanks!

--
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


[fossil-users] Bug report: broken links to anchors on the same page

2012-09-18 Thread Dmitry Chestnykh
Hi all,

Links on this page into anchors on the same page are broken:

http://www.fossil-scm.org/index.html/wiki?name=Cookbook

e.g.

a href=#HighlightDiff...

becomes

http://www.fossil-scm.org/index.html/wiki?#HighlightDiff

instead of

http://www.fossil-scm.org/index.html/wiki?name=Cookbook#HighlightDiff

The problem is that Fossil sets base href=... without parameters:

base href=http://www.fossil-scm.org/index.html/wiki; /

This should be

base href=http://www.fossil-scm.org/index.html/wiki?name=Cookbook; /

to work properly.

--
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Hmm

2012-04-03 Thread Dmitry Chestnykh

On 04/02/2012 09:08 PM, Konstantin Khomoutov wrote:

Please do some minimal google research next time.


But then we won't know how many users have the problem ;-)

--
Dmitry Chestnykh
http://www.codingrobots.org
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Fwd: Problem with symlinks

2012-03-29 Thread Dmitry Chestnykh

On 03/28/2012 04:57 PM, Greg Bailey wrote:

I'm still encountering this bug with fossil 1.22. Reproduction steps are
in the original email below. Symbolic links are sometimes being created
as plain files.


Thanks, I reproduced the bug. The reason is that before there's an open 
checkout, allow-symlinks option is off -- it's not read from the 
repository or global settings. I'm working on the fix.


--
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Fwd: Problem with symlinks

2012-03-29 Thread Dmitry Chestnykh

On 03/28/2012 04:57 PM, Greg Bailey wrote:

I'm still encountering this bug with fossil 1.22. Reproduction steps are
in the original email below. Symbolic links are sometimes being created
as plain files.


OK, I fixed this particular bug, but haven't committed changes to trunk 
yet (the patch is at the bottom of the message), because I think the 
current behavior for the *global* setting allow-symlinks is wrong. 
This global setting should be considered only when creating new 
repositories, and it shouldn't affect/override repository setting.


Current behavior (with the fix below):

- When creating a new repository, allow-symlinks for this repository is 
unset (thus off by default).


- When opening/checking out a repository, allow-symlinks is read both 
from global settings and repository settings. If it's set to on/off in 
global settings, but is unset in repository settings, global wins.


Why is it so? I think it's wrong, because what the repository says about 
symlinks must be what you get in the checkout, disregarding whatever is 
in your global settings.


So, I propose to always set allow-symlinks to [whatever the global 
setting is] for new repositories when creating them instead of leaving 
it unset.




Index: src/db.c
==
--- src/db.c
+++ src/db.c
@@ -932,11 +932,11 @@
   }
   db_open_or_attach(zDbName, repository);
   g.repositoryOpen = 1;
   g.zRepositoryName = mprintf(%s, zDbName);
   /* Cache allow-symlinks option, because we'll need it on every 
stat call */

-  g.allowSymlinks = db_get_boolean(allow-symlinks, 0);
+  g.allowSymlinks = db_get_boolean(allow-symlinks, g.allowSymlinks);
 }

 /*
 ** Flags for the db_find_and_open_repository() function.
 */
@@ -1752,10 +1752,11 @@
 usage(REPOSITORY-FILENAME ?VERSION?);
   }
   if( !allowNested  db_open_local() ){
 fossil_panic(already within an open tree rooted at %s, 
g.zLocalRoot);

   }
+  db_open_config(0);
   file_canonical_name(g.argv[2], path, 0);
   db_open_repository(blob_str(path));
   db_init_database(./_FOSSIL_, zLocalSchema, (char*)0);
   db_delete_on_failure(./_FOSSIL_);
   db_open_local();



--
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


[fossil-users] Fossil reference in DuckDuckGo

2012-03-29 Thread Dmitry Chestnykh
Just found out that DuckDuckGo search engine have zero-click references 
for Fossil commands:


https://duckduckgo.com/?q=fossil+commit

--
Dmitry Chestnykh
http://www.codingrobots.org
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Names in imported git repositories

2012-03-16 Thread Dmitry Chestnykh

On 03/15/2012 02:38 PM, org.fossil-scm.fossil-us...@io7m.com wrote:

Is it possible to tell fossil that commits should be assigned to
specific user names in the resulting fossil repository?


When I converted my repos, I just did a global search/replace in the 
file exported from git.


--
Dmitry Chestnykh
http;//www.codingrobots.org
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Make a CGI request WITHOUT a script file

2012-03-03 Thread Dmitry Chestnykh

On 03/03/2012 12:04 AM, Guillermo Estrada wrote:

Hi, I've been trying to implement a webservice that hosts fossil
repositories. Kinda like chiselapp.com http://chiselapp.com . I have
achieved running my own server app written in golang to make the CGI
requests in a routed handler (i.e /user/repository ), but the problem
I'm facing is that the only way I can make it work is if a cgi script
exists to pass as argument to fossil.


Interesting! Will it be open source?


Is there any way around this?


I assume your Go program launches Fossil. When you open a CGI process, 
can't you just write to its standard input:


repository: /path/to/repo.fossil

?

--
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Make a CGI request WITHOUT a script file

2012-03-03 Thread Dmitry Chestnykh

On 03/03/2012 03:34 PM, Stephan Beal wrote:

On Sat, Mar 3, 2012 at 3:30 PM, Dmitry Chestnykh
dmi...@codingrobots.com mailto:dmi...@codingrobots.com wrote:

I assume your Go program launches Fossil. When you open a CGI
process, can't you just write to its standard input:

repository: /path/to/repo.fossil


That won't work: the stdin for a CGI process is the HTTP request headers
and POST data.


Of course! Pardon my moment of stupidity.

--
Dmitry Chestnykh
http;//www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] fossil rm followed by unix rm followed by update and files come back, is this desirable?

2012-02-04 Thread Dmitry Chestnykh
On Fri, 3 Feb 2012 09:57:47 -0700 Matt Welland wrote:

   If I do:
  
   fossil rm some/file.txt
   rm some/file.txt
 
  fossil commit
 
 
 People often prefer to commit when their work has reached some level
 of completion or readiness and partially done commits can cause
 unnecessary breakage for other developers. At the same time staying
 up to date with incoming changes is often a requirement.

Ah, I see what you mean. I thought you forgot to commit before
updating. Sorry for misunderstanding.

-- 
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] fossil rm followed by unix rm followed by update and files come back, is this desirable?

2012-02-03 Thread Dmitry Chestnykh
On Fri, 3 Feb 2012 09:18:32 -0700 Matt Welland wrote:

 If I do:
 
 fossil rm some/file.txt
 rm some/file.txt

fossil commit

-- 
Dmitry Chestnykh
http://www.codingrobots.org
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Should distributed binary require libnss to connect over http?

2012-01-30 Thread Dmitry Chestnykh
On Mon, 30 Jan 2012 09:11:03 +0100 Lluís Batlle i Rossell wrote:
 On Mon, Jan 30, 2012 at 04:27:07AM +0100, Dmitry Chestnykh wrote:
  On Sun, 29 Jan 2012 20:49:00 +0100 Remigiusz Modrzejewski wrote:
  
I've hit a surprising obstacle. I've tried to use Fossil, the
binary from the website, on a heavily stripped down Linux
system. But trying to clone end with:

fl: can't resolve host name: dev.lrem.net

I traced the problem to be lack of libnss_dns.so.2. 
  
  Yeah, static linking is not actually that static nowadays. When
  linking, GCC warns about this.
 
 For what I know, it's only *glibc* that suffers from dynamic-only
 name resolvers (for either hosts, services, users, ...).

You mean, if you replace glibc with some other libc, it will work?
Sure, but then you'll have more problems if you don't control the
deployment [1].

The authors of Go programming language dropped [2] a major feature --
cross-compiling between OSes -- because it was just impossible to
interface with modern OS without the provided libc, despite the fact
that they had already kind of working name resolver.

Solaris no longer allows static linking too [3]. I think OS X too.
You can, of course, build your own OS.

[1] http://www.akkadia.org/drepper/no_static_linking.html
[2] http://codereview.appspot.com/4437053
[3] http://blogs.oracle.com/rie/entry/static_linking_where_did_it

--
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Should distributed binary require libnss to connect over http?

2012-01-29 Thread Dmitry Chestnykh
On Sun, 29 Jan 2012 20:49:00 +0100 Remigiusz Modrzejewski wrote:

  I've hit a surprising obstacle. I've tried to use Fossil, the
  binary from the website, on a heavily stripped down Linux system.
  But trying to clone end with:
  
  fl: can't resolve host name: dev.lrem.net
  
  I traced the problem to be lack of libnss_dns.so.2. 

Yeah, static linking is not actually that static nowadays. When linking,
GCC warns about this.

If fossil runs in chroot/stripped system and needs to resolve hosts, you
need to put the related dynamic libraries into chroot/stripped system.

-- 
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] compile error

2011-12-22 Thread Dmitry Chestnykh
On Thu, 22 Dec 2011 18:29:51 +0100 BohwaZ wrote:

 Le Thu, 22 Dec 2011 15:22:50 + (UTC), urban jc...@i2pmail.org a
 écrit :
 
  Hi,
  
  when compiling [feed6232af], gcc 4.2.2 gives this error:
  
  bld/http_ssl.o: In function `ssl_open':
  /mnt/sda6/Fossil-feed6232af207151/./src/http_ssl.c:215: undefined
  reference to `SSL_set_tlsext_host_name'
 
 Seems that your OpenSSL lib is too old.
 
 Maybe we should put that in the source code:
 
 #if (SSLEAY_VERSION_NUMBER = 0x00908070) !defined
 #(OPENSSL_NO_TLSEXT)
 SSL_set_tlsext_host_name(handle,hostname);
 #endif
 
 (took from the W3M source code)
 
 But also make a compile warning if it's not available, and display a
 warning when trying to make a SSL connection without tlsext_host_name
 as this connection might fail because of this.

I don't like the run-time warning idea, but for the compiler warning,
is this done like this?

#if (SSLEAY_VERSION_NUMBER = 0x00908070) !defined(OPENSSL_NO_TLSEXT)
  SSL_set_tlsext_host_name(handle,hostname);
#else
  #warning OpenSSL version too old, compiling without SNI support.
#endif

Does this work with every compiler?

-- 
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] fossil not tracking directories / dir artifacts after switching branches

2011-12-22 Thread Dmitry Chestnykh
On Thu, 22 Dec 2011 19:00:18 -0500 Martin Gagnon wrote:

 On 2011-12-22, at 15:43, Justin Gedge justin.ge...@gmail.com wrote:
 If it remove directories, what fossil should do if there's some
 untracked files in those directories, delete the whole directory with
 all those files in it?
 Just wondering. May be another case for a so multipurpose -f
 switch ? ;)

Fossil check-ins mirror the state of working trees and vice versa,
excluding extra files in the working tree that are not present in any
of the check-ins. All actions in Fossil related to this mirroring
(checkout, update, commit) are not destructive in these cases:

* File has changes.

* File is absent.

* Another file with the same path, but different contents exists.
  (Fossil asks to overwrite such file.)

Not deleting empty directories looks like a bug, because it breaks the
mirroring. For example, if a subsequent check-in removes a file, when
you checkout this commit (while the working tree is in the state of
previous commit), the file gets removed (unless it has changes, see
above).

Consider this case:

Check-in 1:

file.txt
dir1/file1.txt
dir1/file2.txt
dir2/another.txt

Check-in 2:

file.txt
dir1/file1.txt

The obvious way to mirror going from check-in 1 to check-in 2 in the
working tree is:

1) Remove dir1/file2.txt, because it's not present in the commit.
2) Remove dir2/another.txt, ==

Now, it's helpful for this exercise to treat the whole path as a file
instead of looking at it as a directory/file structure:

3) Do we have files named dir1/* either in the commit or as extras in
the working tree? Yes, thus, not removing dir1 part.

4) Do we have files named dir2/* in the commit or as extras? 
   a) If we have, don't remove directory.
   b) If we don't, we no longer have any files with such names, thus
  we should remove this empty directory.

Another way to look into going from ci 1 to ci 2, which is easier to
understand:

* KILL EVERYTHING in the working tree... except extra files.
* Checkout commit 2.

So, my points:

+ Fossil should remove empty directories.

+ There's no need for -f option to kill extra files. For this, we have
  `fossil clean` command.

-- 
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Behavior of rm, mv, and changes/extra

2011-12-21 Thread Dmitry Chestnykh
On Wed, 21 Dec 2011 12:30:16 -0500 Jeremy Cowgar wrote:

 I’m in the same boat, doing two actions for every one in other SCM
 systems, however I do not do it dozens of times a day, so I’ve always
 just done it with a little gnashing of the teeth.

If we're having a vote, +1. I'd like it if rm and mv actually deleted
and renamed files.

On Wed, 21 Dec 2011 12:25:19 -0500 Richard Hipp wrote:

 I fear to change it now, though, since it might really mess up people
 who are used to the older style.

I think this won't cause major problems, because the files are version
controlled, after all. Or we can have a flag for destructive behavior
for compatibility (but habits aside, it's better to have a flag for
non-destructive behavior).

-- 
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Behavior of rm, mv, and changes/extra

2011-12-21 Thread Dmitry Chestnykh
On Wed, 21 Dec 2011 18:51:33 - Eric wrote:

 On Wed, December 21, 2011 5:41 pm, Dmitry Chestnykh wrote:
  If we're having a vote, +1. I'd like it if rm and mv actually
  deleted and renamed files.
 
 It is not the job of the SCM system to keep in step with my working
 directory, it is its job to look after what I tell it to look after.

Fossil have commands to manage your working tree, like
checkout/revert/undo/redo/stash/merge. They do things to files in
directories. rm/mv are inconsistent with this behavior.

 My working directories usually contain a fair bit of transient junk
 that just does not need to be in the repository, but which I know I
 will need for a while. I can even see that I might want to keep a
 file no longer considered an official part of the project.

It won't do anything to your junk files -- fossil mv/rm deal with
working tree files, which are registered with repository.
But if you want to remove a file from the repository, but keep it in
the working tree for a while, there could be an option for this.
I think this scenario, though, is much less used compared to just
wanting to remove files from the repository and the working copy.
We should optimize for the common case.

-- 
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Behavior of rm, mv, and changes/extra

2011-12-21 Thread Dmitry Chestnykh
On Wed, 21 Dec 2011 16:52:54 -0500 Jeremy Cowgar wrote:

 fossil rm should not remove a file it doesn't manage or has changes,
 just like other SCM systems. In this case, the file in question has
 changes, as it is brand new, the entire file has changed. Thus, if
 you were to (in the future) do:
 
 $ fossil rm #document_manager.php#
 File has changes, not removing from disk.

Exactly.

Mercurial behavior is a bit different -- it doesn't
remove it because the file has been marked for adding:

~ $ mkdir hg
~ $ cd hg
~/hg $ hg init
~/hg $ touch file.txt extra.txt
~/hg $ ls
extra.txt  file.txt
~/hg $ hg add file.txt extra.txt 
~/hg $ hg rm extra.txt 
not removing extra.txt: file has been marked for add (use -f to force
removal)

-- 
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] SSL SNI support

2011-12-15 Thread Dmitry Chestnykh
On Thu, 15 Dec 2011 01:43:42 +0100 BohwaZ wrote:

 Server:https://boh...@fossil.kd2.org/garradin/
 Bytes  Cards  Artifacts Deltas
 Sent: 279  4  0  0
 waiting for server...fossil: relocation
 error: /lib/libnss_mdns4_minimal.so.2: symbol strlen, version
 GLIBC_2.0 not defined in file libc.so.6 with link time reference

It seems like it was a bad decision to put statically linked Fossil
on /downloads.html. Linux binaries cannot be statically linked
reliably -- they depend on the particular version of glibc for DNS
resolution and other things. GCC even shows a warning about this:

./bld/shell.o: In function `find_home_dir':
/home/dchest/src/fossil/./src/shell.c:2547: warning: Using 'getpwuid'
in statically linked applications requires at runtime the shared
libraries from the glibc version used for linking ./bld/http_socket.o:
In function
`socket_open': /home/dchest/src/fossil/./bld/http_socket_.c:151:
warning: Using 'gethostbyname' in statically linked applications
requires at runtime the shared libraries from the glibc version used
for linking

Richard, can we go back to the dynamically linked one?

-- 
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] SSL SNI support

2011-12-15 Thread Dmitry Chestnykh
On Thu, 15 Dec 2011 01:43:42 +0100 BohwaZ wrote:

 So it appears that Fossil doesn't support SNI.
 
 I did a small patch in src/http_ssl.c and it seems to work, but maybe
 it's not the best code for that purpose as I usually don't work in C:
 
 214a215
SSL_set_tlsext_host_name(ssl, g.urlName);

This seems correct to me. I expanded your patch a bit to show a warning
if we fail to set SNI. I also simpified setting of the connection port.

Richard, should I commit this into trunk?

Index: src/http_ssl.c
==
--- src/http_ssl.c
+++ src/http_ssl.c
@@ -193,11 +193,11 @@
 */
 int ssl_open(void){
   X509 *cert;
   int hasSavedCertificate = 0;
   int trusted = 0;
-  char *connStr ;
+  char *connStr;
   unsigned long e;
 
   ssl_global_init();
 
   /* Get certificate for current server from global config and
@@ -210,20 +210,25 @@
 hasSavedCertificate = 1;
   }
 
   iBio = BIO_new_ssl_connect(sslCtx);
   BIO_get_ssl(iBio, ssl);
+
+  if( !SSL_set_tlsext_host_name(ssl, g.urlName) ){
+fossil_warning(WARNING: failed to set server name indication (SNI), 
+  continuing without it.\n);
+  }
+
   SSL_set_mode(ssl, SSL_MODE_AUTO_RETRY);
   if( iBio==NULL ) {
 ssl_set_errmsg(SSL: cannot open SSL (%s), 
 ERR_reason_error_string(ERR_get_error()));
-return 1;
+return 1;
   }
-  
-  connStr = mprintf(%s:%d, g.urlName, g.urlPort);
-  BIO_set_conn_hostname(iBio, connStr);
-  free(connStr);
+
+  BIO_set_conn_hostname(iBio, g.urlName);
+  BIO_set_conn_int_port(iBio, g.urlPort);
   
   if( BIO_do_connect(iBio)=0 ){
 ssl_set_errmsg(SSL: cannot connect to host %s:%d (%s), 
 g.urlName, g.urlPort, ERR_reason_error_string(ERR_get_error()));
 ssl_close();


-- 
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] SSL SNI support

2011-12-15 Thread Dmitry Chestnykh
On Thu, 15 Dec 2011 07:26:27 -0500 Richard Hipp wrote:
 Dynamic linking means going without SSL, which many Linux systems do
 not have installed.

Maybe focus on providing deb/rpm for Linux?

Alternatively -- wild idea -- maybe we can use dlopen() at runtime to
provide SSL support if OpenSSL is installed?

 I did the current build on a circa 2006 32-bit SuSE linux system that
 has never been upgraded.  And I can run the resulting binary on the
 very latest Ubuntu install on a 64-bit I7.  Presumably it also works
 on everything in between.  So I think the incompatibility warning is
 overstated.

OK then. I thought this was the reason for the reported error.

-- 
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Fossil version 1.21

2011-12-13 Thread Dmitry Chestnykh
On Tue, 13 Dec 2011 09:29:14 -0500 Richard Hipp wrote:

 Fossil version 1.21 has been packaged and put on the website for
 convenient download.  See http://www.fossil-scm.org/download.html for
 details including a summary of changes since the previous release.

On this page, the link See the Change Log for additional details
leads to the previous version of changes.wiki. The correct one is:

http://www.fossil-scm.org/fossil/doc/489c67ae46/www/changes.wiki


-- 
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Slight difficulty with symlinks

2011-11-26 Thread Dmitry Chestnykh
On Sat, 26 Nov 2011 13:16:27 + Ben Summers wrote:

 allow-symlinks is not a versionable setting. Is there a reason why
 it shouldn't be? It sounds like it should be as it affects the
 checked out files.

It should be, yes. The reason is that it's currently non-versionable is
that I started implementing it before there were versionable settings.

-- 
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Using althttpd.c

2011-11-10 Thread Dmitry Chestnykh
Hello,

On Thu, 10 Nov 2011 22:57:37 +0100 Paolo Bolzoni ezzet...@hotmail.com
wrote:

 I thought if could be a problem with the root jail but
 even if I copy sh in the default.website directory and change
 the interpreter to #!/sh nothing changes.

Are you sure that 'sh' doesn't depend on anything else and is
statically linked?

Try with statically linked fossil:

./configure --static
make

-- 
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] How to list commits made so far?

2011-11-07 Thread Dmitry Chestnykh
On Mon, 07 Nov 2011 15:42:35 -0800 Ross Berteig r...@cheshireeng.com
wrote:

 At 02:32 PM 11/7/2011, Gilles wrote:
  I guess it would make more sense that -n stands for number of
  check-in's, but it's not returning that number.
  
  I updated from 1.19 to 1.20, and re-ran the command on my repo:
  -n 5 still doesn't return the last five check-in's. Maybe this
  is not what the -n switch mean.
 
 Without examining the code, I've tried a couple of experiments in
 a repo of my own. It appears that the -n N option specifies a
 desired number of lines to output, but tests it only between
 complete timeline entries. Also, the lines containing only a date
 are not counted against N.

Here's a bug report from last November, with a patch:

http://www.fossil-scm.org/index.html/tktview?name=3e58b8ceaf

-- 
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Fossil and virtual filesystems

2011-11-01 Thread Dmitry Chestnykh
On Tue, 1 Nov 2011 13:10:31 + Eduardo Tongson propol...@gmail.com
wrote:

 Apparently Fossil chokes on symlinks to /proc or
 /sys, the commit went fine after I removed the symlink to
 /proc/self/mounts (/etc/mtab).

In the latest version (1.20) you can also turn on allow-symlinks
setting for your repository and Fossil will not follow symlinks, instead
adding them into the repository as-is.

-- 
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Fossil Repository Does Not Exist Error

2011-10-28 Thread Dmitry Chestnykh
On Fri, 28 Oct 2011 18:49:56 +0800 David Baxendale (GMail -
Singapore) david.baxend...@gmail.com wrote:

 I have recently moved all my files to a new machine and the directory 
 structure is slightly different under Windows 7. Now when I execute a 
 fossil status command, fossil reports the repository does not exist
 or is in an unreadable directory, followed by the old directory name.
 
 How do I fix this?

Make sure you don't have uncommited changes.

fossil close
fossil open new/path/to/your/repository

-- 
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Fossil Repository Does Not Exist Error

2011-10-28 Thread Dmitry Chestnykh
On Fri, 28 Oct 2011 13:31:47 +0200 Stephan Beal sgb...@googlemail.com
wrote:

 Or if you DO have uncommitted changes you can also try:
 
   rm _FOSSIL_

Dangerous if you have stashed changes ;-)

-- 
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Running a command in any sub-dir?

2011-10-27 Thread Dmitry Chestnykh
On Thu, 27 Oct 2011 12:24:26 +0200 Gilles gilles.gana...@free.fr
wrote:

 Is there a way to run a command in any sub-directory below the
 repository, so that I don't have to cd to the right sub-directory
 before running a command?

First of all, there's a distinction between a repository (and SQLite
database file) and a working copy (a collection of your files). The
repository can be located anywhere. When you open it by running `fossil
open /path/to/repository`, you create a working copy in the current
directory.

I organize my projects the following way (~ is my home folder):

* ~/fossils/pub/ (repositories for my public projects): 
   iwl.fossil
   kitchen-timer.fossil
   ...

* ~/fossils/priv/ (repositories for my private projects):
   configs.fossil
   ...

I have a separate single directory for working copies:

* ~/proj/
   iwl/
   kitchen-timer/
   configs/

To create a new project I do:

fossil new ~/fossils/pub/example.fossil
mkdir ~/proj/example
cd ~/proj/example
fossil open ~/fossils/pub/example.fossil

Now I'm inside a fresh working copy. Fossil here creates a special file
_FOSSIL_, so that it knows that files in this directory and in
subdirectories under it can be tracked.

Now, while inside this working copy, I can add some files:

echo Hello world  file1.txt
fossil add file1.txt

and I can add subdirectories with files:

mkdir sub
echo Second file  sub/file2.txt
fossil add sub/file2.txt

I can also 'cd' into that directory to add files:

cd sub
echo Third file  file3.txt
fossil add file3.txt

Fossil allows me to do this, because it walks up the hierarchy from the
current directory to find that _FOSSIL_ file:

Have ~/proj/example/sub/_FOSSIL_? No. Go up.
Have ~/proj/example/_FOSSIL_? Yes. That's the root of the working
working copy. There it finds that I'm adding files/committing to
~/fossil/pub/example.fossil repository.

Suppose I 'cd' into my home directory (/home/dchest/).
Now when you run

fossil add ~/proj/example/sub/file3.txt

It walks up from the current directory:

Have /home/dchest/_FOSSIL_? No.
Have /home/_FOSSIL_? No.
Have /_FOSSIL_? No. No more levels, error.

Fossil expects your current directory to be inside the root of the
working copy, i.e. the working copy directory itself or any other
directory under it in the hierarchy.

-- 
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Running a command in any sub-dir?

2011-10-27 Thread Dmitry Chestnykh
On Thu, 27 Oct 2011 13:54:37 +0200 Gilles gilles.gana...@free.fr
wrote:
 Yes, but I find it odd that Fossil expects the current directory to
 match the path in the repository: After all, when running commands
 that deal with the files in the repository, it shouldn't matter where
 we are in the file system when typing the command.

When you're inside the working copy, treat this as if you're
dealing with the mirror of what's inside the repository, that is, as if
you're browsing the repository tree.

ls is not consistent because it just lists all files in the current
checkout from the working copy root directory, which is helpful for
scripts. All other commands show paths relative to the current
directory:

C:\Projects\Project2\ fossil changes
EDITED ../Project1/Form1.vb

As for why it works this way -- this is just convenient and familiar.
If Fossil worked with absolute paths instead of relative ones, it would
be inconvenient to work with. Consider a case where you have the
following path:

project/subdir1/subdir2/subdir3/file.txt

If Fossil didn't accept relative paths, you'd have to type this whole
directory structure any time you work with files inside 'subdir3'
instead of just 'cd' into it and using file names without path.

Also don't forget about shell glob expansions. If I have 10 .txt files
inside the directory:

dir\
 - subdir\
   - file1.txt
   - file2.txt
   ...
 
And I 'cd' into 'dir/subdir', I can do:

fossil diff *.txt

And get the diffs for all these 10 files.
I couldn't do this if I had to specify:

fossil diff dir/subdir/*.txt

when I'm inside 'dir/subdir', because shell works with relative paths,
and will not expand this glob to the proper files.

-- 
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Fossil is Awesome

2011-10-26 Thread Dmitry Chestnykh
On Wed, Oct 26, 2011 at 3:51 AM, Caleb Gray ca...@calebgray.com wrote:
 2) Add (or replace zlib with) LZMA.

 Some of my repositories are very large; the compression difference between
 the DEFLATE algorithm and the LZMA algorithm is not negligible, and can even
 be substantial.

 Recently, even the Linux kernel has officially begun using lzmalib to
 compress their releases: http://www.kernel.org/pub/linux/kernel/v3.0/ (even
 the difference between BZ2 and XZ is about 13M, or 31M smaller than GZ).

 A quick implementation of LZMA (by editing auto.def and blob.c's
 blob_compress, blob_compress2, and blob_uncompress) resulted in the
 following repository sizes for the latest trunk of SQLite:
 sqlite-zlib.fossil (4.8M) (~5.0K per file)
 sqlite-lzma.fossil (3.5M) (~3.6K per file)

 How's that for bandwidth efficient enough for  dial-up?

LZMA is good for release tarballs, but has unacceptable speed and
memory requirements for version control systems.
Note that due to self-checks, Fossil compresses and then extracts and
verifies content before committing it:
http://www.fossil-scm.org/index.html/doc/trunk/www/selfcheck.wiki

I'd say DEFLATE is a good compromise between LZO/SNAPPY and LZMA for our use.

--
Dmitry Chestnykh
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Fossil is Awesome

2011-10-26 Thread Dmitry Chestnykh
On Wed, Oct 26, 2011 at 3:51 AM, Caleb Gray ca...@calebgray.com wrote:
 1) Compress the releases found on http://www.fossil-scm.org/download.html 
 using UPX ( http://upx.sourceforge.net/).
UPX is technology from the good ol' days, when people had tiny
floppies and hard drives. There's no reason to use it nowadays. It
slows down execution, takes more memory, may introduce
vulnerabilities, etc. Just read about all the disadvantages of UPX
here http://linux.die.net/man/1/upx.

Note that Fossil in CGI mode is executed for each request, so with UPX
it would have to decompress itself on each request. The first time you
run it, it may be faster (due to smaller disk reads compared to
uncompressed version), but for each subsequent request, once Fossil is
in RAM, it would be slower and require more CPU.

--
Dmitry Chestnykh
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Fossil is Awesome

2011-10-26 Thread Dmitry Chestnykh
2011/10/26 Lluís Batlle i Rossell virik...@gmail.com: Forking and
executing is not the same thing. I don't know in Windows, but in
unix, a fork of a upx program should be the same as a non-upx program.
Fork (on *nix) applies to fossil server. Fossil's CGI is, obviously,
run by webserver with fork/exec.
Also, Windows doesn't have fork.

--
Dmitry Chestnykh
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Fossil is Awesome

2011-10-26 Thread Dmitry Chestnykh
On Wed, 26 Oct 2011 16:15:11 -0700 Caleb Gray ca...@calebgray.com
wrote:

 @Dmitry Chestnykh:
 I just wrote a script for testing the speed and size difference
 between the different compressions available, find the results here:
 http://uploads.calebgray.com/contributions/compression/index.html

Thanks! I grepped a bit, and found out that Fossil uses 9 level for
deflate, which seem to me _not_ a good balance; and LZMA 1
level outperforms it in both compression ratio and speed.

Plus I've heard that xz is for some reason slower than 7zip:
http://ck-hack.blogspot.com/2011/04/quick-lrzip-comparison.html

BTW, how LZMA performs for tiny files? I ask because most blobs in
Fossil in normal operation (source code) are tiny due to
delta compression.

 As far as I know, memory usage depends entirely on dictionary size...
 so shouldn't DEFLATE and LZMA use the same amount of memory if
 configured correctly?

Not sure, but I thought a good part of why LZMA is so good is that it
has a large dictionary size. Though, maybe low compression levels don't
require a lot of memory.

 I'm used to 500KiB/s download speed, but my only choice at home is
 Clearwire (which is true, I'm sure, for more than just myself).
 Unfortunately, it's not rare for me to get 20KiB/s download speeds on
 it, if the Fossil releases were UPX compressed, that would have saved
 me ~5 seconds over the ZIP. Obviously, this isn't doesn't seem like a
 big deal, but keep in mind that the people in Australia/New Zealand
 have to pay for their bandwidth. It's not just time we're saving
 people, it's money too, in the long run.

Sure, I understand. When I lived in Russia, the first Ethernet
connection I got was pretty expensive: $0.15 per megabyte or so (with
average income in Moscow ~$500 at that time). Today a lot of places
in the world have expensive mobile internet.

Still, 500 KB difference in a world of torrents, 500 MB text
editors, and 2 GB software updates? Come on! :-)

 UPX has zero effect on memory usage, and would probably add a
 millisecond or two to each request, leaving CPU as the only truly
 impacted factor... I suppose that if a Pentium 133 uncompressed at
 ~10MB/s as they claim on their homepage... then if you're getting 10
 requests a second on a 1MB executable... your server would begin
 seeing the performance impact of Fossil being compressed using UPX.
 Anyway, I'm not a huge proponent to the idea, it was just a thought.

UPX works by allocating a buffer of original executable size, then
uncompressing the file to it, and executing this buffer. The statically
compiled fossil running on my server (amd64) is ~5 MB. This means that
on each request, if I packed it with UPX, I'd get 5 MB allocation --
not good for my little VPS :-)

-- 
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] SSL: cannot connect to host www.fossil-scm.org:443

2011-10-24 Thread Dmitry Chestnykh
On Mon, 24 Oct 2011 19:39:56 +0200 Jiří Navrátil j...@navratil.cz
wrote:

 I got today instead of one question two questions on my OpenBSD box.
 Not sure, what was is the difference from last time. Now I don't need
 anymore to accept new certificate again. 
 
 old question:
 
 Accept certificate [a=always/y/N]? a
 
 new questions:
 
 Accept certificate for host www.fossil-scm.org [a=always/y/N]? a
 
 Save this certificate as fully trusted [a=always/N]? a

That's quite a usability mess.

What answering always to the first question now means?
Why you have to answer always to the second question instead of yes?

The original intention with the acceptance question was:

Accept certificate [a=always/y/N]?

* always = as in, always, that is, save certificate and don't complain
about it anymore.
* y = yes, accept certificate for this sync session.
* n = no, reject certificate and quit sync session.

I remember there was a bug in handling yes answer -- that is, Fossil
would ask this question a few times during sync. Was this two question
thing intended to fix this?

Thanks!

-- 
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] feature list?

2011-10-21 Thread Dmitry Chestnykh
On Sat, 22 Oct 2011 01:55:31 +0200 Jan Danielsson
jan.m.daniels...@gmail.com wrote:

A while back, drh posted a list of features which he couldn't
 implement due to time constraints, but I am unable to find that
 particular mail. Anyone have a link to the mail in the archives, or is
 that list available through the fossil wiki?

Here it is:
http://www.mail-archive.com/fossil-users@lists.fossil-scm.org/msg05846.html

-- 
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Veracity (was: Fwd: suggestion on fossil)

2011-10-19 Thread Dmitry Chestnykh
On Wed, 19 Oct 2011 14:50:26 +0200 Stephan Beal sgb...@googlemail.com
wrote:

 My 0.02€:  in some 16 years of using source control, i have never
 once had a use for (and sometimes been hindered by) locks. IMO anyone
 who _thinks_ they need them is still living in the 1980's or early
 1990's.

Just for fun: a lock sitting in FVWM CVS repository since 2008:
http://www.mail-archive.com/fvwm-workers@lists.math.uh.edu/msg15603.html

-- 
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Veracity

2011-10-19 Thread Dmitry Chestnykh
On Wed, 19 Oct 2011 14:56:47 +0200 Stephan Beal sgb...@googlemail.com
wrote:

 So the master plan is to create an SCM for the sole purpose of
 selling books about the SCM (whose sole purpose is to sell a book
 about...)?

Actually, Eric gave away this book ;-)

-- 
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] more on side-by-side diffs

2011-10-16 Thread Dmitry Chestnykh
On Sun, 16 Oct 2011 19:10:58 +0200
Stephan Beal sgb...@googlemail.com wrote:

 On Sun, Oct 16, 2011 at 6:27 PM, Jan Danielsson
 jan.m.daniels...@gmail.comwrote:
 
I'm still searching for better terminology than 1-pane and
  2-pane diffs. Any opinions?
 
Condensed vs Expanded?
 
Terse vs Verbose?
 
 i like side-by-side, but i don't have a suggestion for 1-pane diffs.
 
 Maybe tall and wide diffs?

Side-by-side diffs and Unified diffs?

-- 
Dmitry Chestnykh
http://www.codingrobots.com
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Login seems to be broken. (Showstopping)

2011-10-12 Thread Dmitry Chestnykh
 Using a recent version of fossil (Fossil version 1.19 [6092935ff2] 2011-10-05 
 02:03:04) I can't log in to any repository at all (including repos I've had 
 up for over a year without a problem) except on the local machine.  I've 
 attached an example of this behaviour as an empty repository.  There are two 
 users on this repo: michael and nii.  The former is Super-user and the latter 
 is Developer.  Both have the password 12345.  I can only log in as michael 
 when run locally (and, indeed, hitting Logout leads me to an Unable to 
 connect message).  When running remotely I can access the Login page, but 
 can't actually log in.  It *says* I've been logged in, but going anywhere 
 other than the login window says I'm not logged in.

There were some changes to login code lately:

[d4a341b49d] Merge protection against timing attacks into trunk.

But I can't reproduce your problem.

Maybe try 'make clean' before rebuilding the code?

If this won't work, try the version before this merge: [3fac77d7b0] and let us 
know the results.

Thanks!

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] ui side-by-side diffs

2011-10-10 Thread Dmitry Chestnykh
On Oct 10, 2011, at 1:01 , Jan Danielsson wrote:

   Feedback/ideas/protests are welcome from anyone who has any preferences 
 with regards to design/layout. I've only used cvsweb, so it'll be my primary 
 source of inspiration. For those with wider experience of such tools, let me 
 know if there are others I should be looking at.

Here are some features that I like, which can be added later once we have a 
basic implementation:

I like how Google Code highlights changes inside diffs:

http://code.google.com/p/spiped/source/diff?spec=svn18r=17format=sidepath=/trunk/main.cold_path=/trunk/main.cold=2

Also, Google's Code Review tool collapses lots of unchanged lines:

http://codereview.appspot.com/5218041/diff/26002/src/pkg/html/parse_test.go

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Gdiff after commited files?

2011-10-10 Thread Dmitry Chestnykh
On Oct 10, 2011, at 17:38 , Gilles wrote:

 Is there a simple way to tell Fossil to call the gdiff application
 with the last and before-last revisions of the file by default?

fossil gdiff --from previous myfile.txt

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] fossil: out of memory

2011-10-06 Thread Dmitry Chestnykh
On Oct 6, 2011, at 10:36 , Stephan Beal wrote:

 mmap() is only used by the sqlite3 code, not fossil. 

OS X uses mmap underneath when you do malloc for the large region.

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] SSL: cannot connect to host www.fossil-scm.org:443

2011-10-06 Thread Dmitry Chestnykh
 Do we need to do something to the Fossil SSL implementation so that it can 
 accept a UCC?

I don't think so.

On my Ubuntu VM Fossil doesn't complain about certificate, just clones without 
any questions.
It should be the same on Mac OS X 10.4-10.6. (On 10.7 OpenSSL no longer have 
root certificates, so it requires dumping certificates and setting 
'ssl-ca-location' to the correct path in order to silence questions.)

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Linking to fossil.exe [Re: GUI client for Windows?]

2011-10-06 Thread Dmitry Chestnykh
On Oct 6, 2011, at 16:59 , Jacek Cała wrote:

 I've just realized that despite fossil is an executable it does not
 prevent if from exporting functions for other programs to use (at
 least on Windows, am not sure if this is possible on *nix).

It doesn't matter how the program is linked. Fossil calls exit() when a 
function needs to fail, and it leaves it up to the OS to clean up allocated 
memory.

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] fossil should know to open up perms on a file prior to update if no write access.

2011-10-06 Thread Dmitry Chestnykh
On Oct 6, 2011, at 19:03 , Matt Welland wrote:

 fossil: SQLITE_ERROR: near redoflag: syntax error
 fossil: near redoflag: syntax error
 UPDATE undo SET content=:c, existsflag=1, isExe=0, isLink=0 redoflag=NOT 
 redoflag WHERE pathname='foo.txt'

Is this from later trunk version? I fixed this error a few weeks before.

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] fossil should know to open up perms on a file prior to update if no write access.

2011-10-06 Thread Dmitry Chestnykh
On Oct 6, 2011, at 19:49 , Matt Welland wrote:

 Hmmm I have 1.19 but still see the problem since I built from source 
 before it was released? It might be a little clearer to ensure the 1.19 is 
 only in the files from the checkin prior to the release.
 
 chlr11723 fossil version
 This is fossil version 1.19 [24c16584cc] 2011-08-26 14:59:43 UTC

The released version (from Downloads page) is:
This is fossil version 1.19 [6517b5c857] 2011-09-01 18:25:19 UTC

 BTW: I edited the binary (just replaced the space with a comma) and as 
 expected it works fine:

Nice patch! :-) If you use symlinks, though, there are a few more fixes for 
them, so you may want to recompile from trunk. If not, I think this version is 
fine.

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] fossil should know to open up perms on a file prior to update if no write access.

2011-10-05 Thread Dmitry Chestnykh
 A developer accidentally (and naively) checked in a file with no write 
 permissions.
 
 On changing the file and checking it in others could not do an update and 
 would get something like this:
 
  fossil update
 UPDATE foo.txt
 fossil: unable to open file /tmp/mrwellan/testing/test/foo.txt for writing
 Rolling back prior filesystem changes...
 UNDO foo.txt
 fossil: SQLITE_ERROR: near redoflag: syntax error
 fossil: near redoflag: syntax error
 UPDATE undo SET content=:c, existsflag=1, isExe=0, isLink=0 redoflag=NOT 
 redoflag WHERE pathname='foo.txt'

Fossil doesn't track permissions apart from executable bit (and symlink bit in 
trunk), so I'm not sure how it's even possible to get a file from the repo 
without write permissions:

The optional 3rd argument defines any special access permissions associated 
with the file. The only special code currently defined is x which means that 
the file is executable. All files are always readable and writable. This can be 
expressed by w permission if desired but is optional.

http://www.fossil-scm.org/index.html/doc/trunk/www/fileformat.wiki

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] [vb.net] Which files/folders can be safely ignored?

2011-10-04 Thread Dmitry Chestnykh

On Oct 4, 2011, at 13:03 , Gilles wrote:

 So, nobody knows why fossil includes files in a folder even though I
 use the --ignore option?

Does it ignore files if you set ignore-glob by launching 'fossil ui' and then 
going to Admin  Settings?

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] [vb.net] Which files/folders can be safely ignored?

2011-10-04 Thread Dmitry Chestnykh
On Oct 4, 2011, at 13:53 , Gilles wrote:

 ignore-glob=*.o,*.obj,*.exe,bin/*,obj/*,My Project/*

What about */bin/*,*/obj/* ?

--
Dmitry Chestnykh


___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] [vb.net] Which files/folders can be safely ignored?

2011-10-04 Thread Dmitry Chestnykh
On Oct 4, 2011, at 14:20 , Gilles wrote:

 On Tue, 4 Oct 2011 14:08:49 +0200, Dmitry Chestnykh
 dmi...@codingrobots.com wrote:
 What about */bin/*,*/obj/* ?
 
 That did it :-)

Great! From your logs I noticed that bin was a subdirectory of another 
directory inside the project root, so just bin/* won't do.

 I don't know if it's OK for VB.Net projects to exclude My Project.
 Likewise, I don't know if the .sln and .user files can be safely
 excluded.

I don't know a lot about Visual Studio, but*.sln looks to me like a solution 
file, don't ignore it.

According to the git ignore template here 
https://github.com/github/gitignore/blob/master/VB.Net.gitignore,
*.user and *.suo are safe to ignore.

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Listing artifact IDs for shunning?

2011-10-04 Thread Dmitry Chestnykh
On Oct 4, 2011, at 23:24 , Steve Havelka wrote:

 This reply should be shunned from the mailing list.
 
 Agreed.
 
 Given that we all make mistakes from time to time, like checking passwords 
 into a repo or checking in huge files, and given that there's at least one 
 hacky, clumsy workaround for deleting stuff (export to git, modify, import 
 from git), and given that these sorts of requests (to delete files, branches, 
 etc) do recur, maybe the philosophy of never delete anything still needs 
 further amendment?

Oh, sorry, I'm not talking about Fossil's philosophy (I'm okay with not 
deleting stuff), I'm talking about about the tone of the message (nor do you 
understand the principles of software engineering).

--
Dmitry Chestnykh
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Forms are cleared in firefox, switch pages

2011-10-03 Thread Dmitry Chestnykh
 sometimes I'm filling a ticket, and I click to some link by error, and then I
 use back/forward to go to the ticket form page again. And the form is blank.
 
 Firefox uses to store the form contents along page back/forward, but it fails 
 to
 do so for fossil. Can this be 'fixed'? Anyone aware of these web things
 understanding the problem?

Firefox bug?

I just tried, and Firefox preserves the content when you close the tab and then 
go to History  Recently Closed Tabs and reopen it (presumably, it uses a 
different method for saving the state). However, as you said, this doesn't work 
when you click any link on the page or manually enter a new address.

Chrome preserves the form correctly.

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Forms are cleared in firefox, switch pages

2011-10-03 Thread Dmitry Chestnykh
On Oct 3, 2011, at 17:20 , Lluís Batlle i Rossell wrote:

 I think that's exactly what I want. Anyone against?

I'm for it, but here's the ticket referring to no-store that mentions some 
problems with Opera:
http://www.fossil-scm.org/index.html/info/b465b3bc2ceef4446b2ae770242ed0968e4dbc68

--
Dmitry Chestnykh


___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] [vb.net] Which files/folders can be safely ignored?

2011-10-03 Thread Dmitry Chestnykh
On Oct 4, 2011, at 2:08 , Ross Berteig wrote:

 I wonder if we should start a collection of pages at the
 fossil-scm.org wiki that document the collective wisdom of this
 group for IDEs we've encountered.

Here's a useful resource:
https://github.com/github/gitignore

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Protection against timing attacks

2011-10-01 Thread Dmitry Chestnykh
On Oct 1, 2011, at 9:24 , Ron Wilson wrote:

 On Fri, Sep 30, 2011 at 2:27 PM, Dmitry Chestnykh
 dmi...@codingrobots.com wrote:
 The attacker cannot supply hash, he supplies password. To do timing attack, 
 the
 attacker have to find a such string, for which the hash has a few bytes 
 changed.
 
 You and I seem to be talking about different use cases, There are
 scenarios where both the client and server generate hashes. The client
 sends its has to the server and the server compares the hashes.

This is correct, yes.

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Protection against timing attacks

2011-09-30 Thread Dmitry Chestnykh
 2011/9/29 Lluís Batlle i Rossell virik...@gmail.com
 Well, if someone has studied those attacks, and the code by dmitry looks fine
 and works based on some heavier studies than our first thoughts on that, let's
 use it. No?
 
 i can't object, i just think it's paranoid :).

Well, it is paranoid, yes :-) I'm overly paranoid about everything concerning 
security. Evidence: it was unnecessary to do constant-time comparison of hashes 
in xfer.c.

I'm mostly concerted about cookies, as it's impossible to time non-plain-text 
passwords -- the attacker simply cannot supply passwords which, when hashed, 
have a few bytes of hash modified (that is, when you supply password, the 
server looks for 5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8 in the database, 
it's impossible [at least now, with SHA-1] to supply such password which hash 
has, say, 5baa61 in the beginning, but a different ending).

However, due to the use of plain-text passwords in the old versions and 
compatibility with them, it is currently possible to supply password hash (if 
you know project-id) instead of the password:

uid = db_int(0,
SELECT uid FROM user
 WHERE login=%Q
   AND length(cap)0 AND length(pw)0
   AND login NOT IN ('anonymous','nobody','developer','reader')
   AND (pw=%Q OR pw=%Q),
zUsername, zPasswd, zSha1Pw
);

Once we get rid of plain-text passwords, we no longer need constant-time 
comparison functions in password-handling code. That leaves cookies, which are 
just a 25-byte random blob + project-code + login, and Fossil searches for that 
blob in database.

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] same user, multiple logins: the problem and a potential solution

2011-09-30 Thread Dmitry Chestnykh
 Advantages are that no state is stored in the database and multiple logins 
 are possible, with simpler code.[2] You can invalidate all logins by changing 
 the secret key, but can't invalidate individual sessions.
 
 But that would mean a logout on one client would log out all others, doesn't 
 it?
 
 Ignore that question, please. i didn't grasp the important words no state is 
 stored...

It's also possible to implement the variation of stateless HMAC scheme + 
current stateful cookie value in database scheme to allow log out all 
sessions functionality, like in Gmail.

1. Store some random bytes in database per user. This string will be a 
secret_key for HMAC.
2. Sign cookie values with HMAC(secret_key, value), where value is (login || ip 
|| expiration_time).
3. To logout one session, clear this cookie.
4. To logout all sessions, go to step 1 (replace secret_key in database with a 
new randomly generated one, thus invalidating all cookies).

Note: it's better to use double-HMAC as implemented in my authcookie package 
for Go language: https://github.com/dchest/authcookie [according to this paper: 
http://www.cse.msu.edu/~alexliu/publications/Cookie/cookie.pdf]

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] same user, multiple logins: the problem and a potential solution

2011-09-30 Thread Dmitry Chestnykh
On Sep 30, 2011, at 16:15 , Stephan Beal wrote:

 On Fri, Sep 30, 2011 at 4:02 PM, Dmitry Chestnykh dmi...@codingrobots.com 
 wrote:
 I have attached a patch to sha.c with HMAC implementation, and double-signing.
 
 :-D
  
 Basically, if zKey is a random secret string stored in the database, and 
 zRest is a concatenation of the values you want to store in the cookie (e.g. 
 login/ip-address/project-code):
 
 So zKey is the per-user secret or repo secret? If i understand correctly, 
 this change just replaces the repo secret with user secret. Is that correct?

If you want Log out all my sessions button in addition to Log out this 
session, then it's a per-user secret. If it's per-repository secret, then log 
out all my sessions is not possible. That's speaking of registered users.

For anonymous users, the current code is basically what I'm proposing, but 
instead of HMAC it uses plain SHA1 of concatenation of per-repository secret 
(captcha-secret) and /TIME/IPADDR (HMAC is better, but the current code is OK 
too).

 Will this be part of the timing-based change which Richard asked be put in 
 the trunk? If so, i'll wait until it's in there.

No. Maybe we should create a new branch for overhaul of cookie code to allow 
multiple sessions?

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Protection against timing attacks

2011-09-30 Thread Dmitry Chestnykh
 I think this is a good patch and that it should be merged into trunk.

Is it too early to get rid of plain-text password support? I think hashed 
passwords appeared about 1.5 years ago. If we remove it, we can leave pw=%Q, 
I think. The only code left susceptible to timing attacks will be for cookie 
handling.

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] same user, multiple logins: the problem and a potential solution

2011-09-30 Thread Dmitry Chestnykh
On Sep 30, 2011, at 17:58 , Stephan Beal wrote:

 Multiple login sessions will require that some fields be migrated out of the 
 user table and into a new table. The anon user does not store the cookie data 
 in the user table (because it would log out all other anonymous users), using 
 only the cookie for validation.

I'm thinking about reusing the current cookie column for the per-user secret 
key. But this will require careful handling of migrations to avoid introducing 
security bugs. Not sure what's better.

--
Dmitry Chestnykh


___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Protection against timing attacks

2011-09-30 Thread Dmitry Chestnykh
 Actually, you can do this with a hash. When it comes to comapring 2
 hashes, they are still strings of charcters. If anything, the timing
 attack would save even more time since, for purposes of camparing 2
 strings, the hash is just a much longer password. The question then
 is, is the hash long enough to make the timing attack impractical?

The attacker cannot supply hash, he supplies password. To do timing attack, the 
attacker have to find a such string, for which the hash has a few bytes changed.

For example, say, our password is bird, and we store sha1(bird) in the 
database: 9cba2b7ebbf67f6e455af28f8445796e20ca288f.

When a user supplies password, we hash it and compare with the stored hash.

Let's image that the attacker supplies password ocelot.

Server does sha1(ocelot) = 1d735415a0c1e05302657bb6d916f3bcd7a80385

and compares it with the stored value:

9cba2b7ebbf67f6e455af28f8445796e20ca288f != 
1d735415a0c1e05302657bb6d916f3bcd7a80385

This comparison is not constant-time, so the attacker notices that the first 
byte is incorrect, and continues guesing by providing the next password: lion.

sha1(lion) = 972b2f351f9b17a5f49a14a90fcd8a72b0eaecb4

9cba2b7ebbf67f6e455af28f8445796e20ca288f != 
972b2f351f9b17a5f49a14a90fcd8a72b0eaecb4

But now it took server a bit longer to calculate the result (9=9, c != 7). The 
attacker notices the short response time, so he's confident he guessed that the 
first byte is 9. Now, to continue attack he needs to find such password, for 
which the hash starts with 9… 

And this is where it's practically impossible to continue. 

(Actually, one hash byte is the two hex numbers, but anyway).

This is for logins. But cookies currently compare hashes, not hash and a string 
hashed on the server, so they are timeable.

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] is a rebuild in http mode possible?

2011-09-29 Thread Dmitry Chestnykh
On Sep 29, 2011, at 1:40 AM, Richard Hipp wrote:

 In the past there have been issues with output that rebuild sometimes 
 generates.  I haven't pressed that button lately, so I don't know if those 
 issues are currently fixed or not.

As of [2cd21f8dc2] (trunk: [ce354d0a9f]) there shouldn't be any output of 
rebuild progress in CGI mode.

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


[fossil-users] Square brackets in filenames

2011-09-29 Thread Dmitry Chestnykh
What's the rationale for disallowing [ and ] in filenames? Are there any 
systems that don't like them (maybe FAT)? Or maybe this is due to collision 
with [wiki/ci links]?

From  file_is_simple_pathname(const char *z):

** *  Does not contain any of these characters in the path: \*[]?

Brackets are not mentioned here:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx

and here
http://en.wikipedia.org/wiki/Comparison_of_file_systems

however NTFS doesn't allow:

  :  | ? * / \ 

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Scalability, a single file commit and lots of disk reads

2011-09-29 Thread Dmitry Chestnykh
 To open the repository to a new checkout it took Fossil about 26
 minutes. Roughly 13 minutes extracting the files into the directory, and
 then 13 minutes of ... doing something, before it came back.
 The equivalent command in Mercurial (hg update null to reset the
 checkout then the timed hg update) took 19.5 minutes


No low-hanging fruits here. After profiling fossil open, I noticed nothing 
extraordinary -- most time is spent in compression, decompression, and 
calculating checksums.

http://i.imgur.com/1odR8.png

After checkout (13 minutes of ... doing something, before it came back), 
Fossil goes through all the extracted files, computes MD5 checksum and verifies 
that it matches the one in the manifest. As Stephan pointed out, you can 
disable this by turning off repo-cksum setting.

Same thing with committing: Fossil checks that content is repo is correct,  see
http://www.fossil-scm.org/index.html/doc/trunk/www/selfcheck.wiki :

Then just before transaction commit, fossil re-extracts the original content 
of all files that were written, computes the SHA1 checksum again, and verifies 
that the checksums match. If anything does not match up, an error message is 
printed and the transaction rolls back.

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


[fossil-users] Protection against timing attacks

2011-09-29 Thread Dmitry Chestnykh
Dear archeologists,

Please review changes in the following branch:

http://www.fossil-scm.org/index.html/timeline?r=dmitry-security

The more eyes the better, as it touches login code.

I try to protect against timing attacks on login, cookies, and sync by using 
the constant-time comparison function.

What do these attacks do? Basically, they try to guess passwords/cookies by 
measuring how long it took the server to respond to the wrong result. For 
example, we have the following password stored in the database (let's forget 
about hashes for now):

PASSWORD

The attacker begins guessing by sending the following value:

A

The server compares it with the stored password:

  if COMPARE(A, PASSWORD)  == TRUE then
 success
  else
 failure

When this COMPARE function is implemented like memcpy/strcpy, that is, compares 
values byte-by-byte, but when sees the first wrong result ('A' != 'P'), it 
immediately returns FALSE, it turns out, it is possible to time the result of 
such comparisons to make better guesses.

For example,

COMPARE(A, PASSWORD) returns FALSE in 0.1 msec, but
COMPARE(P, PASSWORD) returns FALSE in 0.3 msec, because it did two 
comparisons:

'P' == 'P'
'A' == 'A'
'A' != 'S'

Now the attacker knows that the first two bytes are correct.

To prevent such attacks, one should use a constant-time comparison function, 
which always compares _each_ byte, and returns result only after all bytes have 
been compared.

More information:

http://codahale.com/a-lesson-in-timing-attacks/
http://rdist.root.org/2010/01/07/timing-independent-array-comparison/
http://rdist.root.org/2009/05/28/timing-attack-in-google-keyczar-library/

Examples of constant-time comparison functions written by crypto experts
(basically, they are the same):

http://golang.org/src/pkg/crypto/subtle/constant_time.go?s=503:544#L2
http://code.google.com/p/spiped/source/browse/trunk/lib/crypto/crypto_verify_bytes.c
https://github.com/jeremywohl/nacl/blob/master/crypto_verify/32/ref/verify.c

Oh, and there's no need to panic, this is a difficult and (yet) unusual attack 
;-)

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Protection against timing attacks

2011-09-29 Thread Dmitry Chestnykh
On Sep 29, 2011, at 20:15 , Stephan Beal wrote:

 Given the relatively high overhead fossil has when it opens a db or runs a 
 query, and network latency, i cannot imagine that someone could accurately 
 time the difference of a memcmp() operation on 8 or 10 bytes. The number of 
 factors involved before and after COMPARE is called are just too great. As 
 was written in the post about sha1 collisions someone linked to earlier: the 
 chances are higher that all of the members of your dev team will be killed by 
 wolves in separate incidences on the same night.

I posted a link about this concern:
http://rdist.root.org/2010/01/07/timing-independent-array-comparison/

The other misconception is that jitter is too great to get anything useful out 
of the measurements, especially in a network. There is an excellent paper by 
Crosby and Wallach* that debunks this myth by carefully analyzing noise and its 
causes as well as how to filter it. They conclude that an attacker can reliably 
detect processing differences as low as 200 nanoseconds on a LAN or 30 
microseconds on a WAN given only 1000 measurements. If your server is hosted 
somewhere an attacker can also buy rackspace, then you are vulnerable to LAN 
timing attacks.

*) http://www.cs.rice.edu/~dwallach/pub/crosby-timing2009.pdf

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Protection against timing attacks

2011-09-29 Thread Dmitry Chestnykh
 So why not simply add the following logic to server mode:
 
 A) fetch config option add-random-sleep (integer, default=0)
 B) if ((A)0) AND user is nobody, sleep for random 1..(A) ms. (This attack 
 would seem to be useless for anyone but the nobody user. If you're logged in, 
 you've got your password, and anonymous gets a random password).

Point 2 on that linked article :-)
Random numbers have some distribution, most commonly, uniform. Given enough 
measurements, you can get rid of randomness.

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Hashes from fossil

2011-09-28 Thread Dmitry Chestnykh
 The zlib compressor adds a timestamp at the beginning.  If you gunzip the 
 tarballs, you'll find that they are identical. 


If I read gzip specs correctly, it allows zero timestamp:

 MTIME (Modification TIME)
 This gives the most recent modification time of the original file being 
 compressed. The time is in Unix format, i.e., seconds since 00:00:00 GMT, 
 Jan. 1, 1970. (Note that this may cause problems for MS-DOS and other systems 
 that use local rather than Universal time.) If the compressed data did not 
 come from a file, MTIME is set to the time at which compression started. 
 MTIME = 0 means no time stamp is available.

(http://www.gzip.org/zlib/rfc-gzip.html#header-trailer)

I tried to gunzip such file, and it correctly set today's time, not 1970, for 
the unzipped file, when the field is 0.
SHA-1 sums for .tar.gz downloaded at different times then matched.

So maybe:

Index: src/gzip.c
===
--- src/gzip.c
+++ src/gzip.c
@@ -49,19 +49,17 @@
 /*
 ** Begin constructing a gzip file.
 */
 void gzip_begin(void){
   char aHdr[10];
-  sqlite3_int64 now;
   assert( gzip.eState==0 );
   blob_zero(gzip.out);
   aHdr[0] = 0x1f;
   aHdr[1] = 0x8b;
   aHdr[2] = 8;
   aHdr[3] = 0;
-  now = db_int64(0, SELECT (julianday('now') - 2440587.5)*86400.0);
-  put32(aHdr[4], now0x);
+  put32(aHdr[4], 0);
   aHdr[8] = 2;
   aHdr[9] = 255;
   blob_append(gzip.out, aHdr, 10);
   gzip.iCRC = 0;
   gzip.eState = 1;

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Hashes from fossil

2011-09-28 Thread Dmitry Chestnykh
 I already checked in a change that sets the timestamp based on the check-in 
 time.  But I like your patch better (since it is simpler).

Hehe, I started writing something similar, but was scared away by many changes 
required to do this, and was not sure if I the manifest time was the correct 
time that I needed (it is), so decided to go lazy and read gzip spec instead :-)

Anyway, your change is better in case the are ungzip implementations that do 
not handle 0 time correctly, plus we get a nice proper timestamp when 
gunzipping.

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Wildcards not working on windows

2011-09-26 Thread Dmitry Chestnykh
On Sep 26, 2011, at 12:34 PM, Emil Totev wrote:

 fossil add *
 D:\utils\programs\fossil.exe: file not found D:/TEMP/proj/*

Windows cmd doesn't expand * to the list of files.
If you want to add all files in the directory, try this:

fossil add .

--
Dmitry Chestnykh


___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Wildcards not working on windows

2011-09-26 Thread Dmitry Chestnykh
Hm, I just tried it on my Windows XP virtual machine in cmd.exe, and it works 
for me:

C:\Dev\t2fossil add *
C:\Utils\fossil.exe: cannot add _FOSSIL_
ADDED  sub/text1.txt
ADDED  sub2/text2.txt
ADDED  test.txt
ADDED  test2.txt

I haven't found code for glob expansion in Fossil in add command, and cmd.exe 
definitely
doesn't expand it:

echo *
*

So what am I seeing here? :-)

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Wildcards not working on windows

2011-09-26 Thread Dmitry Chestnykh
On Sep 26, 2011, at 1:13 PM, Dmitry Chestnykh wrote:
 
 So what am I seeing here? :-)

Aha, it seems like main() for binaries build with MinGW actually receive 
expanded arguments in argv.
Are Windows binaries available from the download page build with Visual Studio?

--
Dmitry Chestnykh
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Wildcards not working on windows

2011-09-26 Thread Dmitry Chestnykh
 What should matter here is that it DOES work with the previous fossil
 version (1.18) and does NOT work with 1.19 - so obviously _something_
 changed in fossil itself.

Here's a binary of the same version built with MinGW:

http://www.dchest.org/temp/fossil.exe

Does it work for you?

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Wildcards not working on windows

2011-09-26 Thread Dmitry Chestnykh
 Yes, this one works as expected.

Great!

 So it is a build issue?

MinGW tries hard to make programs behave like they do on Unix. It seems like 
binaries compiled 
with it do shell-like expansion on arguments, before passing them to main() 
function.  Thus, there's
no need to write your own wildcard expansion code for Windows when porting Unix 
code.

Visual Studio compiler doesn't do such thing, so wildcards are not expanded for 
binaries built on VS.
Richard seem to have released 1.19 binary for Windows compiled with Visual 
Studio,  while 1.18
has been compiled with MinGW.

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Wildcards not working on windows

2011-09-26 Thread Dmitry Chestnykh
 Should I make a point of always building future Fossil releases using MinGW 
 instead of MSVC?

If there are no issues with MinGW binaries, then I think, yes.

Any Windows users want to chime in?

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Wildcards not working on windows

2011-09-26 Thread Dmitry Chestnykh
On Sep 26, 2011, at 5:47 PM, Thomas Schnurrenberger wrote:

 For the Microsoft C compiler the following page explains
 how to enable wildcard expansion:
 
 http://msdn.microsoft.com/de-de/library/8bch7bkk%28v=VS.100%29.aspx
 
 I dont know if this also works with older compilers.

Aha, so there's way to expand wildcards with VS compilers without writing more 
code!

Other versions drop down (on en-us page) shows that it's available on VS 
2003, 2005, 2008, and 2010.

--
Dmitry Chestnykh


___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Feature request: edit files via web interface

2011-09-19 Thread Dmitry Chestnykh
 often I would find very useful to edit versioned files trough the web 
 interface.
 
 Would you consider to add such a feature?

Some thoughts to consider about implementation are in this ticket:
http://www.fossil-scm.org/index.html/tktview?name=ad98e8f665

[ copying here for discussion: ]

dmitry added on 2011-01-20 14:01:59 UTC:
Here are some thoughts on implementation.

• Have can edit on web permission flag.
• Have special per-user staging area for edits from web, which records 
modifications to files.
• Once file(s) are edited, they're put into the user's staging area.
• User can commit his staging area if he has commit permission.
• Users without commit permissions, but with can edit on web 
permissions, can create tickets with modifications from their staging area or 
download their modifications as a patch.

This won't work for anonymous or other group users. For those Fossil can have 
per-file editing without staging area. Also, not sure how to handle merges.


--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] a fix wish for the configure guru(s)...

2011-09-16 Thread Dmitry Chestnykh

 in blob.c readlink() is used, but according to my man pages (and compiler), 
 we need:
 
 #define _POSIX_C_SOURCE 200112L

Is this Linux with glibc from 2006? :-)

According to `man feature_test_macros`:

   If no feature test macros are explicitly defined, then the following 
feature
   test macros are defined by default:  _BSD_SOURCE, _SVID_SOURCE, 
_POSIX_SOURCE,
   and _POSIX_C_SOURCE=200809L (200112L in glibc versions before 2.10; 
199506L in
   glibc versions before 2.4; 199309L in glibc versions before 2.1).

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] new fossil docs: is the wiki or embedded docs preferred?

2011-09-16 Thread Dmitry Chestnykh
On Sep 16, 2011, at 9:39 PM, Paul Ruizendaal wrote:

 Hmmm…
 
 If Fossil was created today, with the knowledge of today, would it still have 
 wiki pages? Would it make Fossil a simpler, but equally powerful tool if it 
 just had (web editable) embedded documentation?

Embedded documentation is versioned along with files, so no, I don't think it 
would be better.
I, for one, wouldn't want to frequently merge my working copy with changes to 
embedded docs made from web interface. Plus, this would create unwanted forks. 
Also, having a separate wiki allows for more granular access control.

--
Dmitry Chestnykh


___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Has any fossil user ever experienced a SHA1 collision?

2011-09-15 Thread Dmitry Chestnykh
On Sep 15, 2011, at 2:54 PM, jos van kesteren wrote:
 
 Just for the sake of my curiosity;
 is there any fossil user out there who has encountered a SHA1 collision ?

Nope. You'd hear about it in the news :-)

There's a theoretical collision attack at 2^51 operations (instead of the ideal 
2^80),
but it's a specific attack (which means that you're specifically trying to 
craft two messages
that give the same hash), and if I'm not mistaken, the probability of 
collisions from a
good source (not specifically crafted) is still the same as before the attack.

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Has any fossil user ever experienced a SHA1 collision?

2011-09-15 Thread Dmitry Chestnykh
On Sep 15, 2011, at 2:54 PM, jos van kesteren wrote:
 
 Just for the sake of my curiosity;
 is there any fossil user out there who has encountered a SHA1 collision ?

Nope. You'd hear about it in the news :-)

There's a theoretical collision attack at 2^51 operations (instead of the ideal 
2^80),
but it's a specific attack (which means that you're specifically trying to 
craft two messages
that give the same hash), and if I'm not mistaken, the probability of 
collisions from a
good source (not specifically crafted) is still the same as before the attack.

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] fossil: numerous open trunk leaves

2011-09-15 Thread Dmitry Chestnykh
 How'd that happen? Can/Should the open leaves 2-6 be closed?

Speaking of cleanup, what about removing the following files from trunk?

kktodo.wiki
rse-notes.txt
ci_cvs.txt
ci_fossil.txt
cvs2fossil.txt

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Issues with 1.19 ...

2011-09-07 Thread Dmitry Chestnykh
On Sep 7, 2011, at 6:53 PM, Stephan Beal wrote:

 On Wed, Sep 7, 2011 at 6:18 PM, Jousef Lofstrom jou...@bigfoot.com wrote:
 invalid home directory: /root
 
 
 That comes from db.c:
 
   zHome = getenv(HOME);
 ...
   if( file_isdir(zHome)!=1 ){
 fossil_fatal(invalid home directory: %s, zHome);
   }
 
 is /root perhaps a symlink to /home/root or some such?
 
 From file.c, file_isdir() contains:
 
  #if !defined(_WIN32)
   if( g.allowSymlinks ){
 return rc ? 0 : (S_ISDIR(fileStat.st_mode)  !S_ISLNK(fileStat.st_mode) 
 ? 1 : 2);
   }else{
 return rc ? 0 : (S_ISDIR(fileStat.st_mode) ? 1 : 2);
   }
 #else

While this doesn't affect the issue in question, thanks for finding this! 
Usages of file_isdir() outside of working directory shouldn't be affected by 
g.allowSymlinks setting. I'll fix this tomorrow.

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] coding style guidelines: c89

2011-09-06 Thread Dmitry Chestnykh
On Sep 6, 2011, at 11:19 PM, Ron Wilson wrote:
 
 The asm() calls are being used to invoke the rotate instructions. C
 does not have operators for peforming bitwise rotation of an operand
 and emulating a rotate using shifts is messy and very ineficient:
 
 unsigned int rotateLeft(unsigned int x, unsigned int n)
 {
unsigned int t;
 
t = x  (SIZEOFINT - n);
return ((x  n) | t);
 }

FYI,

$ gcc -O2 -S rotate.c
$ cat rotate.s
…
_rotateLeft:
Leh_func_begin1:
pushq   %rbp
Ltmp0:
movq%rsp, %rbp
Ltmp1:
movb%sil, %cl
movl%edi, %eax
roll%cl, %eax
popq%rbp
ret
Leh_func_end1:
..

$ gcc --version
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) 
(LLVM build 2335.15.00)

(This is GCC with LLVM backend (default on OS X Lion)).

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] fossil performance testing and is it possible to increase the sqlite3 timeout?

2011-09-03 Thread Dmitry Chestnykh
On Sep 3, 2011, at 10:11 AM, Remigiusz Modrzejewski wrote:

 So now, why wal is not the default? I'm having a trunk build from few days 
 back and a freshly created repo is in delete mode…

See disadvantages here: 
http://www.sqlite.org/draft/wal.html

The biggest one is that it requires two additional files.

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Silencing warnings about deprecated OpenSSL on OS X

2011-09-02 Thread Dmitry Chestnykh
 Well, you could just do this (see attached patch).

Thanks!

 But should it be restricted to when compiling http_ssl? To Mac OS X? To 10.7?

I think restricting it to just Mac OS X is okay.

We know that they deprecated OpenSSL, and we don't have any plans to do 
something with it apart from making OS X users compile their own OpenSSL once 
Apple removes it, do we?

The probability that there be something else deprecated (zlib? functions from 
libc?) is tiny.

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Problem after 'make clean'

2011-09-02 Thread Dmitry Chestnykh
 After doing 'make clean', './configure' complains that 'Makefile.in'
 doesn't exist  (and indeed it doesn't)

Seem to be deleted by merge here:
http://www.fossil-scm.org/index.html/info/e4f1c1fe95

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Silencing warnings about deprecated OpenSSL on OS X

2011-09-02 Thread Dmitry Chestnykh
 I was curious about this too. Seems they're replacing it with Common Crypto:
 
  http://ludovicrousseau.blogspot.com/2011/08/mac-os-x-lion-and-openssl.html

Yeah, the big warnings are mostly for App Store developers. They (including me 
:) have to statically compile OpenSSL or use Common Crypto, or else the 
reviewers won't approve apps.

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Problem after 'make clean'

2011-09-02 Thread Dmitry Chestnykh
On Sep 2, 2011, at 11:28 AM, Dmitry Chestnykh wrote:

 After doing 'make clean', './configure' complains that 'Makefile.in'
 doesn't exist  (and indeed it doesn't)
 
 Seem to be deleted by merge here:
 http://www.fossil-scm.org/index.html/info/e4f1c1fe95

I'm wrong, earlier:
http://www.fossil-scm.org/index.html/info/2b8cbf3c41

--
Dmitry Chestnykh
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Silencing warnings about deprecated OpenSSL on OS X

2011-09-02 Thread Dmitry Chestnykh
 OK. So this should do then.

Thank you!

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] MD5 and SHA1 from OpenSSL

2011-09-01 Thread Dmitry Chestnykh
 Maybe it depends on your specific hardware, but on linux32 (i3 core2) I get 
 (kubuntu11-04.iso) :

Yay, good then, no need to use OpenSSL.

I suspect this is due to LLVM backend of OS X compiler which is default in 
Lion. For some crypto code I've written it compiles binaries that are slower 
than the ones produced by the old GCC 4.2.

 Clearly, the new code is much better than the old code;

Good job!

 but it's not clear the openssl code is always a win... I'm not sure whether 
 or not it's a good idea to try to determine at run time which to use (since 
 the check overhead has to be measurable after all).

Yes, let's leave it as it is.

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] MD5 and SHA1 from OpenSSL

2011-09-01 Thread Dmitry Chestnykh
 Given that one of fossil's selling points is ease of installation, including 
 having no external dependencies. Let's not change that.

I agree, but I proposed (and the retracted) that OpenSSL will be used only when 
compiled with SSL support ;-)

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] MD5 and SHA1 from OpenSSL

2011-09-01 Thread Dmitry Chestnykh
BTW, if I run `openssl sha1`, it's slower than Fossil's sha1test compiled with 
OpenSSL SHA-1:

openssl sha1:

real0m3.459s
user0m3.126s
sys 0m0.317s

fossil with OpenSSL's SHA1 from my diff:

real0m3.025s
user0m2.707s
sys 0m0.315s

current fossil trunk:

real0m3.557s
user0m3.236s
sys 0m0.317s


$ openssl version
OpenSSL 1.0.0d 8 Feb 2011

I have Core 2 Duo 2.26 GHz (white unibody MacBook), OS X 10.7.1

Maybe the command-line openssl does something else?

--
Dmitry Chestnykh
___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


[fossil-users] Silencing warnings about deprecated OpenSSL on OS X

2011-09-01 Thread Dmitry Chestnykh
OpenSSL has been deprecated in OS X Lion (boo!), and Apple put warnings 
everywhere.
It's kind of annoying to see this when building Fossil:

./bld/http_ssl_.c: In function ‘ssl_global_init’:
./bld/http_ssl_.c:104: warning: ‘SSL_library_init’ is deprecated (declared at 
/usr/include/openssl/ssl.h:1553)
...

To silence these warnings I build with:

CFLAGS=-Wdeprecated-declarations make

I'm not familiar with the build system, could someone include this flag for 
darwin in autosetup?

Thanks!

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


Re: [fossil-users] Testing 'symlinks' branch (was Testing for a release)

2011-08-27 Thread Dmitry Chestnykh
 [stephan@cheyenne:~/cvs/fossil/whio/pfs]$ f stash apply 1
 f: ./bld/blob_.c:270: blob_str: Assertion `(p)-xRealloc==blobReallocMalloc 
 || (p)-xRealloc==blobReallocStatic' failed.
 Aborted
 
 This appears to have been caused by (be or related to) the the apply/pop 
 would have applied to being truncated to 0 bytes

What, you don't want to apply _filenames_ instead of the stashed deltas to your 
files? :-)
Fixed here: http://www.fossil-scm.org/index.html/info/0317a929cb 

That was due to wrong column index, a mistake I made when merging trunk into 
symlinks branch. I'll go through the diff again to check if I made similar 
mistake somewhere else.

I've changed the thread subject to keep bugs in symlinks branch separate from 
trunk testing. 
Keep 'em coming! (Don't forget to backup :)

--
Dmitry Chestnykh

___
fossil-users mailing list
fossil-users@lists.fossil-scm.org
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users


  1   2   >