The hash of the channel list that the daqd sends to the run number server is wrong
The hash is supposed to include the full channel name and units. Instead it includes the first 8 bytes of both.
This is due to calling the code like:
size_t name_len = strnlen( cur->name, channel_t::channel_name_max_len );
check_sum.Update( cur->name, sizeof( name_len ) );
So it encodes the first sizeof(name_len) (ie 8) bytes of the name.
It should be:
check_sum.Update( cur->name, name_len );
Same thing for the units.
Edited by Jonathan Hanks