#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
-
+from __future__ import print_function
+import sys
import ldb
import uuid
# Possibly no repsFrom if this is a singleton DC
if "repsFrom" in msg:
for value in msg["repsFrom"]:
- rep = RepsFromTo(self.nc_dnstr,
- ndr_unpack(drsblobs.repsFromToBlob, value))
+ try:
+ unpacked = ndr_unpack(drsblobs.repsFromToBlob, value)
+ except RuntimeError as e:
+ print("bad repsFrom NDR: %r" % (value),
+ file=sys.stderr)
+ continue
+ rep = RepsFromTo(self.nc_dnstr, unpacked)
self.rep_repsFrom.append(rep)
def commit_repsFrom(self, samdb, ro=False):
# Possibly no repsTo if this is a singleton DC
if "repsTo" in msg:
for value in msg["repsTo"]:
- rep = RepsFromTo(self.nc_dnstr,
- ndr_unpack(drsblobs.repsFromToBlob, value))
+ try:
+ unpacked = ndr_unpack(drsblobs.repsFromToBlob, value)
+ except RuntimeError as e:
+ print("bad repsTo NDR: %r" % (value),
+ file=sys.stderr)
+ continue
+ rep = RepsFromTo(self.nc_dnstr, unpacked)
self.rep_repsTo.append(rep)
def commit_repsTo(self, samdb, ro=False):