When you call glVertex , it ends the vertex, so before that you need to set all the other states of the vertices. Before you finish it, you need to set the normal for the vertex.
It should look like this:
glNormal3fv(norm1); glVertex3fv(vert1); glNormal3fv(norm2); glVertex3fv(vert2); glNormal3fv(norm3); glVertex3fv(vert3);
source share