[ / / / / / / / / / / / / / ] [ dir / animu / arepa / asmr / ausneets / pawsru / sonyeon / vg / wx ][Options][ watchlist ]

/tech/ - Technology

You can now write text to your AI-generated image at https://aiproto.com It is currently free to use for Proto members.
Email
Comment *
File
Select/drop/paste files here
Password (Randomized for file and post deletion; you may also set your own.)
* = required field[▶ Show post options & limits]
Confused? See the FAQ.
Expand all images

File (hide): 95a3754134ba00e⋯.png (63.21 KB, 300x250, 6:5, Kea-logo-300x250.png) (h) (u)

File (hide): 40e57465788c2c4⋯.png (112.83 KB, 890x972, 445:486, table.png) (h) (u)

File (hide): 7310149edcda267⋯.png (122 KB, 854x227, 854:227, cringe.png) (h) (u)

[–]

 No.964322>>964324 >>965174 >>965578 [Watch Thread][Show All Posts]

>Store leases and host reservations in a MySQL, PostgreSQL or Cassandra database rather than a text file

>Using Hooks, it is possible to control the assignment of options and even addresses from your own provisioning system

>For an example of how this can be used, see the FaceBook Kea Application

>We are building a library of commercially-licensed hooks applications to help support Kea development. These are distributed as source packages, but with an End User License Agreement that prohibits redistribution.

>Our Forensic Logging application works with Kea 1.1 and later versions and creates a separate log that may be useful for meeting law enforcement data retention requirements.

>Subscriber-only Features

>Use Kea if you are modernizing your infrastructure

>emoji in one of the quotes

where were you when DHCP got pozzed?

https://www.isc.org/kea/

 No.964324

>>964322 (OP)

>Over the years a number of additional software systems have either found a home at ISC or were created by ISC to better support the Internet’s infrastructure. ISC funded and developed the only complete DHCP implementation. As that implementation is now very mature, ISC has started developing a replacement DHCP server, Kea.


 No.964332>>964483

anyone remember the unix true file?


 No.964335

>As that implementation is now very mature

ISC DHCP is such a disaster that network devices choose dnsmasq in DHCP-only mode even when aimed at supporting thousands of clients.

>RESTful JSON API

They're just trolling, now.


 No.964479

muh radius

muh ldap

muh forens^W^WWTF?


 No.964483>>964495 >>964496 >>965174 >>965578 >>976706

File (hide): 95de201f59ec5be⋯.png (268.71 KB, 565x1511, 565:1511, PikeTrueRant.png) (h) (u)

>>964332

Pepperridge farm remembers


 No.964495>>965578 >>976771

>>964483

Rob Pike drank too much soylent. Having it be a C program makes more sense as it no longer requires having a shell loaded. So a login manager can handle things like shells set to /bin/true without wasting time spawning a shell just to load an empty file and return 0.

Shell is UNIX's cancer and it needs to be removed wherever it's found.


 No.964496>>964497

>>964483

>REEEEEEEEEE someone added a help text to a retarded hack to explains what the fuck kind of braindamage true is

>BLOOOOOOOOOOOOOOAT

UNIX was a mistake.

Rob Pike has never created anything of value.

Prove me wrong.

Protip: you can't


 No.964497>>964500

>>964496

>what the fuck kind of braindamage true is

true is a thing in programming too. It's not just a shell thing.


 No.964500>>964504

>>964497

>my retarded shell can't into boolean values

>lets fix it by spawning a process and using its exit code

UNIX was a mistake.

Rob Pike has never created anything of value.

Prove me wrong.

Protip: you can't


 No.964504>>964505

>>964500

>>my retarded shell can't into boolean values

but it can. true and false return boolean values.


 No.964505

>>964504

ok kiddo. you won.


 No.964549>>965757

File (hide): 38ddaf16a1630a6⋯.png (195.53 KB, 888x686, 444:343, wew.png) (h) (u)

Oh and they push this shite on the download page for good old DHCPD


 No.964554>>964559 >>964563 >>965578 >>965596

>>Store leases and host reservations in a MySQL, PostgreSQL or Cassandra database rather than a text file

>implying this isn't complete overkill for 99% of use cases


 No.964559

>>964554

get with the times, grandpa


 No.964563>>965155 >>977701

>>964554

>I want to implement a shitty database in a text file instead of a well tested alternative.


 No.965155>>965161

>>964563

>I want to run a whole cassandra db just for basic IP address assignment


 No.965161>>965162

>>965155

Just use SqLite.


 No.965162>>965168

>>965161

y tho?


 No.965168

>>965162

Because you don't have to have any extra operations burden and it is insanely well tested.


 No.965170>>965189

Sounds overengineered.


 No.965174>>965219 >>965374 >>976706

>>964322 (OP)

Now that's Web Scale™

>>964483


% file /usr/bin/true
/usr/bin/true: Mach-O 64-bit executable x86_64
%

It'd be easier to take him seriously if he hadn't become an irredeemable Machomo.


 No.965189>>976797

File (hide): e3c3f2d3b8cd73f⋯.jpg (162.18 KB, 1200x900, 4:3, M O D E R N.jpg) (h) (u)

>>965170

don't you understand, anon? this is the "modern" way of doing things. It's ""modern"" to have to run a database for a simple standard service instead of just using a text file. It's """Modern""" to integrate your infrastructure with (((Facebook))), goyim! It's """"Modern"""" to not do that icky Free Software thing and be Open Source. Locking certain features behind a restrictive licensing paywall is just part of business! It's """""MODERN""""" to retain data to give it to your friendly neighborhood CIAnigger. It's """"""MODERN"""""" to have a subscription model and support contracts for a DHCP daemon. It's """""""MODERN""""""" to have emojis because emojis are so cool and trendy WOOO IM A MODERN ADMIN WHERES MY SOYLENT?!?


 No.965219

>>965174

DHCP is basically a webscale protocol in the first place.

>>>/r/programmingcirclejerk/ :^)


 No.965374

>>965174

>taking rob bike seriously


 No.965578>>977123

>>964322 (OP)

DHCP is a protocol defined by RFCs. ISC DHCPD and Kea are "Unix network-related software" written in the UNIX languages C and C++. DHCPD is a great example of how much C sucks. It has its own memory manager with its own strings because C's suck. Its configuration file has its own expression evaluation language. It uses a text file as a log-structured database because that's the UNIX way. None of this bullshit has anything to do with the DHCP protocol itself and there is other DHCP software.

https://www.isc.org/wp-content/uploads/2017/08/dhcp41conf.html

https://www.isc.org/wp-content/uploads/2017/08/dhcp41eval.html

https://www.isc.org/wp-content/uploads/2017/08/dhcp41leases.html

>>Store leases and host reservations in a MySQL, PostgreSQL or Cassandra database rather than a text file

An SQL database is a better choice for a database than a text file. Weenies use "shell script database programs" with text files and all that bullshit.

>>964483

>The command moved to /usr/bin/true. I don't know when, where and especially why.

AT&T's PDP-11 ran out of disk space.

>>964495

>Having it be a C program makes more sense as it no longer requires having a shell loaded. So a login manager can handle things like shells set to /bin/true without wasting time spawning a shell just to load an empty file and return 0.

If UNIX was modular, they would be able to specify a lack of shell without that bullshit. They probably assumed every user was going to be logged into the PDP-11 and typing at a terminal, so they never bothered.

>>964554

DHCPD lease file already is a database.

>The lease file is a log-structured file - whenever a lease changes, the contents of that lease are written to the end of the file. This means that it is entirely possible and quite reasonable for there to be two or more declarations of the same lease in the lease file at the same time. In that case, the instance of that particular lease that appears last in the file is the one that is in effect.

This statement is automatically added to the top of new lease files by
the server. It indicates the internal byte order of the server. This
permits lease files generated on a server with one form of byte order
to be read by a server with a different form. Lease files which do not
contain this entry are simply treated as having the same byte order as
the server reading them. If you are migrating lease files generated
by a server that predates this statement and is of a different byte
order than the your destination server, you can manually add this
statement. It must proceed any lease entries. Valid values for this
parameter are little-endian and big-endian.

I thought these lease files were "plain text." Why does plain text depend on byte order?

You speak of 'Un*x' as if was some complete and well formed
entity, particularly when it comes to networking (which was
only glommed on in recent history).

I just loved that what AT*T sold as the "Basic Networking
Utilities" package was UUCP! Basic Networking, yeah right.
For g*ds sake, RFC1 is dated 1969, before Un*x was even
starting taking up disk space.

Funny thing about your subject line is that

who am i | sed 's/\!.*//'

is almost certainly the most portable command line to return
the current hostname!!

That's why we have C -- a language designed to make every
machine emulate a PDP-11. That's why we have a file system
that forces every file to be viewed as a sequence of bytes
(after all, that's what they are, right?). That's why
"protocols" depend on byte-order.

They have never separated the program from the machine. It
never entered their tiny, pocket-protectored with a
calculator-hanging-from-the-belt mind.


 No.965596>>977565

>>964554

>>implying this isn't complete overkill for 99% of use cases

I can think of a couple of use cases where managing dhcp records and leases in a database makes sense. Think of organisations with large numbers of devices which need to be under tight control but also managed by staff with little privileges, or by web interfaces. Universities, companies, datacentres...>>964554


 No.965673>>965715

What's wrong with openbsd's dhcpd?

nothing

Binary lease files are garbage just like binary log files are garbage.


 No.965715

>>965673

It's a stripped version of ISC dhcpd. Unless I'm mistaken the lease file fills infinitely until the daemon is restarted. It lacks some features like ddns and the classless static routes option. Those are bloat though, I use it myself.


 No.965749

My isp dhcp is already pozzed. I can no longer IP jump without having to completely restart my wireless modem. I used to be able to with just disconnecting my network wan


 No.965757

>>964549

>ISC is developing a new DHCP server, Kea, which we intend to eventually replace ISC DHCP

Thanks for the heads up, I just migrated my config to OpenBSD's version.

If no glaring missing config option shows up, I'll be removing it.


 No.976513>>976539

This shit shines of NSA Project like a fullmoon on a deserted island.


 No.976539>>976578

>>976513

...how?

Because it's new?

Because you're too stupid to understand the use-cases?

Because you couldn't explain what DHCP stood for if you were pop quizzed on it?


 No.976578>>976617

>>976539

Dynamic Host Configuration Protocol

Now go fuck yourself, CIAnigger


 No.976617

>>976578

>if you were pop quizzed on it?

I wasn't asking you to quote Google, faggot


 No.976706

>>964483

>>965174


$ file /usr/bin/true
/usr/bin/true: POSIX shell script, ASCII text executable
$ cat /usr/bin/true
#! /bin/sh
exit 0
$ uname
NetBSD

benis


 No.976771

>>964495

in what world are you calling /bin/true without also loading a shell? Surely systemd is doing it via C and wouldn't call /bin/true, SysV are already spawning shell scripts.

It seems like you're creating an extremely rare use case.


 No.976797

>>965189

spot the difference


 No.977123

>>965578

>AT&T's PDP-11 ran out of disk space.

And the remedy was turning a zero-byte file into a C binary?


 No.977565

>>965596

Any of you ever run a large dynamic network? It's tiring to automate parsing a single massive file for reservations and bootp images or ranges. Dnsmasq was better than windows but those are it for Enterprise.


 No.977701>>977710 >>977712 >>977717

>>964563

>Using MySQL, PostgreSQL or Cassandra because you want a database

>not using sqlite, a smaller lighter database that has a superior test suite and more widespread deployment than any of the above three.


 No.977710>>977712 >>977725

>>977701

>sqlite

Lmao. Every time I see you Cfaggots suggesting sqlite just because it can be called from C it grinds my gears.


 No.977712>>977728

>>977710

Stop smoking SICP pages, >>977701

didn't mentioned C calls.


 No.977717>>977725

> Somebody releases a shitty commercial DHCP server

> This means "DHCP got pozzed"

Why do you have to be such sensationalist faggots? Not every shitty product needs a thread.

>>977701

Or you can just use odbc and let the end-user decide their database.


 No.977725>>977732

>>977710

It has nothing to do with C brainlet, there are sqlite bindings for every language under the sun. The reason sqlite should be used is because it's small and bullet proof. It can be statically linked with your application and doesn't require the installation of yet another service.

For an application like this there is no justification for asking the user to install some bullshit like MySQL.

>>977717

>Or you can just use odbc and let the end-user decide their database.

>let

you mean "make". The vast majority of users will not be pleased to learn they are expected to set up a database themselves instead of having the software just fucking work.


 No.977728

>>977712

Any scheme worth it's salt is going to have sqlite support.


 No.977732>>977740

>>977725

>you mean "make". The vast majority of users will not be pleased to learn they are expected to set up a database themselves instead of having the software just fucking work.

No, I mean "let". A configurable system that uses sane defaults is a thing. It would be trivial to package a sqlite ODBC driver and default to it when the user doesn't override it with their own.

Don't be retarded. Having something configurable doesn't have to mean that the user is forced to configure it or it doesn't work.


 No.977740>>977743

>>977732

>No, I mean "let". A configurable system that uses sane defaults is a thing

No, make. Because in order to install software that's using bullshit like mysql instead of sqlite, the user must first install mysql. Giving the user the option between mysql, postgress, or any other database they want is still making the user choose one of them.

>t would be trivial to package a sqlite ODBC driver and default to it when the user doesn't override it with their own.

And yet that's not done, nor what you proposed originally before confronted over the UX disaster you were recommending.

If we accept the premise that plain text files are no longer adaquate, there is still no legitimate reason a DHCP server would need anything more than sqlite.


 No.977743>>977777

>>977740

I honestly can't decipher what you are trying to argue. I suggested using ODBC, packaging a SQLite ODBC driver, and defaulting to a local SQLite database. No configuration out of the box, it just works, because it loads in SQLite and just runs with it. The user doesn't have to choose shit.

If you want to configure the server to use MySQL or Postegres, they override that setting, change the connection string to point to a local ODBC driver, and it works against that database instead.

How is this a "UX disaster"? What's such a disaster about using sane defaults that work out of the box and allowing the user to override them if they wish? That's what the vast majority of servers of every kind already do.

> there is still no legitimate reason a DHCP server would need anything more than sqlite

There are legitimate reasons if the DHCP server is being used in a corporate environment and needs to activate auditing hooks in the database, or if the DHCP needs to work against a RADIUS server for accounting purposes.

What is the problem with what I'm suggesting? Out of the box, it is exactly the same as just using SQLite and being done with it. It only is more work and complication if the user chooses to configure it. What's the specific downside? How, specifically, is a configuration option that doesn't need to be set a "UX disaster"? I have a strong suspicion that you aren't a programmer nor a sysadmin and don't actually know what you're talking about.


 No.977777>>977782

>>977743

Because every additional configuration option is another code path to build, test, and support indefinitely. This can quickly grow to become unmanageable and spiral out of control. Offering a single, well-tested configuration that's guaranteed to work avoids the inevitable disappointment and brand damage that comes from users expecting arbitrarily complex custom configurations to "just work" out of the box -- definitely a UX disaster. Anyway, if you need a feature, you can always submit a patch or fork, that's the beauty of Open Source.


 No.977782

>>977777

It's an ODBC connection string. You're overselling how much complexity is there. Programming against ODBC isn't a hell of a lot more complex than programming against SQLite, and it would be about the same amount of code to test. You don't have to test every driver that the users might want to use, just the ones you ship. You aren't responsible for user plugin failure.

And no thanks on submitting a patch. This isn't normal FOSS, it's a corporate product with an open core. I'm not donating my time and effort to make a corporate offering more appealing. I'll donate time and money to FOSS projects that are written by and for the public, or I'll work on a corporate product for pay. I'm not donating my time and money to develop a company's product for them.




[Return][Go to top][Catalog][Screencap][Nerve Center][Cancer][Update] ( Scroll to new posts) ( Auto) 5
50 replies | 4 images | Page ???
[Post a Reply]
[ / / / / / / / / / / / / / ] [ dir / animu / arepa / asmr / ausneets / pawsru / sonyeon / vg / wx ][ watchlist ]