Commit ac721bd3 authored by Nick Mathewson's avatar Nick Mathewson 🤹
Browse files

Merge branch 'maint-0.3.3' into maint-0.3.4

parents b4935591 cc93f175
Loading
Loading
Loading
Loading

changes/bug27164

0 → 100644
+4 −0
Original line number Diff line number Diff line
  o Minor bugfixes (rust):
    - Protover parsing was ignoring a 2nd hyphen and everything after it,
      accepting entries like "Link=1-5-foo". Fixes bug 27164; bugfix on
      0.3.3.1-alpha.
+13 −1
Original line number Diff line number Diff line
@@ -348,7 +348,7 @@ impl FromStr for ProtoSet {
            if p.is_empty() {
                continue;
            } else if p.contains('-') {
                let mut pair = p.split('-');
                let mut pair = p.splitn(2, '-');

                let low  = pair.next().ok_or(ProtoverError::Unparseable)?;
                let high = pair.next().ok_or(ProtoverError::Unparseable)?;
@@ -538,6 +538,18 @@ mod test {
        assert_eq!(Err(ProtoverError::Unparseable), ProtoSet::from_str("-1"));
    }

    #[test]
    fn test_versions_from_str_hyphens() {
        assert_eq!(Err(ProtoverError::Unparseable), ProtoSet::from_str("--1"));
        assert_eq!(Err(ProtoverError::Unparseable), ProtoSet::from_str("-1-2"));
        assert_eq!(Err(ProtoverError::Unparseable), ProtoSet::from_str("1--2"));
    }

    #[test]
    fn test_versions_from_str_triple() {
        assert_eq!(Err(ProtoverError::Unparseable), ProtoSet::from_str("1-2-3"));
    }

    #[test]
    fn test_versions_from_str_1exclam() {
        assert_eq!(Err(ProtoverError::Unparseable), ProtoSet::from_str("1,!"));