Chapter 6. Applying Dynamic Software Updates

Applying dynamic software updates can be accomplished by invoking the tool hcuapply supplied with a dynamic software update patch, as prepared in Chapter 5.

An example of applying a dynamic software update to vsFTPd from version 2.0.4 to version 2.0.5 is shown in Figure 6-1. The binary dynamic software update patch libvsftpd_v204_to_205.so, which was obtained in Section 5.5, is supplied as a parameter to the hcuapply tool.

Figure 6-1. Applying a dynamic software update for vsFTPd from 2.0.4 to 2.0.5

bash$ hcuapply --file=libvsftpd_v204_to_205.so \
               --update-version=205
         

By default, the updating model that will be applied during the update is stack reconstruction. A lazy updating model, in which functions are updated on entry, can be requested with the argument --update-model=lazy.

An alternative method of applying dynamic software patches is using the API calls HCU_STATIC_REQUEST_UPDATE_*(), as described in Section 4.3.