httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jor...@apache.org
Subject cvs commit: httpd-2.0/modules/dav/fs lock.c
Date Wed, 15 Sep 2004 08:26:48 GMT
jorton      2004/09/15 01:26:48

  Modified:    .        Tag: APACHE_2_0_BRANCH STATUS CHANGES
               modules/dav/fs Tag: APACHE_2_0_BRANCH lock.c
  Log:
  Backport from HEAD:
  
    * modules/dav/fs/lock.c (dav_size_indirect): Fix indirect lock record
    handling on 64-bit platforms: use correct size of apr_datum_t.dsize
    field.
  
    * modules/dav/fs/lock.c (dav_fs_refresh_locks): Fix SEGV on refresh of
    indirect lock.
  
  PR: 31183
  Reviewed by: jerenkrantz, striker
  
  Revision  Changes    Path
  No                   revision
  No                   revision
  1.751.2.1048 +1 -13     httpd-2.0/STATUS
  
  Index: STATUS
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/STATUS,v
  retrieving revision 1.751.2.1047
  retrieving revision 1.751.2.1048
  diff -d -w -u -r1.751.2.1047 -r1.751.2.1048
  --- STATUS	15 Sep 2004 07:58:37 -0000	1.751.2.1047
  +++ STATUS	15 Sep 2004 08:26:44 -0000	1.751.2.1048
  @@ -73,18 +73,6 @@
     [ please place file names and revisions from HEAD here, so it is easy to
       identify exactly what the proposed changes are! ]
   
  -    *) mod_dav_fs: Fix indirect lock record handling on 64-bit platforms.
  -       http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/dav/fs/lock.c?r1=1.31&r2=1.32
  -       jerenkrantz asks: Won't this break already existing lock DBs?
  -                         (Joe comments in msg below they'd already be broken.)
  -       Message-ID: <20040913161345.GD29591@redhat.com>
  -       +1: jorton, jerenkrantz, striker
  -
  -    *) mod_dav_fs: Fix indirect lock refresh.
  -       http://cvs.apache.org/viewcvs.cgi/httpd-2.0/modules/dav/fs/lock.c?r1=1.32&r2=1.33
  -       +1: jorton, jerenkrantz, striker
  -       PR: 31183 (yes, I will do a CHANGES entry too)
  -
       *) ap_rgetline_core correctness fix.
          http://cvs.apache.org/viewcvs.cgi/httpd-2.0/server/protocol.c?r1=1.151&r2=1.152
          +1: jorton, jerenkrantz
  
  
  
  1.988.2.349 +4 -0      httpd-2.0/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/CHANGES,v
  retrieving revision 1.988.2.348
  retrieving revision 1.988.2.349
  diff -d -w -u -r1.988.2.348 -r1.988.2.349
  --- CHANGES	4 Sep 2004 11:36:13 -0000	1.988.2.348
  +++ CHANGES	15 Sep 2004 08:26:44 -0000	1.988.2.349
  @@ -1,5 +1,9 @@
   Changes with Apache 2.0.51
   
  +  *) SECURITY: CAN-2004-0809 (cve.mitre.org)
  +     mod_dav_fs: Fix a segfault in the handling of an indirect lock
  +     refresh.  PR 31183.  [Joe Orton]
  +
     *) Add -l option to rotatelogs to let it use local time rather than
        UTC.  PR 24417.  [Ken Coar, Uli Zappe <uli ritual.org>]
   
  
  
  
  No                   revision
  No                   revision
  1.25.2.6  +8 -8      httpd-2.0/modules/dav/fs/lock.c
  
  Index: lock.c
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/modules/dav/fs/lock.c,v
  retrieving revision 1.25.2.5
  retrieving revision 1.25.2.6
  diff -d -w -u -r1.25.2.5 -r1.25.2.6
  --- lock.c	26 Apr 2004 15:45:52 -0000	1.25.2.5
  +++ lock.c	15 Sep 2004 08:26:48 -0000	1.25.2.6
  @@ -66,7 +66,7 @@
   **    INDIRECT LOCK:   [char      (DAV_LOCK_INDIRECT),
   **			apr_uuid_t locktoken,
   **			time_t     expires,
  -**			int        key_size,
  +**			apr_size_t key_size,
   **			char[]     key]
   **       The key is to the collection lock that resulted in this indirect lock
   */
  @@ -157,7 +157,7 @@
   /* Stored indirect lock info - lock token and apr_datum_t */
   #define dav_size_indirect(a)	(1 + sizeof(apr_uuid_t) \
   				 + sizeof(time_t) \
  -				 + sizeof(int) + (a)->key.dsize)
  +				 + sizeof((a)->key.dsize) + (a)->key.dsize)
   
   /*
   ** The lockdb structure.
  @@ -1469,13 +1469,13 @@
   	}
   	if (dav_fs_do_refresh(dp_scan, ltl, new_time)) {
   	    /* the lock was refreshed. return the lock. */
  -	    newlock = dav_fs_alloc_lock(lockdb, ip->key, dp->locktoken);
  +	    newlock = dav_fs_alloc_lock(lockdb, ip->key, dp_scan->locktoken);
   	    newlock->is_locknull = !resource->exists;
  -	    newlock->scope = dp->f.scope;
  -	    newlock->type = dp->f.type;
  -	    newlock->depth = dp->f.depth;
  -	    newlock->timeout = dp->f.timeout;
  -	    newlock->owner = dp->owner;
  +	    newlock->scope = dp_scan->f.scope;
  +	    newlock->type = dp_scan->f.type;
  +	    newlock->depth = dp_scan->f.depth;
  +	    newlock->timeout = dp_scan->f.timeout;
  +	    newlock->owner = dp_scan->owner;
               newlock->auth_user = dp_scan->auth_user;
   
   	    newlock->next = *locks;
  
  
  

Mime
View raw message