bugConcurrent Versions System - Bugs: bug #14506, CVS 1.12.12 GSSAPI hang


bug #14506: CVS 1.12.12 GSSAPI hang

Submitted by:  None
Submitted on:  Mon 12 Sep 2005 02:13:45 AM UTC  
Votes:  55  
Category:  None Severity:  3 - Normal
Item Group:  None Status:  Need Info
Privacy:  Public Assigned to:  None
Open/Closed:  Open Release: 
Fixed Release:  None Fixed Feature Release:  None

Add a New Comment(Rich Markup)

You are not logged in

Please log in, so followups can be emailed to you.


( Jump to the original submission)

Mon 31 Dec 2007 05:13:36 PM UTC, comment #10:

This is still broken (at least under Solaris) in today's HEAD. The minimal changes required to fix it are the replacement of fread/fwrite. Can we plase get these changes merged in? It's been over 3 years... I can generate a minimal diff if that will help (although real GSSAPI support without the krb5 kludges would be a good thing...)

Carson Gaspar <cgaspar>
Sun 02 Oct 2005 05:31:07 PM UTC, comment #9:

Hi Derek,

I submit to bugzilla new version patch. Main goal this version - add simple use regression tests for `gserver'.

1. I add to sanity.sh test `gserver'. This test create "Kerberos 5 sand-box EXAMPLE.COM", and don't needed to Kerberos 5 infrastrukture. May be Your able start this test on yours personal computer;

2. Compile gserver/client for Solaris 9/10;

3. Repair detected bugs.

This patch not ideal, but ideal solution need to improve other part of CVS. This need to discussion:

a. Regress test need local user `client'. Because gserver authentication start without root definition, gserver_authenticate_connection() can't use CVSROOT/passwd for user maping. May be add command line option for point of CVSROOT/passwd?

b. May be add documentation for gserver? Informationly I may
add it, but languge :(.

c. Windows ports don't have gserver. Do you need add SSPI to CVS? This medium work - 6-12 weeks.

d. Root command worked without any protection. May be start encryption/indegrity check immediate after authentification by option `-x' and `-a'?

For additional information see patchs for ChangeLog files.

Sorry for my best English.

Serguei E Leontiev <serge3leo>
Wed 21 Sep 2005 07:55:16 AM UTC, comment #8:

unfortunately Solaris don't have kbr5 library and krb5 functions.

I change "Kerberos specific code" to more common case.


Solaris 8/9 have default GSS-API mechnism - diffie_hellman_640_0

May be, this fact needed add to documentation?

Serguei E Leontiev <serge3leo>
Tue 20 Sep 2005 07:04:42 PM UTC, comment #7:

I improve main loop of connect_to_gserver ().

But, gserver_authenticate_connection() don't have loop.

For GSS-API implementation by Kerberos this good. If GSS-API used not Kerberos, then server detect error "GSSAPI authentication failed: %s".

For connection with encryption (-x) or authentication (-a) see also bug #14601

Serguei E Leontiev <serge3leo>
Wed 14 Sep 2005 12:54:37 AM UTC, comment #6:

Yes, You may include my ID (Serguei E. Leontiev <lse@CryptoPro.ru>) to ChangeLog.

Serguei E Leontiev <serge3leo>
Wed 14 Sep 2005 12:38:01 AM UTC, comment #5:

I try fist tests current version with `cvs-' - work fine.

But, I don't undenstand do-loop at gssapi-client.c:104. I don't know how cause two or more iteration by it. It not seems very good.


Strongly, two send() may cause delay (double acknovelegment) to TCP communication, if nagle algorithm disabled. By some thing I remove use writev() from patch, because nagle algorithm common use.

Sorry my best English.

Mon 12 Sep 2005 01:56:51 PM UTC, comment #4:

Aside from some nitpicks, your changes to gserver_authenticate_connection look good. Could you include a ChangeLog entry?

From the same patch file, why did you replace a call to send() with a call to writev()? Are you having problems with send? I'd rather not change the call without some other reason or benefit since I don't have a feel for how portable writev() is and I know send() already works on many platforms.

I think your hostname patch is unnecessary after my recent change to fix [bug #14504] (http://savannah.nongnu.org/cgi-bin/viewcvs/cvs/ccvs/src/main.c.diff?r1=1.253&r2=1.254).


Derek Robert Price <dprice>
Project Administrator
Mon 12 Sep 2005 04:10:28 AM UTC, comment #3:

Sorry, I am mistake and test current version before you commit. I try it late (I need some time for connect GSSAPI cvs server machine to `:ext:anoncvs@savannah.nongnu.org:/cvsroot/cvs').

Serguei E Leontiev <serge3leo>
Mon 12 Sep 2005 03:58:30 AM UTC, comment #2:

Probably #14504 correct not complete

:gsx-csp:lse.users 07:53:48 cvs-1.12.12.hostname$ cvs -d :gserver:gsx-csp:/var/cvsroot co mybuild
cvs [checkout aborted]: error from server gsx-csp: cvs [pserver aborted]: can't get canonical hostname for `(null)': Name or service not known

I attachmen two work around patch for 1.12.12:
#14504 - cvs-1.12.12-hostname.patch
#14506 - cvs-1.12.12-fread.patch

I don't undenstand. Do You needed use buf_read_data()/buf_output() in gssapi-client.c:connect_to_gserver() ?

Serguei E Leontiev <serge3leo>
Mon 12 Sep 2005 02:48:59 AM UTC, comment #1:

I can't easily test GSSAPI here. This would be much easier if you could supply a tested patch.


Derek Robert Price <dprice>
Project Administrator
Mon 12 Sep 2005 02:13:45 AM UTC, original submission:

gserver_authenticate_connection() use "obsolets" fread()/fwrite().

Must use buf_read_data()/buf_output() instead.



(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

Attached Files
file #3153:  cvs- added by serge3leo (18KiB - text/plain - patch to improve GSS-API (SuSE 9.3, RHEL4 & Solaris 9 - OK)))
file #3151:  cvs- added by serge3leo (10KiB - text/plain - patch to improve GSS-API (SuSE 9.3 & RHEL4 - OK))
file #3240:  cvs- added by None (3KiB - text/x-patch)
file #3252:  cvs-1.12.12-hostname.patch added by serge3leo (661B - text/x-patch - Workaround #14504)
file #3251:  cvs-1.12.12-fread.patch added by serge3leo (3KiB - text/x-patch - Workaround #14506)


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by cgaspar (Posted a comment)
  • -email is unavailable- added by cgaspar (Voted in favor of this item)

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 55 encouragements so far.

    Only logged-in users can vote.




    Follow 13 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2007-12-31 cgaspar Carbon-Copy- => Added cgaspar
    2006-12-12 dorfsmay Carbon-Copy- => Added dorfsmay
    2005-10-02 serge3leo Carbon-Copy- => Added serge3leo
    2005-10-02 serge3leo Carbon-Copy- => Added -email is unavailable-
    2005-10-02 serge3leo Attached File- => Added gssapi-et-all-051002.patch, #3017
    2005-09-21 serge3leo Attached File- => Added cvs-, #2975
    2005-09-20 serge3leo Carbon-Copy- => Added -email is unavailable-
    2005-09-20 serge3leo Attached File- => Added cvs-, #2973
    2005-09-14 None Attached File- => Added cvs-, #2950
    2005-09-12 dprice StatusPostponed => Need Info
    2005-09-12 serge3leo Attached File- => Added cvs-1.12.12-hostname.patch, #2945
    2005-09-12 serge3leo Attached File- => Added cvs-1.12.12-fread.patch, #2944
    2005-09-12 dprice StatusNone => Postponed

    Back to the top

    Powered by Savane 3.3