[tor-bugs] #6465 [Tor]: Build abstraction layer around TLS

Tor Bug Tracker & Wiki torproject-admin at torproject.org
Wed Oct 10 07:10:35 UTC 2012


#6465: Build abstraction layer around TLS
-----------------------+----------------------------------------------------
 Reporter:  andrea     |          Owner:  andrea            
     Type:  project    |         Status:  needs_review      
 Priority:  major      |      Milestone:  Tor: 0.2.4.x-final
Component:  Tor        |        Version:  Tor: unspecified  
 Keywords:  tor-relay  |         Parent:                    
   Points:             |   Actualpoints:                    
-----------------------+----------------------------------------------------

Comment(by andrea):

 Replying to [comment:44 sjmurdoch]:
 > Minor comment on 47adaddf8d966b4d3cbca4155d1f56df5572c5d5 of
 bug6465_draft_2:
 >
 > Under LLVM 4.2.1 pretending to be GCC on MacOS X 10.7.5, the build of
 Tor using the ./configure option --enable-gcc-warnings fails with:
 >
 > {{{
 > make  all-am
 >   CC       src/or/channel.o
 > cc1: warnings being treated as errors
 > src/or/channel.c: In function ‘channel_flush_some_cells’:
 > src/or/channel.c:1924: warning: implicit conversion shortens 64-bit
 value into a 32-bit value
 > make[1]: *** [src/or/channel.o] Error 1
 > make: *** [all] Error 2
 > }}}
 >
 >
 > Presumably this is because ssize_t is 64 bit and int is 32 bit. The
 following change makes it compile, but is likely not the correct solution:
 > {{{
 > diff --git a/src/or/channel.c b/src/or/channel.c
 > index 3e29717..985ee8a 100644
 > --- a/src/or/channel.c
 > +++ b/src/or/channel.c
 > @@ -1921,7 +1921,7 @@ channel_flush_some_cells(channel_t *chan, ssize_t
 num_cells)
 >        num_cells_from_circs =
 >          channel_flush_from_first_active_circuit(chan,
 >              (unlimited ? MAX_CELLS_TO_GET_FROM_CIRCUITS_FOR_UNLIMITED :
 > -                         (num_cells - flushed)));
 > +                         ((int)num_cells - (int)flushed)));
 >
 >        /* If it claims we got some, process the queue again */
 >        if (num_cells_from_circs > 0) {
 > }}}

 The right thing is probably to clamp num_cells to
 MAX_CELLS_TO_GET_FROM_CIRCUITS_FOR_UNLIMITED, I think.  Will implement.

-- 
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/6465#comment:46>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list