Hello,

Many thanks to those who have  provided feedback and suggestions for how
to improve the SSH transport for ssh:// URLs.

Is  there anything  else  left  to be  done  (specifically  for what  is
required to be directly in Fossil) regarding the SSH transport changes?

I've tested it with a few upgrade scenarios and here is a sample of what
will be seen when using the new binary with an already open fossil. This
fossil was opened  using version-1.22 and then updated with  the new SSH
changes:

$ f ver
This is fossil version 1.26 [021e41014d] 2013-07-27 21:09:30 UTC
$ f up
Autosync:  ssh://amb:*@remote//tmp/orig.fossil
Round-trips: 1   Artifacts sent: 0  received: 0
ssh -e none -T amb@remote fossil http /tmp/orig.fossil
Error: login failed
password for amb: 
remember password (Y/n)? y
Round-trips: 2   Artifacts sent: 0  received: 0
Pull finished with 695 bytes sent, 745 bytes received
-------------------------------------------------------------------------------
checkout:     51a93acd1a06a336554b6714f38d47d2a81c8f96 2013-07-30 03:54:39 UTC
tags:         trunk
comment:      four (user: amb)
changes:      None. Already up-to-date

Notice that it prompted me for  the Fossil user password because the one
it had stored  in the local settings  DB is no longer  correct. In cases
where  the password  is the  same as  the SSH  account, then  this won't
present a password  prompt because it will succeed. I  suspect that most
SSH users probably did not set  their Fossil user password because there
was  no need---given  that  the remote  command  was essentially  fossil
test-http.

Are there any other areas that should be tested heavily? Someone want to
spot check the code for glaring no-no's?

Summary of changes:

Changed default  SSH remote  command to ``fossil  http /path/to/fossil''
which eliminates any dependency on shells  on the server side. This also
means that Fossil  Privileges and Capabilities will now  be imposed upon
the account used to clone/sync the fossil.

Added additional support  for separate Fossil user vs SSH  user to allow
for  more flexibility  when using  SSH  as transport.  This will  enable
shared  accounts  (useful  when  using  SSH  keys)  so  Fossils  can  be
aggregated under  a single account.  Traditional shared access  is still
possible  (this is  the default  behavior) as  long as  Unix groups  and
permissions allow read/write access to the fossil.

Added  additional support  to fossil  http to  recognize the  remote SSH
client (via  SSH_CONNECTION environment  variable). This  helps identify
the source of changes in artifacts.

Enhanced the  parsing of  SSH URLs  by ignoring a  missing port  and not
failing (thanks Rene).

Made the sync output less verbose (thanks Martin Gagnon).

Eliminated  the -pw  option on  Windows (primarily  a plink.exe  option)
since it doesn't  really make sense anymore as SSH  authentication is no
longer handled by fossil.

Eliminated  the use  of test-http  for  ssh:// URLs  (inherent to  first
item).

Eliminated the test-ssh-far-side  command since it is  really not needed
now.

Hopefully I haven't missed anything...

To see all relevant changes:

http://www.fossil-scm.org/index.html/vdiff?from=a60b008f1a01a383&to=021e41014d69a67b&sbs=1

Thanks,

Andy
-- 
TAI64 timestamp: 4000000051f749fb


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

Reply via email to