}
if (BN_is_negative(diff_bn)) {
BN_free(diff_bn);
- /* FIXME delete RPP and fall back to snapshot */
return pr_val_err("Cached delta's serial [%s] is larger than Notification's current serial [%s].",
serial->str, notif->session.serial.str);
}
if (BN_cmp(old.serial.num, new.session.serial.num) != 0) {
pr_val_debug("The Notification's serial changed.");
error = handle_deltas(&new, &old.serial);
+ if (error) {
+ pr_val_debug("Falling back to snapshot.");
+ error = handle_snapshot(&new);
+ }
goto revert_notification;
}