Changeset 2793


Ignore:
Timestamp:
Dec 31, 2011, 8:53:40 PM (4 years ago)
Author:
wmb
Message:

OLPC trac 11562 - security - RTC anti-rollback - Fixed stack bug that caused boot failures in the face of an invalid rtcreset.sig file.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpu/x86/pc/olpc/security.fth

    r2703 r2793  
    107610760 0 2value rtcsig$
    10771077: rtc-format-error  ( -- done? )
    1078    ." RTC Reset format error" ?lease-error-cr  true
     1078   " RTC Reset format error" ?lease-error-cr  true
    10791079;
    10801080: check-rtc-key  ( data$ -- done? )  \ rtc01: SN currentrtc nonce newrtc sig0N: ...
     
    10831083
    10841084   bl left-parse-string  " rtc01:" $=  0=  if  ( rem$ )
    1085       ." Unknown format" ?lease-error-cr       ( rem$ )
     1085      " Unknown format" ?lease-error-cr        ( rem$ )
    10861086      2drop true exit                          ( -- true )
    10871087   then                                        ( rem$ )
     
    10891089   bl left-parse-string                        ( rem$ serial$ )
    10901090   my-sn$ $=  0=  if                           ( rem$ )
    1091 \     ." Wrong serial number" ?lease-error-cr  ( rem$ )
     1091\     " Wrong serial number" ?lease-error-cr   ( rem$ )
    10921092      2drop false exit                         ( -- false )
    10931093   then                                        ( rem$ )
     
    11071107      newrtc$ nonce$ currentrtc$  fix-rtc-timestamps  ( )
    11081108   else
    1109       ." Bad signature " ?lease-error-cr              ( )
     1109      " Bad signature " ?lease-error-cr               ( )
    11101110   then                                               ( )
    11111111   true                                               ( done? )
     
    11171117   null$ cn-buf place
    11181118   " rtcreset.sig" open-security?  if  exit  then   >r  ( r: ih )
    1119       "   RTCRESET found - " ?lease-debug
    1120       load-started
    1121       leasekey$ to pubkey$
     1119   "   RTCRESET found - " ?lease-debug
     1120   load-started
     1121   leasekey$ to pubkey$
    11221122   begin
    11231123      sec-line-buf /sec-line-max r@ read-line  if  ( actual -eof? )
     
    11311131   drop                                            ( )
    11321132   "   No matching records" ?lease-error-cr        ( )
    1133    r> close-file drop  false                       ( false )
     1133   r> close-file drop                              ( )
    11341134;
    11351135
Note: See TracChangeset for help on using the changeset viewer.