From 8f0eb50d12692e31a2e07ded6f89e4122ba4f37b Mon Sep 17 00:00:00 2001 From: Kelvin Sherlock Date: Sat, 10 Aug 2013 23:53:38 -0400 Subject: [PATCH] smb scheme smb://.... --- scheme.c | 9 +++++++++ scheme.txt | 7 +++++++ url.h | 1 + 3 files changed, 17 insertions(+) diff --git a/scheme.c b/scheme.c index 0fe53ed..fe286ef 100644 --- a/scheme.c +++ b/scheme.c @@ -33,6 +33,15 @@ void parse_scheme(const char *cp, unsigned size, URLComponents *c) c->portNumber = 2628; return; } + // smb + if (size == 3 + && (wp[0] | 0x2020) == 0x6d73 // 'sm' + && (cp[2] | 0x20) == 0x62 // 'b' + ) { + c->schemeType = SCHEME_SMB; + c->portNumber = 445; + return; + } // ssh if (size == 3 && (wp[0] | 0x2020) == 0x7373 // 'ss' diff --git a/scheme.txt b/scheme.txt index de098e4..f98b93c 100644 --- a/scheme.txt +++ b/scheme.txt @@ -104,3 +104,10 @@ void parse_scheme(const char *cp, unsigned size, URLComponents *c) c->portNumber = 2628; return; . + +'smb' -> + c->schemeType = SCHEME_SMB; + c->portNumber = 445; + return; +. + diff --git a/url.h b/url.h index 4c75e42..ac4db0b 100644 --- a/url.h +++ b/url.h @@ -15,6 +15,7 @@ enum { SCHEME_NFS = 2049, SCHEME_NNTP = 119, SCHEME_SFTP = 115, + SCHEME_SMB = 445, SCHEME_SSH = 22, SCHEME_TELNET = 23 };