What I mean is that for inertial frames, special relativity gave the correct transformation law that took Maxwell's equations and generalized them to all inertial frames rather than just for the special "ether" frame, and additionally the general laws of mechanics and the law of transformation (conservation of momentum, energy, etc and the Galilean transformation replaced by the Lorentz transformation) were modified where necessary so that the equations that describe them are identical in every inertial frame.
I couldn't find a short way of saying this...
There's something called "general covariance" that holds in both SR and GR. The idea is that the laws of physics are relationships between tensor fields (with spacetime as their domain of definition). These relationships can be expressed without any reference to coordinate systems. So a "law of physics" is actually something coordinate independent.
However, every tensor field has a set of "components" in each coordinate system, and every tensor equation can be expressed in terms of those components instead. There's a rule called "the tensor transformation law" that tells us how to calculate the components of a tensor in an inertial frame, given the components in another inertial frame. That rule is what you use when you "transform" a law of physics from one coordinate system to another. A tensor equation in component form will of course only involve components of the tensors that appear in the coordinate independent equation. The statement that "the laws of physics are the same in all coordinate systems" is just another way of saying that.
In both SR and GR, there's a tensor field that has a very special sigificance, called the metric tensor. Among other things, it tells us which curves in spacetime we should think of as "straight lines", i.e. as representing inertial motion. In GR, the metric tensor is a dynamical quantity, to be dermined by solving an equation. In SR, the metric tensor is fixed. It has 16 components, 10 of which are independent. In a global inertial frame, all but 4 components are 0, and the 4 non-zero components are all 1 or -1.
Suppose that you choose an inertial frame, and express a law of physics that involves the metric tensor in terms of tensor components, and instead of writing e.g. g
22 for the "22" component of the metric tensor, you just write 1. Then you simplify the expression as much as you can. Now the equation doesn't look like the original coordinate independent equation. It has taken a "special" form that only holds in global inertial frames.
If you start with a law of physics in that "special" form, and try to use the tensor transformation law to find the components in some other coordinate system, you will usually get the wrong result, because you have to transform the components of the metric tensor too, and if you e.g. see a 2, you don't know if it's =2g
33 just the number 2. This won't be a problem if you transform to another inertial frame, since the components of the metric tensor are the same in all of them. So a change from an inertial frame to another (a Lorentz transformation, or more generally, a Poincaré transformation) preserves the "special" form of the equation that only holds in inertial frames. This is called "special covariance". When physicists say that "the laws of physics are the same in all inertial frames", this is what they have in mind.
It should be clear that special covariance is a consequence of general covariance and the fact that the components of the metric tensor are the same in all inertial frames.
Is this what general relativity does for inertial and non-inertial frames?
It wasn't general relativity that solved the problem. It was general covariance, which is now a part of special relativity too. It may not have been a part of SR in 1905, but it's definitely a part of a modern formulation of SR. (It's more or less automatic if you define spacetime as a manifold instead of as a vector space).
ETA- As far as what special relativity failed to accomplish- it doesn't work in non-inertial frames, I presume.
It definitely works. It's just more difficult to do calculations.