I've updated the KIP to prohibit using control characters is connector
names - will create a vote thread tomorrow unless I hear back on
necessary changes from anybody.

Current proposal is to ban all control characters including newline
etc. as well as their escape sequences. I have not specifically listed
the escape sequences as I will have to dig into that topic a bit more
to come up with a useful solution I think, but the general principle
is stated.

Let me know what you think.

Best regards,
Sönke

On Sun, Jan 21, 2018 at 8:37 PM, Sönke Liebau
<soenke.lie...@opencore.com> wrote:
> Hi everybody,
>
> I was out of touch for personal reasons the entire week, apologies.
> I'll update the KIP tonight and kick of a vote tomorrow morning if no
> one objects until then. That gives a little less than two full days
> for voting until the deadline kicks in - might work out if everybody
> is happy with it.
>
> Best regards,
> Sönke
>
> On Sat, Jan 20, 2018 at 12:38 AM, Randall Hauch <rha...@gmail.com> wrote:
>> Sonke,
>>
>> Have you had a chance to update the KIP and kick off a VOTE thread? We need
>> to do this ASAP if we want this to make the KIP deadline for 1.1, which is
>> Jan 23!
>>
>> On Tue, Jan 16, 2018 at 10:33 PM, Ewen Cheslack-Postava <e...@confluent.io>
>> wrote:
>>
>>> Sonke,
>>>
>>> I'm fine filtering some control characters. The trimming also seems like it
>>> might be *somewhat* moot because the way connector names work in standalone
>>> mode is limited by ConfigDef, which already does trimming of settings. Not
>>> a great reason to be restrictive, but we'd partly just be codifying what's
>>> there.
>>>
>>> I just generally have a distaste for being restrictive without a clear
>>> reason. In this case I don't think it has any significant impact.
>>>
>>> KIP freeze is nearing and this seems like a simple improvement and a PR is
>>> already available (modulo any changes re: control characters). I'll start
>>> reviewing the PR, do you want to make any last updates about control
>>> characters in the KIP and kick off a VOTE thread?
>>>
>>> -Ewen
>>>
>>> On Fri, Jan 12, 2018 at 1:43 PM, Colin McCabe <cmcc...@apache.org> wrote:
>>>
>>> > On Fri, Jan 12, 2018, at 08:03, Sönke Liebau wrote:
>>> > > Hi everybody,
>>> > >
>>> > > from reading the discussion I understand that we have two things still
>>> > > open for discussen.
>>> > >
>>> > >  Ewen is still a bit on the fence about whether or not we trim
>>> > > whitespace characters but seems to favor not doing it due to there not
>>> > > being a real issue with them. I think it mostly boils down to a
>>> > > question of general preference. I am happy to change the code to allow
>>> > > leading and trailing whitespace characters again. If someone has a use
>>> > > case for these, so be it - I don't see a technical reason against
>>> > > them. Personally I think it is more likely that someone accidentally
>>> > > gets a whitespace character in his connector name somehow and
>>> > > subsequently has a confusing time figuring it out, but it shouldn't be
>>> > > that tough to spot and is correct behavior, so no issue with it.
>>> > > TL/DR: I'm happy either way :)
>>> > >
>>> > > Colin brought up control characters and that we should disallow these
>>> > > in connector names. The specific one that is mentioned in his link is
>>> > > Ascii 27 - ESC - \e so one possibility would be to explicitly
>>> > > blacklist this. The rest of the control characters (Ascii 0 through 31
>>> > > and 127) should be less critical I think, but since there is no way of
>>> > > knowing all software that might look at these strings and interpret
>>> > > them there is no real way of being certain. I think there is a case to
>>> > > be made for disallowing all control characters (and their respective
>>> > > escape sequences where applicable) in connector names - perhaps with
>>> > > the possible exclusion of /n /r /t .
>>> >
>>> > +1
>>> >
>>> > Colin
>>> >
>>> > >
>>> > > Thoughts?
>>> > >
>>> > > Kind regards,
>>> > > Sönke
>>> > >
>>> > >
>>> > >
>>> > > On Wed, Jan 10, 2018 at 7:23 AM, Ewen Cheslack-Postava
>>> > > <e...@confluent.io> wrote:
>>> > > > great point, I'm always for exclusions where they make sense. i just
>>> > prefer
>>> > > > to include by default w/ exclusions when necessary to listing
>>> explicit
>>> > > > inclusions and being restrictive. (and security updates immediately
>>> as
>>> > > > needed).
>>> > > >
>>> > > > If you have a set of characters you think we should exclude, I think
>>> it
>>> > > > would be good to add them here or in a subsequent KIP!
>>> > > >
>>> > > > -Ewen
>>> > > >
>>> > > > On Tue, Jan 9, 2018 at 1:30 PM, Colin McCabe <cmcc...@apache.org>
>>> > wrote:
>>> > > >
>>> > > >> On Sat, Jan 6, 2018, at 16:00, Ewen Cheslack-Postava wrote:
>>> > > >> > re: whitespace characters, I'm fine with the restriction since I
>>> > don't
>>> > > >> see
>>> > > >> > it becoming an issue in practice. I just don't see any reason to
>>> > restrict
>>> > > >> > it so it seems like we're going out of our way and doing extra
>>> work
>>> > to be
>>> > > >> > restrictive, but without clear motivation.
>>> > > >>
>>> > > >> There are very good reasons not to support control characters in
>>> file
>>> > > >> names, topic names, log files, etc.
>>> > > >>
>>> > > >> See http://seclists.org/fulldisclosure/2003/Feb/att-
>>> > 341/Termulation.txt
>>> > > >>
>>> > > >> There are a bunch of CVEs about this, too.  Because of the (in my
>>> > opinion,
>>> > > >> mistaken) decision to allow control characters in UNIX filenames,
>>> even
>>> > > >> echoing a file name to your terminal is a security vulnerability.
>>> > > >>
>>> > > >> best,
>>> > > >> Colin
>>> > > >>
>>> > > >>
>>> > > >> >
>>> > > >> > In general my default approach (without context of a specific
>>> > system)
>>> > > >> would
>>> > > >> > be to accept anything that we can encode in UTF-8 and only apply
>>> > > >> > restrictions where it becomes necessary (e.g. we need to define a
>>> > > >> delimiter
>>> > > >> > for some reason). The constraints of URLs introduce some
>>> complexity
>>> > (you
>>> > > >> > need escaping), but probably generally still allow this. If I can
>>> > use an
>>> > > >> > emoji when naming things, then I'm probably happy :) Whitespace
>>> > > >> characters
>>> > > >> > definitely have some other issues (e.g. you can have non-visible
>>> > > >> whitespace
>>> > > >> > which obscures which connector you're actually working with), but
>>> > despite
>>> > > >> > the JIRA linked, I wasn't really convinced they need special
>>> > handling. It
>>> > > >> > seems like a really weird issue to encounter in the first place.
>>> > > >> >
>>> > > >> > -Ewen
>>> > > >> >
>>> > > >> > On Fri, Jan 5, 2018 at 8:10 AM, Randall Hauch <rha...@gmail.com>
>>> > wrote:
>>> > > >> >
>>> > > >> > > Sönke, I'm happy with the current proposal.
>>> > > >> > >
>>> > > >> > > Ewen, the proposal allows any characters in the name as long as
>>> > they
>>> > > >> are
>>> > > >> > > properly escaped/encoded. That seems to adhere to the robustness
>>> > > >> principle.
>>> > > >> > > The only exception is that the proposal trims leading and
>>> trailing
>>> > > >> > > whitespace characters in an attempt to reduce user errors. Can
>>> you
>>> > > >> please
>>> > > >> > > clarify that you're okay with this behavior? I agree that
>>> > technically
>>> > > >> we
>>> > > >> > > can (and currently do) support whitespace-only names, but users
>>> > have
>>> > > >> > > reported this as problematic, and it also would be confusing for
>>> > most
>>> > > >> user
>>> > > >> > > interfaces.
>>> > > >> > >
>>> > > >> > > Best regards,
>>> > > >> > >
>>> > > >> > > Randall
>>> > > >> > >
>>> > > >> > > On Thu, Jan 4, 2018 at 10:31 PM, Ewen Cheslack-Postava <
>>> > > >> e...@confluent.io>
>>> > > >> > > wrote:
>>> > > >> > >
>>> > > >> > > > Very late to the game here, but a few thoughts:
>>> > > >> > > >
>>> > > >> > > > 1. Regarding whether KIP is necessary, I don't mind doing it
>>> for
>>> > > >> > > > documentation sake, but I would classify any mishandling of
>>> > connector
>>> > > >> > > names
>>> > > >> > > > here as a bug. Which doesn't require a KIP to fix.
>>> > > >> > > >
>>> > > >> > > > 2. For support of characters, Kafka has some history of just
>>> > being
>>> > > >> > > > restrictive (e.g., see topic name restrictions), but I
>>> > personally
>>> > > >> > > disagree
>>> > > >> > > > with this approach. I think it is better to be liberal in what
>>> > we
>>> > > >> accept
>>> > > >> > > > and just document limitations. I think our default should be
>>> to
>>> > > >> accept
>>> > > >> > > any
>>> > > >> > > > user input and document why we can't handle certain inputs and
>>> > how
>>> > > >> the
>>> > > >> > > user
>>> > > >> > > > should adapt if we can't. In general I try to work under the
>>> > > >> robustness
>>> > > >> > > > principle: *Be conservative in what you do, be liberal in what
>>> > you
>>> > > >> accept
>>> > > >> > > > from others*
>>> > > >> > > >
>>> > > >> > > > 3. Related to 2, there were some cases like whitespace-only
>>> > connector
>>> > > >> > > > names. This seems extremely weird and not critical, so I'm
>>> fine
>>> > not
>>> > > >> > > > supporting it officially, but technically I don't see any
>>> > reason it
>>> > > >> > > > shouldn't be supported with any appropriate escaping (i.e.
>>> what
>>> > > >> would it
>>> > > >> > > > break for us?).
>>> > > >> > > >
>>> > > >> > > > But in general, I think just being more explicit about
>>> > expectations
>>> > > >> is
>>> > > >> > > > great and it'd be great to set baseline expectations.
>>> > > >> > > >
>>> > > >> > > > -Ewen
>>> > > >> > > >
>>> > > >> > > >
>>> > > >> > > >
>>> > > >> > > > On Mon, Nov 20, 2017 at 12:33 AM, Sönke Liebau <
>>> > > >> > > > soenke.lie...@opencore.com.invalid> wrote:
>>> > > >> > > >
>>> > > >> > > > > @Randall: are you happy with the KIP as it stands so I can
>>> > call
>>> > > >> for a
>>> > > >> > > > vote,
>>> > > >> > > > > or are there any outstanding items still to discuss?
>>> > > >> > > > >
>>> > > >> > > > > Same question to anybody else who'd like to participate of
>>> > course
>>> > > >> :)
>>> > > >> > > > >
>>> > > >> > > > > On Thu, Nov 16, 2017 at 5:35 PM, Sönke Liebau <
>>> > > >> > > > soenke.lie...@opencore.com>
>>> > > >> > > > > wrote:
>>> > > >> > > > >
>>> > > >> > > > > > Sounds good. I've added a few sentences to this effect to
>>> > the
>>> > > >> KIP.
>>> > > >> > > > > >
>>> > > >> > > > > > On Thu, Nov 16, 2017 at 5:02 PM, Randall Hauch <
>>> > rha...@gmail.com
>>> > > >> >
>>> > > >> > > > wrote:
>>> > > >> > > > > >
>>> > > >> > > > > >> Nice job updating the KIP. The PR (
>>> > > >> > > > > >> https://github.com/apache/kafka/pull/2755/files) for the
>>> > > >> proposed
>>> > > >> > > > > >> implementation does prevent names from being empty, and
>>> it
>>> > trims
>>> > > >> > > > > >> whitespace
>>> > > >> > > > > >> from the name only when creating a new connector.
>>> However,
>>> > the
>>> > > >> KIP's
>>> > > >> > > > > >> "Proposed Change" section should probably be very clear
>>> > about
>>> > > >> this,
>>> > > >> > > > and
>>> > > >> > > > > >> the
>>> > > >> > > > > >> migration section should address how a connector that was
>>> > > >> created
>>> > > >> > > with
>>> > > >> > > > > >> leading and/or trailing whitespace characters will still
>>> be
>>> > > >> able to
>>> > > >> > > be
>>> > > >> > > > > >> updated and deleted. I think that decreases the
>>> likelihood
>>> > of
>>> > > >> this
>>> > > >> > > > > change
>>> > > >> > > > > >> negatively impacting existing users. Basically, going
>>> > forward,
>>> > > >> the
>>> > > >> > > > names
>>> > > >> > > > > >> of
>>> > > >> > > > > >> new connectors will be trimmed.
>>> > > >> > > > > >>
>>> > > >> > > > > >> WDYT?
>>> > > >> > > > > >>
>>> > > >> > > > > >> On Thu, Nov 16, 2017 at 9:32 AM, Sönke Liebau <
>>> > > >> > > > > >> soenke.lie...@opencore.com.invalid> wrote:
>>> > > >> > > > > >>
>>> > > >> > > > > >> > I've added some more detail to the KIP [1] around
>>> current
>>> > > >> > > scenarios
>>> > > >> > > > > that
>>> > > >> > > > > >> > might break in the future. I actually came up with a
>>> > second
>>> > > >> > > > limitation
>>> > > >> > > > > >> that
>>> > > >> > > > > >> > we'd impose on users and also documented this.
>>> > > >> > > > > >> >
>>> > > >> > > > > >> > Let me know what you think.
>>> > > >> > > > > >> >
>>> > > >> > > > > >> > Kind regards,
>>> > > >> > > > > >> > Sönke
>>> > > >> > > > > >> >
>>> > > >> > > > > >> > [1]
>>> > > >> > > > > >> > https://cwiki.apache.org/confluence/display/KAFKA/KIP-
>>> > > >> > > > > >> > 212%3A+Enforce+set+of+legal+
>>> > characters+for+connector+names
>>> > > >> > > > > >> >
>>> > > >> > > > > >> >
>>> > > >> > > > > >> > On Thu, Nov 16, 2017 at 2:59 PM, Sönke Liebau <
>>> > > >> > > > > >> soenke.lie...@opencore.com>
>>> > > >> > > > > >> > wrote:
>>> > > >> > > > > >> >
>>> > > >> > > > > >> > > Hi Randall,
>>> > > >> > > > > >> > >
>>> > > >> > > > > >> > > I had mentioned this edge case in the KIP, but will
>>> > add some
>>> > > >> > > > further
>>> > > >> > > > > >> > > detail to further clarify all changing scenarios post
>>> > pull
>>> > > >> > > > request.
>>> > > >> > > > > >> > >
>>> > > >> > > > > >> > > Kind regards,
>>> > > >> > > > > >> > > Sönke
>>> > > >> > > > > >> > >
>>> > > >> > > > > >> > >
>>> > > >> > > > > >> > >
>>> > > >> > > > > >> > >
>>> > > >> > > > > >> > >
>>> > > >> > > > > >> > > On Thu, Nov 16, 2017 at 2:06 PM, Randall Hauch <
>>> > > >> > > rha...@gmail.com>
>>> > > >> > > > > >> wrote:
>>> > > >> > > > > >> > >
>>> > > >> > > > > >> > >> No, we need to keep the KIP since we want to
>>> > > >> change/correct the
>>> > > >> > > > > >> existing
>>> > > >> > > > > >> > >> behavior. But we do need to clarify in the KIP these
>>> > edge
>>> > > >> cases
>>> > > >> > > > > that
>>> > > >> > > > > >> > will
>>> > > >> > > > > >> > >> change.
>>> > > >> > > > > >> > >>
>>> > > >> > > > > >> > >> Thanks for the continued work on this, Sönke.
>>> > > >> > > > > >> > >>
>>> > > >> > > > > >> > >> Regards,
>>> > > >> > > > > >> > >>
>>> > > >> > > > > >> > >> Randall
>>> > > >> > > > > >> > >>
>>> > > >> > > > > >> > >> > On Nov 16, 2017, at 1:56 AM, Sönke Liebau <
>>> > > >> > > > > >> soenke.lie...@opencore.com
>>> > > >> > > > > >> > >> .INVALID> wrote:
>>> > > >> > > > > >> > >> >
>>> > > >> > > > > >> > >> > Hi Randall,
>>> > > >> > > > > >> > >> >
>>> > > >> > > > > >> > >> > zero length definitely works, that's what sent me
>>> > down
>>> > > >> this
>>> > > >> > > > hole
>>> > > >> > > > > in
>>> > > >> > > > > >> > the
>>> > > >> > > > > >> > >> > first place. I had a customer accidentally create
>>> a
>>> > > >> connector
>>> > > >> > > > > >> without
>>> > > >> > > > > >> > a
>>> > > >> > > > > >> > >> > name in his environment and then be unable to
>>> > delete it.
>>> > > >> No
>>> > > >> > > > > >> connector
>>> > > >> > > > > >> > >> name
>>> > > >> > > > > >> > >> > doesn't work, as this throws a null pointer
>>> > exception
>>> > > >> due to
>>> > > >> > > > > >> > KAFKA-4938
>>> > > >> > > > > >> > >> ,
>>> > > >> > > > > >> > >> > but once that is fixed would create a connector
>>> > named
>>> > > >> "null"
>>> > > >> > > I
>>> > > >> > > > > >> think.
>>> > > >> > > > > >> > >> Have
>>> > > >> > > > > >> > >> > not retested this, but seen it in the past.
>>> > > >> > > > > >> > >> >
>>> > > >> > > > > >> > >> > Also, it is possible to create connectors with
>>> > trailing
>>> > > >> and
>>> > > >> > > > > leading
>>> > > >> > > > > >> > >> > whitespaces, this errors out on the create request
>>> > (which
>>> > > >> > > will
>>> > > >> > > > be
>>> > > >> > > > > >> > fixed
>>> > > >> > > > > >> > >> > when KAFKA-4827 is merged), but correctly creates
>>> > the
>>> > > >> > > connector
>>> > > >> > > > > and
>>> > > >> > > > > >> > you
>>> > > >> > > > > >> > >> can
>>> > > >> > > > > >> > >> > access it if you percent-escape the curl call.
>>> This
>>> > for
>>> > > >> me is
>>> > > >> > > > the
>>> > > >> > > > > >> main
>>> > > >> > > > > >> > >> > reason why a KIP might be needed, as we are
>>> changing
>>> > > >> public
>>> > > >> > > > > facing
>>> > > >> > > > > >> > >> behavior
>>> > > >> > > > > >> > >> > here. I agree with you, that this will probably
>>> not
>>> > > >> affect
>>> > > >> > > > anyone
>>> > > >> > > > > >> or
>>> > > >> > > > > >> > >> hardly
>>> > > >> > > > > >> > >> > anyone, but in principle it is a change that
>>> should
>>> > need
>>> > > >> a
>>> > > >> > > KIP
>>> > > >> > > > I
>>> > > >> > > > > >> > think.
>>> > > >> > > > > >> > >> >
>>> > > >> > > > > >> > >> > I've retested and documented this for Confluent
>>> > 3.3.0:
>>> > > >> > > > > >> > >> > https://gist.github.com/soenkeliebau/
>>> > > >> 9363745cff23560fcc234d9
>>> > > >> > > > > >> b64ac14c4
>>> > > >> > > > > >> > >> >
>>> > > >> > > > > >> > >> > I am of course happy to withdraw the KIP if you
>>> > think it
>>> > > >> is
>>> > > >> > > > > >> > unnecessary,
>>> > > >> > > > > >> > >> > I've also updated the pull request for KAFKA-4930
>>> to
>>> > > >> reflect
>>> > > >> > > > the
>>> > > >> > > > > >> > changes
>>> > > >> > > > > >> > >> > stated in the KIP and tested the code with Arjuns
>>> > pull
>>> > > >> > > request
>>> > > >> > > > > for
>>> > > >> > > > > >> > >> > KAFKA-4827 to ensure they don't interfere with
>>> each
>>> > > >> other.
>>> > > >> > > > > >> > >> >
>>> > > >> > > > > >> > >> > Let me know what you think.
>>> > > >> > > > > >> > >> >
>>> > > >> > > > > >> > >> > Kind regards,
>>> > > >> > > > > >> > >> > Sönke
>>> > > >> > > > > >> > >> >
>>> > > >> > > > > >> > >> > ᐧ
>>> > > >> > > > > >> > >> >
>>> > > >> > > > > >> > >> >> On Tue, Nov 14, 2017 at 7:03 PM, Randall Hauch <
>>> > > >> > > > > rha...@gmail.com>
>>> > > >> > > > > >> > >> wrote:
>>> > > >> > > > > >> > >> >>
>>> > > >> > > > > >> > >> >> Thanks for updating the KIP to reflect the
>>> current
>>> > > >> process.
>>> > > >> > > > > >> However,
>>> > > >> > > > > >> > I
>>> > > >> > > > > >> > >> >> still question whether it is necessary to have a
>>> > KIP -
>>> > > >> it
>>> > > >> > > > > depends
>>> > > >> > > > > >> on
>>> > > >> > > > > >> > >> >> whether it was possible with prior versions to
>>> have
>>> > > >> > > connectors
>>> > > >> > > > > >> with
>>> > > >> > > > > >> > >> >> zero-length or blank names. Have you tried both
>>> of
>>> > these
>>> > > >> > > > cases?
>>> > > >> > > > > >> > >> >>
>>> > > >> > > > > >> > >> >> On Fri, Nov 10, 2017 at 3:52 AM, Sönke Liebau <
>>> > > >> > > > > >> > >> >> soenke.lie...@opencore.com.invalid> wrote:
>>> > > >> > > > > >> > >> >>
>>> > > >> > > > > >> > >> >>> Hi Randall,
>>> > > >> > > > > >> > >> >>>
>>> > > >> > > > > >> > >> >>> I have set aside some time to work on this next
>>> > week.
>>> > > >> The
>>> > > >> > > fix
>>> > > >> > > > > >> itself
>>> > > >> > > > > >> > >> is
>>> > > >> > > > > >> > >> >>> quite simple, but I've yet to write tests to
>>> > properly
>>> > > >> catch
>>> > > >> > > > > this,
>>> > > >> > > > > >> > >> which
>>> > > >> > > > > >> > >> >>> turns out to be a bit more complex, as it needs
>>> a
>>> > > >> running
>>> > > >> > > > > >> restserver
>>> > > >> > > > > >> > >> >> which
>>> > > >> > > > > >> > >> >>> is mocked in the tests I've looked at so far.
>>> > > >> > > > > >> > >> >>>
>>> > > >> > > > > >> > >> >>> Should I withdraw the KIP or update it to
>>> reflect
>>> > the
>>> > > >> > > > > >> documentation
>>> > > >> > > > > >> > >> >> changes
>>> > > >> > > > > >> > >> >>> and enforced rules around trimming and zero
>>> length
>>> > > >> > > connector
>>> > > >> > > > > >> names?
>>> > > >> > > > > >> > >> This
>>> > > >> > > > > >> > >> >> is
>>> > > >> > > > > >> > >> >>> a change to existing behavior, even if it is
>>> quite
>>> > > >> small
>>> > > >> > > and
>>> > > >> > > > > >> > probably
>>> > > >> > > > > >> > >> >> won't
>>> > > >> > > > > >> > >> >>> even be noticed by many people..
>>> > > >> > > > > >> > >> >>>
>>> > > >> > > > > >> > >> >>> best regards,
>>> > > >> > > > > >> > >> >>> Sönke
>>> > > >> > > > > >> > >> >>>
>>> > > >> > > > > >> > >> >>>> On Thu, Nov 9, 2017 at 9:10 PM, Randall Hauch <
>>> > > >> > > > > rha...@gmail.com
>>> > > >> > > > > >> >
>>> > > >> > > > > >> > >> wrote:
>>> > > >> > > > > >> > >> >>>>
>>> > > >> > > > > >> > >> >>>> Any progress on updating the PR and withdrawing
>>> > > >> KIP-212?
>>> > > >> > > > > >> > >> >>>>
>>> > > >> > > > > >> > >> >>>> On Fri, Oct 27, 2017 at 5:19 PM, Randall Hauch
>>> <
>>> > > >> > > > > >> rha...@gmail.com>
>>> > > >> > > > > >> > >> >> wrote:
>>> > > >> > > > > >> > >> >>>>
>>> > > >> > > > > >> > >> >>>>> Yes, connector names should not be blank or
>>> > contain
>>> > > >> just
>>> > > >> > > > > >> > whitespace.
>>> > > >> > > > > >> > >> >> In
>>> > > >> > > > > >> > >> >>>>> fact, I might recommend that we trim
>>> whitespace
>>> > at
>>> > > >> the
>>> > > >> > > > front
>>> > > >> > > > > >> and
>>> > > >> > > > > >> > >> rear
>>> > > >> > > > > >> > >> >>> of
>>> > > >> > > > > >> > >> >>>>> new connector names and then disallowing any
>>> > > >> zero-length
>>> > > >> > > > > name.
>>> > > >> > > > > >> > >> >> Existing
>>> > > >> > > > > >> > >> >>>>> connectors would remain valid, and this would
>>> > not
>>> > > >> break
>>> > > >> > > > > >> backward
>>> > > >> > > > > >> > >> >>>>> compatibility. That might require a small kip
>>> > simply
>>> > > >> to
>>> > > >> > > > > update
>>> > > >> > > > > >> the
>>> > > >> > > > > >> > >> >>>>> documentation and specify what names are
>>> valid.
>>> > > >> > > > > >> > >> >>>>>
>>> > > >> > > > > >> > >> >>>>> WDYT?
>>> > > >> > > > > >> > >> >>>>>
>>> > > >> > > > > >> > >> >>>>> Randall
>>> > > >> > > > > >> > >> >>>>>
>>> > > >> > > > > >> > >> >>>>> On Fri, Oct 27, 2017 at 1:08 PM, Colin McCabe
>>> <
>>> > > >> > > > > >> cmcc...@apache.org
>>> > > >> > > > > >> > >
>>> > > >> > > > > >> > >> >>>> wrote:
>>> > > >> > > > > >> > >> >>>>>
>>> > > >> > > > > >> > >> >>>>>>> On Wed, Oct 25, 2017, at 01:07, Sönke Liebau
>>> > wrote:
>>> > > >> > > > > >> > >> >>>>>>> I've spent some time looking at this and
>>> > testing
>>> > > >> > > various
>>> > > >> > > > > >> > >> >> characters
>>> > > >> > > > > >> > >> >>>> and
>>> > > >> > > > > >> > >> >>>>>>> it
>>> > > >> > > > > >> > >> >>>>>>> would appear that Randall's suspicion was
>>> > spot on.
>>> > > >> I
>>> > > >> > > > think
>>> > > >> > > > > we
>>> > > >> > > > > >> > can
>>> > > >> > > > > >> > >> >>>>>> support
>>> > > >> > > > > >> > >> >>>>>>> a
>>> > > >> > > > > >> > >> >>>>>>> fairly large set of characters with very
>>> minor
>>> > > >> changes.
>>> > > >> > > > > >> > >> >>>>>>>
>>> > > >> > > > > >> > >> >>>>>>> I was put of by the exceptions that were
>>> > thrown
>>> > > >> when
>>> > > >> > > > > creating
>>> > > >> > > > > >> > >> >>>> connectors
>>> > > >> > > > > >> > >> >>>>>>> with certain characters and suspected a
>>> larger
>>> > > >> > > underlying
>>> > > >> > > > > >> > problem
>>> > > >> > > > > >> > >> >>> when
>>> > > >> > > > > >> > >> >>>>>> in
>>> > > >> > > > > >> > >> >>>>>>> fact the only issue is, that the URL in the
>>> > rest
>>> > > >> > > request
>>> > > >> > > > > >> used to
>>> > > >> > > > > >> > >> >>>>>> retrieve
>>> > > >> > > > > >> > >> >>>>>>> the response for the create connector
>>> request
>>> > > >> needs to
>>> > > >> > > be
>>> > > >> > > > > >> > percent
>>> > > >> > > > > >> > >> >>>>>> encoded
>>> > > >> > > > > >> > >> >>>>>>> [1].
>>> > > >> > > > > >> > >> >>>>>>>
>>> > > >> > > > > >> > >> >>>>>>> I've fixed this and done some local testing
>>> > which
>>> > > >> > > worked
>>> > > >> > > > > out
>>> > > >> > > > > >> > quite
>>> > > >> > > > > >> > >> >>>>>>> nicely,
>>> > > >> > > > > >> > >> >>>>>>> apart from two special cases, I've not been
>>> > able to
>>> > > >> > > find
>>> > > >> > > > > >> > >> >> characters
>>> > > >> > > > > >> > >> >>>> that
>>> > > >> > > > > >> > >> >>>>>>> created issues, even space and slash work.
>>> > > >> > > > > >> > >> >>>>>>> The mentioned special cases are:
>>> > > >> > > > > >> > >> >>>>>>>  \  - if the name contains a backslash that
>>> > is not
>>> > > >> the
>>> > > >> > > > > >> beginning
>>> > > >> > > > > >> > >> >>> of a
>>> > > >> > > > > >> > >> >>>>>>> valid escape sequence the request fails
>>> > before we
>>> > > >> ever
>>> > > >> > > > get
>>> > > >> > > > > >> it in
>>> > > >> > > > > >> > >> >>>>>>> ConnectorsResource, so a backslash would
>>> need
>>> > to be
>>> > > >> > > > > escaped:
>>> > > >> > > > > >> \\
>>> > > >> > > > > >> > >> >>>>>>>  "  - Quotation marks need to be escaped as
>>> > well to
>>> > > >> > > keep
>>> > > >> > > > > the
>>> > > >> > > > > >> > json
>>> > > >> > > > > >> > >> >>>> body
>>> > > >> > > > > >> > >> >>>>>>>  of
>>> > > >> > > > > >> > >> >>>>>>> the request legal: \"
>>> > > >> > > > > >> > >> >>>>>>> In both cases the escape character will be
>>> > part of
>>> > > >> the
>>> > > >> > > > > >> connector
>>> > > >> > > > > >> > >> >>> name
>>> > > >> > > > > >> > >> >>>>>> and
>>> > > >> > > > > >> > >> >>>>>>> need to be specified in the url to retrieve
>>> > the
>>> > > >> > > connector
>>> > > >> > > > > as
>>> > > >> > > > > >> > well,
>>> > > >> > > > > >> > >> >>>> even
>>> > > >> > > > > >> > >> >>>>>>> though we could URL encode it in a legal way
>>> > > >> without
>>> > > >> > > > > escaping
>>> > > >> > > > > >> > >> >> here.
>>> > > >> > > > > >> > >> >>> So
>>> > > >> > > > > >> > >> >>>>>>> they
>>> > > >> > > > > >> > >> >>>>>>> work, not sure if I'd recommend using those
>>> > > >> characters,
>>> > > >> > > > but
>>> > > >> > > > > >> no
>>> > > >> > > > > >> > >> >> real
>>> > > >> > > > > >> > >> >>>>>>> reason
>>> > > >> > > > > >> > >> >>>>>>> to prohibit people from using them that I
>>> can
>>> > see
>>> > > >> > > either.
>>> > > >> > > > > >> > >> >>>>>>
>>> > > >> > > > > >> > >> >>>>>> Good research, Sönke.
>>> > > >> > > > > >> > >> >>>>>>
>>> > > >> > > > > >> > >> >>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>
>>> > > >> > > > > >> > >> >>>>>>> What I'd do going forward is:
>>> > > >> > > > > >> > >> >>>>>>> - withdraw the KIP, as I don't see a real
>>> > need for
>>> > > >> one,
>>> > > >> > > > > since
>>> > > >> > > > > >> > this
>>> > > >> > > > > >> > >> >>> is
>>> > > >> > > > > >> > >> >>>>>> not
>>> > > >> > > > > >> > >> >>>>>>> changing anything, just fixing things.
>>> > > >> > > > > >> > >> >>>>>>> - add a section to the documentation around
>>> > legal
>>> > > >> > > > > characters,
>>> > > >> > > > > >> > >> >>> specify
>>> > > >> > > > > >> > >> >>>>>> the
>>> > > >> > > > > >> > >> >>>>>>> ones I tested explicitly (url encoded %20 -
>>> > %7F)
>>> > > >> and
>>> > > >> > > > > mention
>>> > > >> > > > > >> > that
>>> > > >> > > > > >> > >> >>> most
>>> > > >> > > > > >> > >> >>>>>>> other characters should work as well but no
>>> > > >> guarantees
>>> > > >> > > > are
>>> > > >> > > > > >> given
>>> > > >> > > > > >> > >> >>>>>>> - update the pull request for KAFKA-4930 to
>>> > allow
>>> > > >> all
>>> > > >> > > > > >> characters
>>> > > >> > > > > >> > >> >> but
>>> > > >> > > > > >> > >> >>>>>>> still
>>> > > >> > > > > >> > >> >>>>>>> prohibit creating a connector with an empty
>>> > name.
>>> > > >> I'd
>>> > > >> > > > > >> propose to
>>> > > >> > > > > >> > >> >>> keep
>>> > > >> > > > > >> > >> >>>>>> the
>>> > > >> > > > > >> > >> >>>>>>> validator though as it'll give us a central
>>> > > >> location to
>>> > > >> > > > do
>>> > > >> > > > > >> any
>>> > > >> > > > > >> > >> >>>> checking
>>> > > >> > > > > >> > >> >>>>>>> that might turn out to be necessary later
>>> on.
>>> > > >> > > > > >> > >> >>>>>>
>>> > > >> > > > > >> > >> >>>>>> Are empty names currently allowed?  That's
>>> > > >> unfortunate.
>>> > > >> > > > > >> > >> >>>>>>
>>> > > >> > > > > >> > >> >>>>>>> - add some integration tests to check
>>> > connectors
>>> > > >> with
>>> > > >> > > > > special
>>> > > >> > > > > >> > >> >>>> characters
>>> > > >> > > > > >> > >> >>>>>>> in
>>> > > >> > > > > >> > >> >>>>>>> their names work
>>> > > >> > > > > >> > >> >>>>>>> - fix the url encoding line in
>>> > ConnectorsResource
>>> > > >> > > > > >> > >> >>>>>>>
>>> > > >> > > > > >> > >> >>>>>>> Does that sound fair to everybody?
>>> > > >> > > > > >> > >> >>>>>>
>>> > > >> > > > > >> > >> >>>>>> It sounds good to me, but I will let someone
>>> > more
>>> > > >> > > > > >> knowledgeable
>>> > > >> > > > > >> > >> >> about
>>> > > >> > > > > >> > >> >>>>>> connect chime in.
>>> > > >> > > > > >> > >> >>>>>>
>>> > > >> > > > > >> > >> >>>>>> best,
>>> > > >> > > > > >> > >> >>>>>> Colin
>>> > > >> > > > > >> > >> >>>>>>
>>> > > >> > > > > >> > >> >>>>>>>
>>> > > >> > > > > >> > >> >>>>>>> Kind regards,
>>> > > >> > > > > >> > >> >>>>>>> Sönke
>>> > > >> > > > > >> > >> >>>>>>>
>>> > > >> > > > > >> > >> >>>>>>> [1]
>>> > > >> > > > > >> > >> >>>>>>> https://github.com/apache/
>>> > > >> kafka/blob/trunk/connect/
>>> > > >> > > > > runtime/
>>> > > >> > > > > >> > >> >>>>>> src/main/java/org/apache/
>>> > > >> kafka/connect/runtime/rest/
>>> > > >> > > > > >> > >> >>>>>> resources/ConnectorsResource.java#L102
>>> > > >> > > > > >> > >> >>>>>>>
>>> > > >> > > > > >> > >> >>>>>>> On Tue, Oct 24, 2017 at 8:40 PM, Colin
>>> McCabe
>>> > <
>>> > > >> > > > > >> > cmcc...@apache.org
>>> > > >> > > > > >> > >> >>>
>>> > > >> > > > > >> > >> >>>>>> wrote:
>>> > > >> > > > > >> > >> >>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>>> On Tue, Oct 24, 2017, at 11:28, Sönke
>>> Liebau
>>> > > >> wrote:
>>> > > >> > > > > >> > >> >>>>>>>>> Hi,
>>> > > >> > > > > >> > >> >>>>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>>> after reading your messages I'll grant
>>> that
>>> > I
>>> > > >> might
>>> > > >> > > > have
>>> > > >> > > > > >> > >> >> picked
>>> > > >> > > > > >> > >> >>> a
>>> > > >> > > > > >> > >> >>>>>>>>> somewhat
>>> > > >> > > > > >> > >> >>>>>>>>> draconic option to solve these issues.
>>> > > >> > > > > >> > >> >>>>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>>> In general I believe that properly
>>> encoding
>>> > the
>>> > > >> URLs
>>> > > >> > > > > after
>>> > > >> > > > > >> > >> >>> having
>>> > > >> > > > > >> > >> >>>>>> created
>>> > > >> > > > > >> > >> >>>>>>>>> the connectors should solve a lot of the
>>> > issues
>>> > > >> > > > already.
>>> > > >> > > > > >> For
>>> > > >> > > > > >> > >> >>> some
>>> > > >> > > > > >> > >> >>>>>>>>> characters the rest api returns an error
>>> on
>>> > > >> creating
>>> > > >> > > > the
>>> > > >> > > > > >> > >> >>> connector
>>> > > >> > > > > >> > >> >>>>>> as
>>> > > >> > > > > >> > >> >>>>>>>>> well,
>>> > > >> > > > > >> > >> >>>>>>>>> so for that URL encoding won't help.
>>> > However the
>>> > > >> > > > > >> connectors do
>>> > > >> > > > > >> > >> >>> get
>>> > > >> > > > > >> > >> >>>>>>>>> created
>>> > > >> > > > > >> > >> >>>>>>>>> even though an error is returned, I've
>>> never
>>> > > >> > > > investigated
>>> > > >> > > > > >> if
>>> > > >> > > > > >> > >> >>> they
>>> > > >> > > > > >> > >> >>>>>> are in
>>> > > >> > > > > >> > >> >>>>>>>>> a
>>> > > >> > > > > >> > >> >>>>>>>>> consistent state tbh - I'll give this
>>> > another
>>> > > >> look.
>>> > > >> > > > > >> > >> >>>>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>>> @colin: Entity encoding would allow us to
>>> > encode
>>> > > >> a
>>> > > >> > > lot
>>> > > >> > > > of
>>> > > >> > > > > >> > >> >>>>>> characters,
>>> > > >> > > > > >> > >> >>>>>>>>> however I am unsure whether we should
>>> > prefer it
>>> > > >> over
>>> > > >> > > > url
>>> > > >> > > > > >> > >> >>> encoding
>>> > > >> > > > > >> > >> >>>>>> in this
>>> > > >> > > > > >> > >> >>>>>>>>> case, as mostly the end user would have to
>>> > > >> encode the
>>> > > >> > > > > >> > >> >> characters
>>> > > >> > > > > >> > >> >>>>>> himself.
>>> > > >> > > > > >> > >> >>>>>>>>> And due to entity encoding ending every
>>> > character
>>> > > >> > > with
>>> > > >> > > > a
>>> > > >> > > > > ;
>>> > > >> > > > > >> > >> >> which
>>> > > >> > > > > >> > >> >>>>>> causes
>>> > > >> > > > > >> > >> >>>>>>>>> the
>>> > > >> > > > > >> > >> >>>>>>>>> embedded jetty server to cut the connector
>>> > name
>>> > > >> at
>>> > > >> > > that
>>> > > >> > > > > >> > >> >>> character
>>> > > >> > > > > >> > >> >>>>>> we'd
>>> > > >> > > > > >> > >> >>>>>>>>> probably need to encode that character in
>>> > URL
>>> > > >> > > encoding
>>> > > >> > > > > >> again
>>> > > >> > > > > >> > >> >> for
>>> > > >> > > > > >> > >> >>>>>> that to
>>> > > >> > > > > >> > >> >>>>>>>>> work out - which might get a bit too
>>> > complex tbh.
>>> > > >> > > > > >> > >> >>>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>> Sorry, I meant to write percent-encoding,
>>> not
>>> > > >> entity
>>> > > >> > > > refs.
>>> > > >> > > > > >> > >> >>>>>>>> https://en.wikipedia.org/wiki/
>>> > Percent-encoding
>>> > > >> > > > > >> > >> >>>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>> best,
>>> > > >> > > > > >> > >> >>>>>>>> Colin
>>> > > >> > > > > >> > >> >>>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>>> I will further investigate which
>>> characters
>>> > the
>>> > > >> url
>>> > > >> > > > > >> decoding
>>> > > >> > > > > >> > >> >>> that
>>> > > >> > > > > >> > >> >>>>>> jetty
>>> > > >> > > > > >> > >> >>>>>>>>> brings to the table will let us use and if
>>> > all of
>>> > > >> > > these
>>> > > >> > > > > are
>>> > > >> > > > > >> > >> >>>>>> correctly
>>> > > >> > > > > >> > >> >>>>>>>>> handled during connector creation and
>>> > report back
>>> > > >> > > with
>>> > > >> > > > a
>>> > > >> > > > > >> new
>>> > > >> > > > > >> > >> >>> list
>>> > > >> > > > > >> > >> >>>> of
>>> > > >> > > > > >> > >> >>>>>>>>> characters that I think we can support
>>> > fairly
>>> > > >> easily.
>>> > > >> > > > > >> > >> >>>>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>>> Kind regards,
>>> > > >> > > > > >> > >> >>>>>>>>> Sönke
>>> > > >> > > > > >> > >> >>>>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>>> On Tue, Oct 24, 2017 at 6:42 PM, Colin
>>> > McCabe <
>>> > > >> > > > > >> > >> >>> cmcc...@apache.org
>>> > > >> > > > > >> > >> >>>>>
>>> > > >> > > > > >> > >> >>>>>>>> wrote:
>>> > > >> > > > > >> > >> >>>>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>>>> It should be possible to use entity
>>> > references
>>> > > >> to
>>> > > >> > > > encode
>>> > > >> > > > > >> > >> >> these
>>> > > >> > > > > >> > >> >>>>>>>>>> characters in URLs.  See
>>> > > >> > > > https://dev.w3.org/html5/html-
>>> > > >> > > > > >> > >> >>>>>> author/charref
>>> > > >> > > > > >> > >> >>>>>>>>>> Maybe I'm misunderstanding the problem,
>>> > but can
>>> > > >> we
>>> > > >> > > > > simply
>>> > > >> > > > > >> > >> >>> encode
>>> > > >> > > > > >> > >> >>>>>> the
>>> > > >> > > > > >> > >> >>>>>>>>>> URLs, rather than restricting the names?
>>> > > >> > > > > >> > >> >>>>>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>>>> best,
>>> > > >> > > > > >> > >> >>>>>>>>>> Colin
>>> > > >> > > > > >> > >> >>>>>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>>>>> On Mon, Oct 23, 2017, at 14:12, Randall
>>> > Hauch
>>> > > >> > > wrote:
>>> > > >> > > > > >> > >> >>>>>>>>>>> Here's the link to KIP-212:
>>> > > >> > > > > >> > >> >>>>>>>>>>> https://cwiki.apache.org/
>>> > > >> confluence/pages/viewpage
>>> > > >> > > .
>>> > > >> > > > > >> > >> >>>>>>>>>> action?pageId=74684586
>>> > > >> > > > > >> > >> >>>>>>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>>>>> I do think it's worthwhile to define the
>>> > rules
>>> > > >> for
>>> > > >> > > > > >> > >> >> connector
>>> > > >> > > > > >> > >> >>>>>> names.
>>> > > >> > > > > >> > >> >>>>>>>>>>> However, I think it would be better to
>>> > > >> describe the
>>> > > >> > > > > >> > >> >> current
>>> > > >> > > > > >> > >> >>>>>>>> restrictions
>>> > > >> > > > > >> > >> >>>>>>>>>>> for names outside of them appearing
>>> within
>>> > > >> URLs.
>>> > > >> > > For
>>> > > >> > > > > >> > >> >>> example,
>>> > > >> > > > > >> > >> >>>>>> if we
>>> > > >> > > > > >> > >> >>>>>>>> can
>>> > > >> > > > > >> > >> >>>>>>>>>>> keep connector names relatively free of
>>> > > >> constraints
>>> > > >> > > > but
>>> > > >> > > > > >> > >> >>>> instead
>>> > > >> > > > > >> > >> >>>>>>>> define
>>> > > >> > > > > >> > >> >>>>>>>>>>> how
>>> > > >> > > > > >> > >> >>>>>>>>>>> names should be encoded when used within
>>> > URLs
>>> > > >> > > (e.g.,
>>> > > >> > > > > URL
>>> > > >> > > > > >> > >> >>>>>> encoding),
>>> > > >> > > > > >> > >> >>>>>>>> then
>>> > > >> > > > > >> > >> >>>>>>>>>>> we
>>> > > >> > > > > >> > >> >>>>>>>>>>> may not have (m)any backward
>>> compatibility
>>> > > >> issues
>>> > > >> > > > other
>>> > > >> > > > > >> > >> >> than
>>> > > >> > > > > >> > >> >>>>>> fixing
>>> > > >> > > > > >> > >> >>>>>>>> some
>>> > > >> > > > > >> > >> >>>>>>>>>>> bugs related to proper
>>> encoding/decoding.
>>> > > >> > > > > >> > >> >>>>>>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>>>>> Thoughts?
>>> > > >> > > > > >> > >> >>>>>>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>>>>> On Mon, Oct 23, 2017 at 3:44 PM, Sönke
>>> > Liebau <
>>> > > >> > > > > >> > >> >>>>>>>>>>> soenke.lie...@opencore.com.invalid>
>>> > wrote:
>>> > > >> > > > > >> > >> >>>>>>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>>>>>> All,
>>> > > >> > > > > >> > >> >>>>>>>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>>>>>> I've created a KIP to discuss enforcing
>>> > of
>>> > > >> rules
>>> > > >> > > on
>>> > > >> > > > > what
>>> > > >> > > > > >> > >> >>>>>>>> characters are
>>> > > >> > > > > >> > >> >>>>>>>>>>>> allowed in connector names.
>>> > > >> > > > > >> > >> >>>>>>>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>>>>>> Since this may break api calls that are
>>> > > >> currently
>>> > > >> > > > > >> > >> >> working
>>> > > >> > > > > >> > >> >>> I
>>> > > >> > > > > >> > >> >>>>>>>> figured a
>>> > > >> > > > > >> > >> >>>>>>>>>> KIP
>>> > > >> > > > > >> > >> >>>>>>>>>>>> is the better way to go than to just
>>> > create a
>>> > > >> > > jira.
>>> > > >> > > > > >> > >> >>>>>>>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>>>>>> I'd love to hear your input on this!
>>> > > >> > > > > >> > >> >>>>>>>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>>> --
>>> > > >> > > > > >> > >> >>>>>>>>> Sönke Liebau
>>> > > >> > > > > >> > >> >>>>>>>>> Partner
>>> > > >> > > > > >> > >> >>>>>>>>> Tel. +49 179 7940878
>>> > > >> > > > > >> > >> >>>>>>>>> OpenCore GmbH & Co. KG -
>>> Thomas-Mann-Straße
>>> > 8 -
>>> > > >> 22880
>>> > > >> > > > > >> Wedel -
>>> > > >> > > > > >> > >> >>>>>> Germany
>>> > > >> > > > > >> > >> >>>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>
>>> > > >> > > > > >> > >> >>>>>>>
>>> > > >> > > > > >> > >> >>>>>>> --
>>> > > >> > > > > >> > >> >>>>>>> Sönke Liebau
>>> > > >> > > > > >> > >> >>>>>>> Partner
>>> > > >> > > > > >> > >> >>>>>>> Tel. +49 179 7940878
>>> > > >> > > > > >> > >> >>>>>>> OpenCore GmbH & Co. KG - Thomas-Mann-Straße
>>> 8
>>> > -
>>> > > >> 22880
>>> > > >> > > > > Wedel -
>>> > > >> > > > > >> > >> >>> Germany
>>> > > >> > > > > >> > >> >>>>>>
>>> > > >> > > > > >> > >> >>>>>
>>> > > >> > > > > >> > >> >>>>>
>>> > > >> > > > > >> > >> >>>>
>>> > > >> > > > > >> > >> >>>
>>> > > >> > > > > >> > >> >>>
>>> > > >> > > > > >> > >> >>>
>>> > > >> > > > > >> > >> >>> --
>>> > > >> > > > > >> > >> >>> Sönke Liebau
>>> > > >> > > > > >> > >> >>> Partner
>>> > > >> > > > > >> > >> >>> Tel. +49 179 7940878 <+49%20179%207940878>
>>> > > >> > > > > >> > >> >>> OpenCore GmbH & Co. KG - Thomas-Mann-Straße 8 -
>>> > 22880
>>> > > >> > > Wedel -
>>> > > >> > > > > >> > Germany
>>> > > >> > > > > >> > >> >>>
>>> > > >> > > > > >> > >> >>
>>> > > >> > > > > >> > >> >
>>> > > >> > > > > >> > >> >
>>> > > >> > > > > >> > >> >
>>> > > >> > > > > >> > >> > --
>>> > > >> > > > > >> > >> > Sönke Liebau
>>> > > >> > > > > >> > >> > Partner
>>> > > >> > > > > >> > >> > Tel. +49 179 7940878 <+49%20179%207940878>
>>> > > >> > > > > >> > >> > OpenCore GmbH & Co. KG - Thomas-Mann-Straße 8 -
>>> > 22880
>>> > > >> Wedel -
>>> > > >> > > > > >> Germany
>>> > > >> > > > > >> > >>
>>> > > >> > > > > >> > >
>>> > > >> > > > > >> > >
>>> > > >> > > > > >> > >
>>> > > >> > > > > >> > > --
>>> > > >> > > > > >> > > Sönke Liebau
>>> > > >> > > > > >> > > Partner
>>> > > >> > > > > >> > > Tel. +49 179 7940878 <+49%20179%207940878>
>>> > > >> > > > > >> > > OpenCore GmbH & Co. KG - Thomas-Mann-Straße 8 - 22880
>>> > Wedel
>>> > > >> -
>>> > > >> > > > > Germany
>>> > > >> > > > > >> > >
>>> > > >> > > > > >> >
>>> > > >> > > > > >> >
>>> > > >> > > > > >> >
>>> > > >> > > > > >> > --
>>> > > >> > > > > >> > Sönke Liebau
>>> > > >> > > > > >> > Partner
>>> > > >> > > > > >> > Tel. +49 179 7940878
>>> > > >> > > > > >> > OpenCore GmbH & Co. KG - Thomas-Mann-Straße 8 - 22880
>>> > Wedel -
>>> > > >> > > > Germany
>>> > > >> > > > > >> >
>>> > > >> > > > > >>
>>> > > >> > > > > >
>>> > > >> > > > > >
>>> > > >> > > > > >
>>> > > >> > > > > > --
>>> > > >> > > > > > Sönke Liebau
>>> > > >> > > > > > Partner
>>> > > >> > > > > > Tel. +49 179 7940878 <+49%20179%207940878>
>>> > > >> > > > > > OpenCore GmbH & Co. KG - Thomas-Mann-Straße 8 - 22880
>>> Wedel
>>> > -
>>> > > >> Germany
>>> > > >> > > > > >
>>> > > >> > > > >
>>> > > >> > > > >
>>> > > >> > > > >
>>> > > >> > > > > --
>>> > > >> > > > > Sönke Liebau
>>> > > >> > > > > Partner
>>> > > >> > > > > Tel. +49 179 7940878
>>> > > >> > > > > OpenCore GmbH & Co. KG - Thomas-Mann-Straße 8 - 22880 Wedel
>>> -
>>> > > >> Germany
>>> > > >> > > > >
>>> > > >> > > >
>>> > > >> > >
>>> > > >>
>>> > >
>>> > >
>>> > >
>>> > > --
>>> > > Sönke Liebau
>>> > > Partner
>>> > > Tel. +49 179 7940878
>>> > > OpenCore GmbH & Co. KG - Thomas-Mann-Straße 8 - 22880 Wedel - Germany
>>> >
>>>
>
>
>
> --
> Sönke Liebau
> Partner
> Tel. +49 179 7940878
> OpenCore GmbH & Co. KG - Thomas-Mann-Straße 8 - 22880 Wedel - Germany



-- 
Sönke Liebau
Partner
Tel. +49 179 7940878
OpenCore GmbH & Co. KG - Thomas-Mann-Straße 8 - 22880 Wedel - Germany

Reply via email to