Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
For the out-of-band Slashdot experience (mostly headlines), follow us on Twitter, or Facebook. ×

Comment: live patching non-modular code in a running ircd.. (Score 3, Interesting) 118 118

So there was a bug several years ago in ircd-ratbox that impacted the core code that wasn't a loadable module. There was a bug in cidr matching that really needed fixed. So..I wrote a loadable module that got the address of the C function that needed replaced. Then I used mprotect to set that page the function was in memory to be read/write.
Then..I scribbled over the start of the function with x86 opcodes to make it jump to a replacement function that was in the just loaded module.

Or in code.. match_cidr is the bad function, fixed_match_cidr is the replacement.

static int
modinit(void)
{
        char snag[7];
        snag[0] = 0xB8;
        *(int *) &snag[1] = (int) fixed_match_cidr;
        snag[5] = 0xFF;
        snag[6] = 0xE0;
 
    memcpy(saved, match_cidr, 7);
    mprotect(ALIGN(match_cidr-(PAGESIZE)), PAGESIZE*2, PROT_READ|PROT_WRITE|PROT_EXEC);
    memcpy(match_cidr, snag, 7);
    mprotect(ALIGN(match_cidr-(PAGESIZE)), PAGESIZE*2, PROT_READ|PROT_EXEC);
    return 0;
}

Comment: Re:So what? (Score 2) 287 287

No it works just fine on mobile, but only using SLAAC and not DHCPv6. They are two different ways of getting address assignments. SLAAC is typically going to be an autogenerated IPv6 address, based on MAC address, where DHCPv6 is going to give an address from whatever rules are defined on the DHCPv6 server.

  My Galaxy S6 has IPv6 addresses on both the mobile and wifi networks. The wifi side was configured using SLAAC as expected.

The lack of DHCPv6 is generally an issue for corporate networks with regards to Android phones more than anything.

Comment: Re:Pretty sure the heat death of the universe will (Score 3, Insightful) 386 386

Just because a piece of software is old, doesn't mean it's suddenly doesn't do its intended function.

I'm not sure I'd be shocked by the effort that people make to keep old software running,. You mention PDP emulators, but how many people here use DOSBox on a regular basis to play old games.

Emulators are just one way do keep old software running of. The other way if the source is around is to keep updating the software for new platforms but avoiding too much feeping creaturism if you can. That's pretty much where I'm at with doing ircd work, keep the code updated for modern systems(with their own OS specific quirks) so it continues function.

It seems like people just want new and shiny software just for the sake of having new and shiny. New and shiny code however doesn't have X number of years of being used as production and all of the WTF bugs have long been squashed.

Meh.

Comment: old != bad (Score 5, Informative) 189 189

My money is on this VME system being around for another 20 years while the mess of Java and Oracle(you know they're going to use Oracle). It'll be overpriced, late and won't actually work.

Just because something is old, doesn't mean it needs replaced. In short, why not just upgrade the mainframe?

Comment: text is easier to give addresses (Score 4, Informative) 80 80

I think in some regards being able to send an SMS in an emergency, with important details like the exact address(including quadrant in cities like Washington DC). There are often cases in DC where they send an ambulance or something to the correct street address but the wrong quadrant and end up being 5 miles away from where they need to be.

That does not compute.

Working...