►
From YouTube: Source Code Backend 06 June 2022
Description
No description was provided for this meeting.
If this is YOUR meeting, an easy way to fix this is to add a description to your video, wherever mtngs.io found it (probably YouTube).
B
I'm
always
happy
to
go
first.
I've
just
got
to
find
it
first.
B
C
A
C
So
actually
yeah,
as
I
mentioned
before
recently
I
was
just
tweaking
GitHub
fixing
like
smallpox,
or
maybe
some
metrics
issues.
So
nothing
interesting,
but
one
issue
for
example,
stands
out.
Is
it's
about
a
burton,
a
long
run
in
our
authenticated
connections?
Yeah,
for
example?
If
a
user
takes
too
long
to
authenticate
or
maybe
we
SSH
or
SSH,
then
the
connection
is
aborted
yeah
and
actually
there
are
some
security
reasons
for
this.
One
yeah,
it's
like
potentially
user-
can,
for
example,
run
a
lot
of
connections.
A
Just
one
moment,
can
you
please
link
the
the
amount
or
or
share
your
screen
or
both
so.
C
C
So
basically,
there's
opening
stage
option,
which
is
called
a
login
Grace
time,
and
the
description
is
that
server
disconnect
after
this
time,
if
the
user
hasn't
successfully
logged
in
why
it
can
happen,
for
example,
long
enough
yeah
when
SSH
protocol
performs
the
handshakes
yeah,
it's
like
two.
Fourth,
two
of
course
like
communication
with
the
user
yeah,
for
example,
SSH
keys
are
negotiated,
algorithms
for
for
this
case,
I
negotiated
yeah
and,
for
example,
when
the
user
creates,
creates
a
sage
key,
for
example
like
no.
C
A
C
It's
it's
about
it's
about
generating.
D
C
Shk,
it's
like
you
can
generate
an
SSH
key
with
a
particular
algorithm
yeah,
like
error,
say
or
or
like
okay
I,
don't
know
whether
they
chose
situations.
C
We
don't
have
it
in
them,
documentation
yet,
but
I
plan
to
do
it
retrospectively.
But,
for
example,
almost
all
of
these
algorithms
we
accept,
except
this
one
yeah.
It
was
duplicated
to
learn
and
go
maybe
a
couple
of
years
ago,
and
now
we
literally
forbid
it
yeah
and
this
algorithms
are
usually
used.
C
Yes,
and
this
one
s
k
means
like
security,
key
it's
about
UB,
key
physical
device
that
allows
you
to
authenticate
this
one
I
remember
this
one:
where
gifted
on
the
first
contribute
in
I
mean
I
mean
not
the
first,
my
first
contribute
and
first
and
only
in
New
Orleans
yeah,
there
was
a
gift
present
from
the
company
and
I
I
lost
it
in
in
the
hotel
room.
D
C
Maybe
if
I
haven't
lost
it,
I
could
test
it.
I
could
have
tested,
but
I
couldn't
and
I
had
to
ask
yeah
people
team
members
from
access
group
to
to
test
it
for
us.
Yeah
I've
asked
so
just
it
yeah,
so
yeah.
We
with
this
comment
with
this
utility.
We
can
generate
a
SSH
key
pair.
It's
like
private
and
public
key,
so
yeah.
Where
can
we
have
a
look
which
algorithms
are?
Algorithms
are
supported?
C
It's
like
calling
a
stage
point
with
the
this
option:
yeah
it's
like
verbose,
yeah.
If
you
need
like
more
variables,
yeah,
you
provide
multiple
letters
V.
So
it's
like
this
comment.
It's
only
shows
like
debug
level,
one.
If,
if
we
provide
multiple
letters,
we
debug
level
two
debug
level,
three,
it's
like
more
more
information,
more
details,
and
so
this
option
helps
helps
us
to
like
that.
What
should
they
do?
C
Okay,
it
actually
doesn't
matter.
So
since
we
provided
a
passphrase
yeah,
the
handshake
can
can,
and
so
the
connection
can
take
as
long
as
it
can
yeah
and
for
security
reasons,
and
and
also
for
cleanup
reasons.
We
want
to
time
out
those
connections
and
actually
I've
the
current
default
setting
is
one
minute
yeah
60
seconds.
I
took
it
now,
it's
five
seconds
luckily,
and
we
received
this
error,
which
could
be
better
and
which
couldn't
contain
their
like
address
my
address,
but
actually
in
the
locks.
C
I
I
see
that
sometimes
this
timeout
is
hit.
It's
not
like
a
huge
number,
but
still
still,
it
cleans
up
like
ideal
connections
and
yeah
for
security
reason.
A
user
account,
for
example,
initiate
a
lot
of
anal
syndicated,
unauth,
educated
connections
and
waste
our
memory,
even
though
it's
like
low
low
consumption
and
regarding
the
implementation,
it
was
implemented
twice
because
I've
implemented
it
first
with
like
timers
in
Gold
language
yeah.
C
Basically,
it's
like
providing
a
function
which
is
executed
after
after
some
like
period
yeah,
and
this
spirit
is
configurable
and
if
actually
the
authentication
was
successful.
C
The
first
function
yeah,
it's
called
every
time
after
it's
called
every
when
the
function
is
complete,
the
fair
function
is
called
yeah,
and
so,
when
we
successfully
authenticate,
we
stop
the
timer.
So
the
logic
is:
if
we
successfully
authenticate
the
timer
is
stopped.
If
we
didn't,
this
function
is
called
yeah
and
usually
such
functionality.
It's
usually
performed
with
the
contexts.
Yeah
or
Angola
go
language
yeah.
It
has
like
context,
mechanisms
yeah
and
it's
actually
the
best
practices
to
provide
context,
but
SSH
external
Library.
C
It
didn't
accept
context,
so
we
had
to
be
creative
and,
like
close
the
connection,
and
when
the
connection
is
closed,
then
this
the
execution
is
interrupted.
So
why
I
have
reverted
this
implementation
because
we
had
like
an
issue
with
canceled
requests
and
I
was
debugging.
This
issue
and
I
didn't
know
what
is
the
reason
yeah
so
I
thought,
maybe
I
didn't
know
something
about
go
language
timers
and
some
and
some
timers
were
leaked,
yeah
and
just
closed.
The
connection
and
I
didn't
know.
Why?
C
Actually
that
wasn't
that
wasn't
the
reason
yeah
but
I
rewritted
it
and
then
decided
to
re-implement
it
when
we've
actually
realized
what
was
the
reason
of
canceled
connections
and
when
the
second
implementation
was
provided.
I'm
noticed
that
actually
the
the
connection
interface
yeah,
it
provides
an
implementation
of
set
deadline
function.
So
we
could
just
set
the
deadline
of
a
particular
connection,
so
the
current
implementation
is
that
the
deadline
is
set
for
connection
and
when
the
and
when
we
have
like
sorry
I
forgot
where
it
is:
okay,
I,
don't
see
it.
I'm.
C
Sorry
yeah
here
sorry
yeah.
When
we
have
like
successful
authentication,
the
deadline
is
reset.
It's
like
set
to
zero,
and
now
the
connection
can
be
authenticated.
Connection
would
be
or
can
be
as
long
as
As
It
wishes.
So
this.
A
Is
this
is
built
into
the
con
function
and
it
basically
performs
the
same
function
as
what
you're
doing
yeah.
C
It's
the
same
functionality
but
like
here,
where
your
light
rely
on
their
like
standard
Library
implementation.
We
don't
Implement,
implement
it
on
our
own,
so
it's
like
more
reliable
yeah.
So
that's
pretty
it
and
yeah
yeah.
Something
like
this-
and
maybe
you
just
want
interesting
part-
is
that
it's
about
the
sterilization-
and
maybe
it's
not
so
interesting,
I'm,
sorry!
So
so
maybe
we
can
skip
it
but
yeah,
that's
that's
it.
I!
Guess!
Yeah.
D
C
Yeah
and
I'm
sorry
interrupted.
Oh.
D
Yeah
I
just
wanted
to
ask
you.
You
mentioned
that
it
was
not
clear
what
was
the
reason
of
this,
like
canceled
request
and
after
the
implementation,
it
I
believe
it's
result.
So
I'm
curious.
What
was
actually
the
reason?
Was
it
the
problem.
C
Yeah
the
problem
was
in
another
place,
yeah,
and
maybe
it's
a
topic.
Maybe
let's
discuss
it,
discuss
it
next
time,
I
I'll
prepare
like
an
explanation
because
yeah
it's
like
requires
an
explanation
of
why
we
had
a
particular
problem
and
how
we
resolved
it
yeah
I
would
we
will
be
happy
to
yeah,
discuss
it
next
time,
yeah
and
again
the
defer
functions
yeah.
Actually,
why
it's?
Why
it's
useful,
because
yeah
we
could
just
yeah.
C
Let
me
have
a
look,
for
example
at
this
one
yeah
well
actually
yeah.
If
we
just
to
call
this
this
block
after
this,
this
call
yeah
that
would
be
sufficient
yeah
on
the
on
the
first,
the
first
glance
yeah,
but
why
it's
useful
to
do
it
like
this?
C
So
maybe
for
some
particular
cases
that
this
function
is
called
No
matter,
whether
the
execution
was
successful
or
not,
because
we
could
have,
we
could
have
multiple
returns
in
the
function
yeah
and
after
each
like
wherever
the
function
exited
this
defer
function
is
is
called
so
we
we
don't
have
to
call
this
this
block
after
each
return
in
the
in
the
function.
C
So
that's
actually
useful
in
this
case
yeah,
maybe
maybe
it
would
be
I
I
recalled
where
we
have
like
a
better
use
case
for
this
one,
for
example,
this
Long
Long
Function
yeah.
We
have
like
multiple
returns
here
like
and
and
here
yeah
at
least
two,
and
if
we
didn't
have
like
this
defer
concept,
we
we
had
to
call
like
this
block
every
time
after
the
return,
yeah
or
maybe
or
maybe
yeah
so.
C
Yeah
yeah
I
mean
return.
Function
is
called
only
once
yeah
so
because
yeah
and
yeah
after
any
of
this
return
calls
like
differ,
deferred
function
is
called
yeah
and
why
it's
actually
useful
here
that,
like
it's
about
this
Arrow
variable
yeah
yeah,
it's
it's
not
it's
like
not
instantiated
somewhere
in
the
function
body
yeah,
it's
like
initiated
in
here,
like
a
parameter.
So
it's
useful
because
we
can
modify
the
return,
return,
parameter,
yeah,
return
argument
so
before
before.
C
It's
actually
finally
returned
sounds
so
this
this
error.
It
appears
here
yeah
and
if
it's
not
new,
it's
like
we
can
perform
some
function,
or
maybe
we
can
even
modify
it.
If
it's
not
new,
we
can
make
it
nil
or
make
it
some
other
other
function.
So
if
you,
for
example,
we
can
we
want
to
modify
the
the
message,
for
example,
that
message
from
a
standard,
Library
yeah.
If
you
want
to
just
strip
this.
A
C
C
A
Got
Robert
waiting
so
yeah,
so
what
we'll
do
is
what
we'll
do
is
we'll
we'll
switch
to
Robert
now,
but
next
time
I
think
I'll
set
it
up
so
that
we
have
more
time.
But
thank
you
so
much.
That's
super
interesting
yeah.
B
Yeah
I
think
I've
fixed
mine.
Now
this
is
the
first
time
I've
tried
sharing
a
screen
on
this
laptop.
So
that's
why
it's
a
it
failed.
So
I
got
pulled
into
a
a
different
rapid
action,
which
was
one
of
the
sort
of
dumbest
problems
with
gitlab
that
I've
had
since
I've,
been
here
even
worse
than
the
avatars
breaking
one
of
the
controllers.
B
This
one
was
when
you
enable
group
level
IP
restrictions,
which
is
one
of
the
reasons
why
all
of
this
work
exists,
like
the
sshd.
All
of
this
sort
of
stuff
is
because
this
feature
exists.
That
I,
didn't
even
know
existed,
is
that
you
can
block
like
IP
addresses
from
accessing
group
level,
when
you
enable
that,
if
you
didn't
include
the
10.0.0.0
range
gitlab
itself
breaks
because
you,
whoever
implemented
it
originally
didn't
allow
for
the
other
parts
of
gitlab
connecting
to
itself
so
the.
B
But
the
thing
is
this
wasn't
very
obvious,
because
the
workaround
for
all
of
the
sshd
problems
was
to
allow
the
10
zero
zero
zero
range
so
that
without
the
proxy
protocol
stuff,
it
would
still
work
because
it
was
getting
the
10
IP
ranges
coming
through
the
through
the
load,
balances
and
stuff.
B
Apostrophe
demon
has
to
connect
back
through
the
application
to
fetch
the
artifacts
from
CI
runs
so
that
it
can
render
the
pages
so
the
moment
that
we
fixed
everything
else,
gitlab
Pages
would
no
longer
be
able
to
show
any
Pages,
which
I
thought
was
quite
special.
So
this
is
quite
a
simple
merge
request
to
fix
it.
That
was,
is
it's
kind
of
frustrating,
because
I
hate
doing
anything
that
involves
the
database
of
gitlab
because
it
just
takes
so
long.
So
it
has
an
extremely
boring
admin.
B
B
10.124.0.0
I
think
something
like
that,
and
then
it
just
ignores
all
of
the
group
level.
Ip
filtering.
So
it's
a
pretty
straightforward,
merge
request
in
a
lot
of
ways
adding
an
admin
setting
was
like
it's
not
ideal.
B
It's
got
a
text
limit
of
255
characters
because
I
couldn't
be
bothered
to
set
it
bigger,
but
that's
fine
for
the
moment
and
it
doesn't
really
cause
any
problems
so
I
mean
half
of
this
is
just
that,
but
the
actual
thankfully
I
think
the
Geo
guys
had
already
run
into
this
problem
in
the
past
in
a
similar
way.
So
I
was
able
to
copy
a
lot
of
their
work
and
I
copied
a
lot
of
the
Geo
stuff,
but
it
doesn't
do
anything
particularly
exciting.
B
What
it
does
do
is
validate
that
someone's
putting
correct
IP
addresses
using
the
essay
can
do
that
I
call
it
cider,
notation,
I,
don't
actually
supposed
to
pronounce
it
that
way.
Lots
of
admins
are
the
only
interesting
bit
in
it
really
is
here
where
you've
got
the
it.
Does
the
group?
Well,
let's
go
away
pop
that
thing.
B
This
bit
does
like
the
group
IP
check,
where
it's
checking.
If
the
IP
restriction
allows
the
current
address
and
all
I've
added
is
an
additional
one
that
if
the
previous
one
blocked,
it
would
then
check
it
against
the
globally
configured
stuff.
And
then
it's
just
got
a
simple
feature:
flag
behind
it
and
then
I
think
pretty
much.
Everything
else
is
irritating
spec
coverage
for
it,
which
I
believe
we
had
to
ignore
stuff.
B
We've
had
a
lot
of
problems
with
the
under
coverage
reports
and
things
like
that
recently,
where
they're
just
not
picking
stuff
up,
and
it
turns
out
that
they've
just
been
running
the
wrong
files,
sometimes
so,
there's
apparently
a
fixing
for
that
but
yeah.
B
So
the
fix
was
actually
remarkably
simple
and
it's
just
behind
a
feature
flag
at
the
moment
in
production
for
our
customer
who
had
this
problem
and
there
are
sort
of
future
changes
because
having
to
enable
it
per
group
like
in
a
feature
flag
or
whatever
is
kind
of
irritating,
and
it
turned
out
that
I'd
set
up
the
feature
flag
in
such
a
way
where
you
have
to
enable
it
for
every
subgroup
too.
B
So
for
them
who
have
5
000
groups
or
something
they
were
not
particularly
entertained
by
that
sorry
Sean,
you
click
the
raise
hand.
A
B
Enabled
globally
on.com
now
so
it's
enabled
for
all
groups,
because
originally
we
were
just
going
to
test
it,
but
as
it
turned
out
that
was
too
much
hassle,
so
okay
I
went
on
holiday
and
then
it
got
enabled
globally,
while
I
was
away.
So
it
was
perfect.
I
didn't
have
to
deal
with
anything.
Okay.
B
Maybe
it's
a
security
sort
of
concern,
so
potentially
we'll
add
a
checkbox
to
that
yeah.
It
was.
It
was
largely
a
very
uninteresting
merge
request
that
took
longer
than
it
should
have
done,
because
I
had
loads
of
spec
problems
and
stuff
like
that,
but
it
did
solve
the
problem
and
that's
the
only
merge
request
we
had
to
make
as
far
as
I
know,
for
the
rapid
action
I
don't
think
there
was
anything
else
in
it.
B
Actually,
we
did
a
load
of
testing
around
the
pages
stuff
and
it
turns
out
it
breaks
the
CI
as
well,
which
is
kind
of
fun,
so
essentially
turned
on
this
group
level
setting
and
it
just
broke
everything
of
no
like
you
could
do
the
commits
and
stuff,
but
you
couldn't
yeah,
you
can
run
CI
jobs
still
can't
do
that.
That's.
A
Still
the
case
yep
so
so
Robert
explaining
in
about
the
the
subgroups.
B
Yeah
so
as
it
turns
out
that
group,
when
you
use
a
group
as
the
subject
in
a
feature
flag,
it
is
very
specifically
that
group,
when
you're,
enabling
it
for
a
group,
it
won't
do
all
of
their
descendants
as
well,
so
for
the
customer
who
have
the
most
crazy
projects
and
group
set
up
I've
ever
come
across.
B
They
have
something
like
8.
000
has
ten
thousand
projects
or
something
like
this
like
repositories,
which
is
just
I,
mean
we
don't
even
have
a
thousand
I,
don't
think
at
GitHub.
So
it's
just
a
really
insane
number
and
they
have
the
same
problem
with
groups
as
it
turns
out.
So
that
was
something
that
was
interesting
to
learn,
though
thankfully
I
was
on
holiday
when
we
learned
it.
So
that
was
someone
else's
problem
to
fix
and.
B
They
just
enabled
it
globally
in
the
end,
because
it's
a
fairly
harmless
thing
as
well
like
the
IP
allow
listing,
was
already
broken
anyway,
so
it
wasn't
going
to
break
anything
worse.
B
B
To
me
it's
one
of
the
is
one
of
those
things
is
like
I
know
that
probably
this
customer
requested
it
and
that's
why
it
got
built,
but
there's
been
an
awful
lot
of
problems
off
the
back
of
it
that
would
have
been
sold
by
just
not
doing
it
in
the
first
place
and
saying
no,
we
can't
do
that,
but
yeah,
that's
not
something.
I
was
involved
in
so.
B
Or
something
you're
using
it,
yeah
yeah.
Is
it
like
if
you,
if
you
care
about
this
and
if
I
cared
about
this
like
oh
yeah,
I,
really
need
IP
restrictions,
I
would
do
the
self
hosted
install
where
I
have
full
control
over
my
network?
No,
don't
do
it,
oh,
like
in
a
really
bespoke
way
and
yeah,
it's
and
I
think
the
worst
part
of
this,
not
that
it
exists
in
the
first
place,
because
I
kind
of
get
it
even
if
I
wouldn't
have
done
it.
That
way
is
that
none
of
us
use
this.
B
So,
unlike
most
of
the
application
literally
no
one
at
gitlab
has
run
into
this
problem
because
we
don't
use
it
ourselves.
I
didn't
even
know
the
feature
existed
until
the
rapid
actions
popped
up.
It's
like!
Oh,
that's,
that's
curious
and
I.
Don't
really
know
I
mean
we
could
actually
do
this
at
gitlab
to
a
certain
degree,
but
it
it
does
like
just
to
make
sure
that
we
know
what's
going
on,
but
yeah.
A
B
B
The
biggest
takeaway,
though,
is
that
as
someone
who
had
to
do
it
about
10
to
20
times
putting
the
IP
address
ranges
in
that
list,
for
the
group
is
extremely
tedious.
You
can't
copy
paste
into
it.
You
have
to
add
them
individually,.
D
I
have
like
a
small
question,
just
trying
to
understand
this,
like
allowed
groups.
So
if
so,
we
have
like
some
Achilles
Like
on
group
level.
We
have
also
ipds
it's
like
a
new
feature
on
the,
like
instance
level,
and
they
kind
of
we
do
the
combination
of
both.
Let's
say,
if
I
access
the
group,
then
I
will
check
the
group
level
IP
allow
allow
list
and
also
the
instance,
one.
The
other
kind
of.
B
Yes,
that's
what
it
does
now.
Yeah
I
actually
thought
I'd
done
it
the
other
way
where
it
just
combined
the
two
but
I
figured.
Actually,
you
can
just
save
a
check
by
just
checking
if
it
fails
the
group
level
one
because
in
some
respects
like
it,
doesn't
really
matter.
If
the
group
level
one's
already
allowing
those
on
custom
installs
and
things
then
it'll
be
totally
fine,
so
yeah,
that's
that's
the
way
it
currently
works.
D
B
Yeah,
so
it's
sort
of
like
a
backup
in
case
you
break
something
because
in
theory,
I
I
was
worried
that
other
parts
of
the
application
could
break
too,
but
the
whole
way
that
the
I
like
this
listing,
like
my
merge
request,
doesn't
touch
it.
But
all
of
the
authorization
for
this
takes
place
in
one
of
the
policy
files
in
a
fairly
non-descript
place,
and
it
only
gets
called
on
certain
API
endpoints.
B
Oh,
so
the
reason
why
it
wasn't
at
work
like
it
doesn't
affect
Italy,
because
Italy's
API
endpoints
do
not
use
this
authorization
policy,
but
the
other
ones
do,
and
so
that
was
a
bit
of
a
weird
route,
trying
to
figure
out
where
it
even
happens
in
the
application
and
yeah.
So
I
went
for
the
the
easiest
change,
which
was
to
just
do
a
second
check
which
it
shouldn't
be
slow,
though,
because
the
it's
it's
pretty
much
just
a
regex
check
as
far
as
I
know
with
the
cider
notification
Library.
B
So
it's
not
it's
nothing
particularly
awful.
A
B
Yeah
and
it's
just
like
a
single
line,
it's
so
bizarre.
It
feels
like
this
should
be
some
sort
of
really
in-depth
feature
in
its
go
all
his
own
life.
But
now
it's
just
like
one
policy
thing
written
somewhere
in
the
middle
of
all
the
policy
files,
and
it
really
was
a
bit
obscure
to
find,
but
it
does
seem
to
work.
It
was
just
a
bit
bizarre.
Originally
we
were
thinking
of
just
excluding.
B
Like
the
gitlab
pages
endpoints
that
it
calls,
but
it
actually
does
call
the
API
specifically
to
get
these
artifacts
from
CI
jobs.
The
bigger
problem
is
that
the
CI
runners
use
public
IP
addresses
so
the
gear
lab
pages.
One
goes
through
the
internal
kubernetes
like
rooting
layer,
so
when
they
hit
the
Ruby
application,
their
IP
address
is
the
internal
one,
which
is
why
this
works,
but
the
gitlab
pages
not
get
elaborated.
B
The
CI
runners
go
through
the
public
API
through
the
load
balancer,
so
they
go
out
and
back
through
cloudflare,
so
they
use
their
public
IP
addresses,
and
so
that
is
still
broken.
If
you
enable
this,
the
expectation
is
that,
if
you're
a
customer
who
cares
about
this,
you
run
your
own
runners,
which
that
big
customer
does.
A
I
can
open
some
context
to
that
yeah.
So
the
reason
they're
going
through
cloud
Clear
is
is
because
of
DDOS
right
so
and
but
the
question
that
isn't
answered
is
to
is
why
can't
we
provide
a
list
of
our
gitlab
runner,
IPS
and
yeah
I.
B
Presume
because
they
change
quite
a
lot,
I
mean
you
could
automate
it.
So
that
might
be
something
for
the
runner
people
to
do
the
whole.
The
rapid
action
did
get
complicated
quite
fast
when
the
CIA
guys
got
involved
as
well,
because
what
someone
did
join
and
say,
oh
yeah,
this
is
by
design
it
should
break
it.
Is
that
no?
No,
it
shouldn't
I'm
not
going
to
argue
about
this.
B
It's
just
weird,
like
oh
yeah,
you
enable
this
feature
on
gitlab
and
gitlab's
broken
now
great
good
job
it
just
it
it's
bizarre,
even
if
it
on
some
level
does
make
sense
to
essentially
have
a
checkbox
that
just
it's
like.
Yes,
please
break
my
application.
B
I
don't
want
this
to
work
anymore,
enable
it's
quite
as
strange
strange
thing
to
have
so
the
CI
stuff
I
mean
the
CI
stuff
it
to
me
is
a
little
bit
bizarre
in
that
this
customer
doesn't
want
to
run
gitlab
self-hosted,
but
because
they
don't
want
to
do
that.
They've
got
this
weird
feature
and
then
they
have
to
self-host
all
their
runners.
A
Yeah,
just
can
you
just
clarify
about
the
ip6
and
4
you're
saying
if
you
have
ip6
you
have
to
also
put
in
before?
Oh.
B
Yeah,
so
this
is
kind
of
uncommon
I
think
I
have
a
very
nerdy
ISP
in
the
UK.
B
It's
run
by
like
techies
and
network
guys
so
I
have
both
my
own
static,
IP
address
in
like
an
ipv4
address
and
I
have
my
entire
own
IPv6
range,
so
I
have
like
48
000
IP
addresses
that
I'm
allowed
to
use
in
my
house
on
the
IPv6
range,
so
I
do
I,
don't
use
all
of
those,
but
you
know
you
do
use
IPv6
delegation,
and
so
all
of
my
home
network
have
ipv4
and
IPv6
addresses,
but
whether
it
works
or
not
depends
on
both
ends
of
the
system.
So
gitlab
does
support
IPv6
on
gearlab.com.
B
It
doesn't
necessarily
support
it
in
self-hosted
stuff.
So
when
I
was
testing
my
setup,
my
ipv4
address
was
showing
up
because
the
like
my
test
setup
would
only
pick
that
one
up
when
I
was
testing.
It
on.com,
which
supports
IPv6,
is
picking
up
my
IPv6
address.
But
when
you
go
to
Google,
it's
like
what's
my
IP,
it
just
gives
you
your
ipv4
address,
like
most
of
the
time
so
I
spend
about
two
hours
banging
my
head
against
the
law
as
to
why
the
thing
wasn't
working
it
turns
out.
A
Well,
the
world
of
ip6
is
just
mind-blowing.
It.
B
A
B
B
Either
of
them
yeah,
that's
what
I
ended
up
doing
I
actually
put
like
with
IPv6
there's
no
like
Nat,
so
so
there's
no
like
this
is
my
external
public
IP,
and
these
are
my
machines:
internal
IPS.
All
of
your
machines
have
essentially
a
public
IPv6
address:
okay,
they're,
just
not
publicly
accessible
they're,
like
descendants
of
it,
so
yeah.
The
whole
thing
was
just
like.
B
Why
did
I
do
this
to
myself,
but
it
was
useful
to
know
because
you
know
there
will
be
someone
else.
Like
me,
probably
someone
like
Nick,
who
does
this
for
fun
and
ends
up
with
a
really
confusing
IP
problem,
but
yeah
it's
that
yeah.
That
was
a
waste
of
like
two
hours
of
my
life,
not.
B
Think
the
only
other
guys
who
have
any
interest
in
it
in
gear
lab
I
think
are
in
the
the
distribution
team
and
stuff,
so
I
think
they've
they've
come
across
it
or
the
like
the
system,
admin
guys
but
yeah,
no
one,
no
one
uses
it,
but
we
do
technically
support
it.
So
it's.