Modify

Opened 7 years ago

Closed 7 years ago

Last modified 22 months ago

#4294 closed defect (fixed)

ddns broken on big-endian systems

Reported by: phrh@… Owned by: developers
Priority: normal Milestone: Barrier Breaker 14.07
Component: packages Version:
Keywords: dyndns ddns shell_get Cc: ebishop@…

Description

The shell_get program used by ddns has an encode_base64 function, which uses the 16-bit output of hexdump, and pipes it to awk which manually flips the bit order.

However, on big-endian systems, this causes every other byte in the authentication string to be flipped.
The net result is that instead of "uname:password", the base64 encoding was "numa:eapssowdr".

This patch should solve the problem by using a one-byte format string for hexdump:
-e '1/1 "%02x"'

Attachments (1)

shell_get_endianness.patch (958 bytes) - added by phrh@… 7 years ago.
patch to use format option to hexdump

Download all attachments as: .zip

Change History (4)

Changed 7 years ago by phrh@…

patch to use format option to hexdump

comment:1 Changed 7 years ago by patrick

FYI: Don't think this was at all obvious in the bug description. The script I am using is the one located here:
https://dev.openwrt.org/browser/packages/net/ddns-scripts/

Installed with "opkg install ddns-scripts"

comment:2 Changed 7 years ago by florian

  • Resolution set to fixed
  • Status changed from new to closed

Applied in [14883], thanks !

comment:3 Changed 22 months ago by jow

  • Milestone changed from Attitude Adjustment 12.09 to Barrier Breaker 14.07

Milestone Attitude Adjustment 12.09 deleted

Add Comment

Modify Ticket

Action
as closed .
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.