Here is the data being sent between the single quotes:
to client:'1:AAE/LxI1l9kvzveExnBSsku783Z+1mWYld/J7G3nl/OijlRXuIZXDKcHQ
+DTlkIB52p/qxiFohG76Jxhb1F64oyPpom24PO7RVvKb4jQkOoi4xNbBwSbvMUsq1ZnqNP
+95vz2ifeWzqqPmR9XRS7OfbgZSK8X3le/YP/Ca8Mj5K90aJ7oYF2HaeJFotVeCO9eLpS5
+zlH02gGMADCfS+ZXwN4420u/fwevNrBMx/cSeCVtcocS6i3wPNlJKA'
It's base64 encoded binary data. Wireshark shows the data being truncated at 128 bytes around nqNP and 95vz
And the section of code that sends it:
my $sql="SELECT data FROM firmware_data WHERE firmware_key = '$firmwa
+re_key' AND row_number = $current_row";
$self->log(4, "select: $sql");
$sth=$dbh->prepare($sql);
$sth->execute;
$firmware_packet=$sth->fetchrow();
$sth->finish();
if (defined($firmware_packet) ){
$IdleUserTimeout=0; #reset the timer since we got some user data
$self->log(4,"firmware row: $current_row");
#send the data
$self->log(4, "firmware to client:'$current_row:$firmware_packet'");
print "$current_row:$firmware_packet\r\n";
if ($current_row < $data_NumberOfRows){
$current_row++; #get the next packet net time around
}
if ($firmware_packet =~ /^#bye$/){
#we recived the BYE command, so inform the client and close the so
+cket down
log_user_out($self, $dbh, $MAC);
return;
}
select(undef, undef, undef, .5); #500ms
This is the line that sends the data, from above.
print "$current_row:$firmware_packet\r\n";
UPDATE: I'm using perl 5.8.8 on Ubuntu 8.04 LTS Server
Linux 2.6.24-23-server
Thanks for the help,
Aaron |