I would go with B. A friend needs to empathize and show that they care about your feelings.
As for A, a friend does not need to always agree withe every single thing you say. Everyone has their different opinions and feelings about certain things. Let's say you like a certain food. Maybe your friend doesn't agree and actually dislikes that food, but both of you are still friends despite the fact that you do not agree about the food.
For C, a friend should always be honest. Of course, they should not be so blunt as to hurt your feelings very badly, but they should tell you what they truly think, but in a polite and civil way, of course.
For D, they are not reliable if they are only like that when they are in a good mood. Even if they are upset with you, that does not give them the right to give out any secrets or any private information that you have shared with them.
So, in conclusion, B: Empathizes by showing care and sensitivity to your feelings, is the best option.
I hope I helped! :D