Characterizations of strategy-proof and fair mechanisms for allocating indivisible goods