Sift flour, cocoa and cinnamon into a bowl, add caster sugar and combined butter, vin santo and egg, stirring until dough starts to come together, then turn onto a lightly floured surface and knead until dough is smooth and elastic (5-10 minutes). Wrap in plastic and refrigerate for 1 hour.
Cut pastry into four pieces. Working with one piece at a time (keep remaining refrigerated), lightly flour dough, then using a pasta machine with rollers at widest setting, feed dough through rollers reducing settings one notch at a time until dough is 2mm thick. Cut into 9cm squares, place on a lightly floured tray and cover with a tea towel. Working with one square at a time, wrap pastry around cannelloni tubes, so opposite corners overlap, and brush with eggwhite to seal (do not put eggwhite on the tube). Heat oil in a deep-fryer or deep saucepan to 180C. Deep-fry tubes in batches until crisp and golden (2-3 minutes), drain on absorbent paper, cool slightly, then slide cannoli shells off tubes. Cannoli shells will keep in an airtight container for up to 1 week.
For filling, process ricotta, liqueur and icing sugar using a food processor until smooth, stir through remaining ingredients. Spoon into a piping bag fitted with a 1.5cm star nozzle and pipe into cooled cannoli, dust with icing sugar and serve immediately.