Index: head/UIDs =================================================================== --- head/UIDs (revision 431779) +++ head/UIDs (revision 431780) @@ -1,950 +1,950 @@ # $FreeBSD$ # Please keep this file sorted by UID! # Please pick an empty slot when available and also consider base values from # /usr/src/etc/master.passwd operator:*:2:5::0:0:System &:/:/usr/sbin/nologin ftp:*:14:14::0:0:Anonymous FTP:/var/ftp:/nonexistent smmsp:*:25:25::0:0:Sendmail Submission User:/var/spool/clientmqueue:/usr/sbin/nologin bind:*:53:53::0:0:Bind Sandbox:/:/usr/sbin/nologin majordom:*:54:54::0:0:Majordomo Pseudo User:/usr/local/majordomo:/nonexistent rdfdb:*:55:55::0:0:rdfDB Daemon:/var/db/rdfdb:/bin/sh spamd:*:58:58::0:0:SpamAssassin user:/var/spool/spamd:/usr/sbin/nologin unbound:*:59:59::0:0:Unbound DNS Resolver:/nonexistent:/usr/sbin/nologin cyrus:*:60:60::0:0:the cyrus mail server:/nonexistent:/nonexistent gnats:*:61:1::0:0:GNATS database owner:/usr/local/share/gnats/gnats-db:/bin/sh proxy:*:62:62::0:0:Packet Filter pseudo-user:/nonexistent:/nonexistent uucp:*:66:66::0:0:UUCP pseudo-user:/var/spool/uucppublic:/usr/libexec/uucp/uucico xten:*:67:67::0:0:X-10 daemon:/usr/local/xten:/nonexistent pop:*:68:6::0:0:Post Office Owner (popper):/nonexistent:/usr/sbin/nologin wnn:*:69:7::0:0:Wnn:/nonexistent:/nonexistent pgsql:*:70:70::0:0:PostgreSQL pseudo-user:/usr/local/pgsql:/bin/sh oracle:*:71:71::0:0:Oracle:/usr/local/oracle7:/usr/sbin/nologin ircd:*:72:72::0:0:IRC daemon:/nonexistent:/nonexistent ircservices:*:73:73::0:0:IRC services:/nonexistent:/nonexistent simscan:*:74:74::0:0:Simscan User:/nonexistent:/usr/sbin/nologin ifmail:*:75:66::0:0:Ifmail user:/nonexistent:/nonexistent hybserv:*:76:76::0:0:HybServ Daemon:/nonexistent:/usr/sbin/nologin auditdistd:*:78:77::0:0:Auditdistd unprivileged user:/var/empty:/usr/sbin/nologin virtuoso:*:79:79::0:0:Virtuoso Universal Server:/usr/local/virtuoso:/bin/sh www:*:80:80::0:0:World Wide Web Owner:/nonexistent:/usr/sbin/nologin alias:*:81:81::0:0:QMail user:/var/qmail/alias:/nonexistent qmaild:*:82:81::0:0:QMail user:/var/qmail:/nonexistent qmaill:*:83:81::0:0:QMail user:/var/qmail:/nonexistent qmailp:*:84:81::0:0:QMail user:/var/qmail:/nonexistent qmailq:*:85:82::0:0:QMail user:/var/qmail:/nonexistent qmailr:*:86:82::0:0:QMail user:/var/qmail:/nonexistent qmails:*:87:82::0:0:QMail user:/var/qmail:/nonexistent mysql:*:88:88::0:0:MySQL Daemon:/var/db/mysql:/usr/sbin/nologin vpopmail:*:89:89::0:0:VPop Mail User:/usr/local/vpopmail:/nonexistent firebird:*:90:90::0:0:Firebird Database Administrator:/var/db/firebird:/bin/sh mailman:*:91:91::0:0:Mailman User:/usr/local/mailman:/usr/sbin/nologin gdm:*:92:92::0:0:GNOME Display Manager:/usr/local/etc/gdm/home:/usr/sbin/nologin jabber:*:93:93::0:0:Jabber Daemon:/nonexistent:/nonexistent p4admin:*:94:94::0:0:Perforce admin:/nonexistent:/usr/sbin/nologin interch:*:95:95::0:0:Interchange user:/usr/local/interchange:/usr/sbin/nologin squeuer:*:96:96::0:0:SQueuer Owner:/nonexistent:/bin/sh mud:*:97:97::0:0:MUD Owner:/nonexistent:/bin/sh msql:*:98:98::0:0:mSQL-2 pseudo-user:/var/db/msqldb:/bin/sh rscsi:*:99:99::0:0:Remote SCSI:/usr/local/rscsi:/usr/local/sbin/rscsi squid:*:100:100::0:0:squid caching-proxy pseudo user:/var/squid:/usr/sbin/nologin quagga:*:101:101::0:0:Quagga route daemon pseudo user:/var/empty:/usr/sbin/nologin ganglia:*:102:102::0:0:Ganglia User:/nonexistent:/usr/sbin/nologin sgeadmin:*:103:103::0:0:Sun Grid Engine Admin:/nonexistent:/usr/sbin/nologin slimserv:*:104:104::0:0:Slim Devices SlimServer pseudo-user:/nonexistent:/usr/sbin/nologin dnetc:*:105:105::0:0:distributed.net client and proxy pseudo-user:/nonexistent:/usr/sbin/nologin clamav:*:106:106::0:0:Clamav Antivirus:/nonexistent:/usr/sbin/nologin cacti:*:107:107::0:0:Cacti Sandbox:/nonexistent:/usr/sbin/nologin webkit:*:108:108::0:0:WebKit Default User:/usr/local/www/webkit:/bin/sh quickml:*:109:109::0:0:quickml Server:/nonexistent:/usr/sbin/nologin vscan:*:110:110::0:0:Scanning Virus Account:/var/maiad:/bin/sh fido:*:111:111::0:0:Fido System:/usr/local/fido:/bin/sh dcc:*:112:112::0:0:Distributed Checksum Clearinghouse:/nonexistent:/usr/sbin/nologin amavis:*:113:113::0:0:Amavis-stats Account:/nonexistent:/usr/sbin/nologin dhis:*:114:114::0:0:DHIS Daemon:/nonexistent:/usr/sbin/nologin _symon:*:115:115::0:0:Symon Account:/var/empty:/usr/sbin/nologin hplip:*:116:116::0:0:HPLIP Server:/nonexistent:/usr/sbin/nologin smokeping:*:117:117::0:0:SmokePing Daemon:/nonexistent:/usr/sbin/nologin ircproxyd:*:118:118::0:0:Night Light IRC Proxy:/nonexistent:/usr/sbin/nologin mythtv:*:119:119::0:0:MythTV pseudo-user:/nonexistent:/bin/sh pdns_recursor:*:120:120::0:0:pdns_recursor pseudo-user:/nonexistent:/usr/sbin/nologin otrs:*:121:121::0:0:OTRS Administrator:/usr/local/otrs:/bin/csh zabbix:*:122:122::0:0:Zabbix NMS:/nonexistent:/bin/sh _ntp:*:123:123::0:0:NTP Daemon:/var/empty:/usr/sbin/nologin fetchmail:*:124:124::0:0:Fetchmail mail-retrieval daemon:/nonexistent:/usr/sbin/nologin postfix:*:125:125::0:0:Postfix Mail System:/var/spool/postfix:/usr/sbin/nologin -# free: 126 +synapse:*:126:65534::0:0:Synapse Daemon:/nonexistent:/usr/sbin/nologin navcron:*:127:127::0:0:Network Administration Visualized:/usr/local/nav:/usr/sbin/nologin sd-agent:*:128:128::0:0:ServerDensity Agent:/nonexistent:/usr/sbin/nologin # free: 129 _bgpd:*:130:130::0:0:BGP Daemon:/var/empty:/usr/sbin/nologin _ospfd:*:131:131::0:0:OSPF Daemon:/var/empty:/usr/sbin/nologin _spamd:*:132:132::0:0:Spam Daemon:/var/empty:/usr/sbin/nologin freeradius:*:133:133::0:0:FreeRADIUS Daemon:/nonexistent:/usr/sbin/nologin undernet:*:134:134::0:0:Undernet ircu Daemon:/nonexistent:/usr/sbin/nologin rabbitmq:*:135:135::0:0:RabbitMQ:/var/db/rabbitmq:/usr/sbin/nologin dhcpd:*:136:136::0:0:ISC DHCP daemon:/nonexistent:/usr/sbin/nologin mpd:*:137:137::0:0:MusicPD pseudo-user:/var/mpd:/usr/sbin/nologin wolfpack:*:138:138::0:0:Wolfpack Empire Server:/usr/local/share/wolfpack:/usr/sbin/nologin shellinabox:*:139:139::0:0:Shell In A Box:/nonexistent:/usr/sbin/nologin amanda:*:140:140::0:0:Amanda Daemon:/var/db/amanda:/usr/sbin/nologin cricket:*:141:80::0:0:Cricket Monitoring User:/usr/local/cricket:/usr/sbin/nologin ladvd:*:142:142::0:0:Ladvd User:/var/empty:/usr/sbin/nologin dovecot:*:143:143::0:0:Dovecot User:/var/empty:/usr/sbin/nologin dovenull:*:144:144::0:0:Dovecot login User:/var/empty:/usr/sbin/nologin webcamd:*:145:145::0:0:Webcamd user:/var/empty:/usr/sbin/nologin ventrilo:*:146:146::0:0:& server:/usr/local/ventrilo-server:/usr/sbin/nologin kdm:*:147:147::0:0:KDE Display Manager:/nonexistent:/usr/sbin/nologin ipv6mon:*:148:148::0:0:IPv6 Address Monitoring Daemon:/nonexistent:/usr/sbin/nologin avenger:*:149:149::0:0:Mail Avenger:/var/spool/avenger:/usr/sbin/nologin cbsd:*:150:150::0:0:Cbsd user:/nonexistent:/bin/sh pop3vscan:*:151:6::0:0:POP3VScan Daemon:/var/spool/pop3vscan:/usr/sbin/nologin iog:*:152:80::0:0:iog Monitoring Owner:/usr/local/iog:/usr/sbin/nologin rbldns:*:153:153::0:0:rbldnsd pseudo-user:/nonexistent:/usr/sbin/nologin trircd:*:154:154::0:0:& user:/usr/local/etc/tr-ircd:/usr/sbin/nologin # free: 155 monetdb:*:156:156::0:0:MonetDB user:/usr/local/monetdb5:/bin/sh barman:*:157:157::0:0:Barman user:/var/barman:/bin/sh pootle:*:158:158::0:0:Pootle User:/var/db/pootle:/usr/sbin/nologin nocat:*:159:159::0:0:NoCat Daemon:/libexec/nocat:/sbin/nologin _ypldap:*:160:160::0:0:YP Ldap unprivileged user:/var/empty:/usr/sbin/nologin solr:*:161:161::0:0:Apache Solr System:/var/db/solr:/usr/sbin/nologin octoprint:*:162:162::0:0:OctoPrint Daemon:/usr/local/octoprint:/usr/sbin/nologin _iked:*:163:163::0:0:IKEv2 Daemon:/var/empty:/usr/sbin/nologin lightdm:*:164:164::0:0:Light Display Manager:/var/lib/lightdm-data:/usr/sbin/nologin # free: 165 # free: 166 # free: 167 # free: 168 # free: 169 tile38:*:170:170::0:0:Tile38 User:/var/db/tile38:/usr/sbin/nologin sfs:*:171:171::0:0:Self-Certifying File System:/nonexistent:/usr/sbin/nologin agk:*:172:172::0:0:AquaGateKeeper:/nonexistent:/nonexistent polipo:*:173:173::0:0:polipo web cache:/nonexistent:/usr/sbin/nologin flowtools:*:174:174::0:0:Flow-tools collector pseudo-user:/nonexistent:/usr/sbin/nologin twms:*:175:175::0:0:tWMS pseudo-user:/nonexistent:/usr/sbin/nologin mlvpn:*:176:176::0:0:mlVPN pseudo-user:/var/run/mlvpn:/usr/sbin/nologin _mdnsd:*:177:177::0:0:Multicast DNS Daemon:/var/empty:/usr/sbin/nologin otpw:*:178:178::0:0:OTPW pseudo-user:/var/lib/otpw:/usr/sbin/nologin gdnsd:*:179:179::0:0:gDNSd pseudo-user:/nonexistent:/usr/sbin/nologin # free: 180 nagios:*:181:181::0:0:Nagios pseudo-user:/var/spool/nagios:/usr/sbin/nologin noc:*:182:182::0:0:NOC pseudo-user:/usr/local/noc:/bin/sh icinga:*:183:183::0:0:Icinga pseudo-user:/var/spool/icinga:/usr/sbin/nologin dnscache:*:184:184::0:0:dnscache pseudo-user:/nonexistent:/usr/sbin/nologin tinydns:*:185:185::0:0:tinydns pseudo-user:/nonexistent:/usr/sbin/nologin dnslog:*:186:186::0:0:dnslog pseudo-user:/nonexistent:/usr/sbin/nologin swift:*:187:187::0:0:Swift daemon pseudo-user:/nonexistent:/usr/sbin/nologin netxms:*:188:188::0:0:netxms pseudo-user:/nonexistent:/usr/sbin/nologin leofs:*:189:189::0:0:LeoFS daemons pseudo-user:/var/db/leofs:/usr/sbin/nologin keystone:*:190:190::0:0:Keystone pseudo-user:/var/lib/keystone:/usr/sbin/nologin glance:*:191:191::0:0:Glance pseudo-user:/var/lib/glance:/usr/sbin/nologin moinmoin:*:192:192::0:0:MoinMoin User:/nonexistent:/usr/sbin/nologin cups:*:193:193::0:0:Cups Owner:/nonexistent:/usr/sbin/nologin saned:*:194:194::0:0:SANE Scanner Daemon:/nonexistent:/bin/sh radns:*:195:195::0:0:radns user:/nonexistent:/usr/sbin/nologin nova:*:196:196::0:0:Nova daemon pseudo-user:/var/lib/nova:/usr/sbin/nologin dq:*:197:197::0:0:dqcache user:/nonexistent:/usr/sbin/nologin horizon:*:198:198::0:0:Horizon pseudo-user:/var/lib/horizon:/usr/sbin/nologin mcserver:*:199:199::0:0:Minecraft Server:/nonexistent:/bin/sh sympa:*:200:200::0:0:Sympa Owner:/nonexistent:/usr/sbin/nologin privoxy:*:201:201::0:0:Privoxy proxy user:/nonexistent:/usr/sbin/nologin dspam:*:202:202::0:0:Dspam:/nonexistent:/usr/sbin/nologin cinder:*:203:203::0:0:Cinder daemon pseudo-user:/var/lib/cinder:/usr/sbin/nologin yate:*:204:204::0:0:Yate:/nonexistent:/usr/sbin/nologin gnugk:*:205:205::0:0:GNU GateKeeper pseudo-user:/nonexistent:/usr/sbin/nologin gini:*:206:206::0:0:& streaming server:/var/log/gini:/usr/sbin/nologin _mixminion:*:207:207::0:0:Mixminion server:/nonexistent:/usr/sbin/nologin _dnsdist:*:208:208::0:0:dnsdist user:/nonexistent:/usr/sbin/nologin gogs:*:209:209::0:0:gogs user:/var/db/gogs/home:/bin/sh shoutcast:*:210:210::0:0:Shoutcast sandbox:/nonexistent:/bin/sh git:*:211:211::0:0:gitosis user:/usr/local/git:/bin/sh hg:*:212:212::0:0:mercurial-server user:/usr/local/hg:/bin/sh drizzle:*:213:213::0:0:Drizzle daemon:/var/db/drizzle:/usr/sbin/nologin # free: 214 opendnssec:*:215:215::0:0:Opendnssec Pseudo User:/nonexistent:/usr/sbin/nologin nsd:*:216:216::0:0:NSD DNS Server:/nonexistent:/usr/sbin/nologin # free: 217 # free: 218 # free: 219 bs:*:220:220::0:0:Big Sister:/usr/local/bigsister:/bin/sh # free: 221 rtpproxy:*:222:222::0:0:& user:/nonexistent:/sbin/nologin # free: 223 # free: 224 postgrey:*:225:225::0:0:Postgrey Owner:/nonexistent:/usr/sbin/nologin sqlgrey:*:226:226::0:0:SQLgrey Owner:/nonexistent:/usr/sbin/nologin _hfm:*:227:227::0:0:hfm daemon:/nonexistent:/usr/sbin/nologin # free: 228 # free: 229 # free: 230 # free: 231 # free: 232 # free: 233 # free: 234 # free: 235 # free: 236 # free: 237 # free: 238 # free: 239 aprsd:*:240:240::0:0:aprsd:/nonexistent:/bin/sh tnc:*:241:241::0:0:aprsd:/nonexistent:/bin/sh prosody:*:242:242::0:0:Prosody Jabber Server:/nonexistent:/usr/sbin/nologin # free: 243 # free: 244 # free: 245 # free: 246 fcron:*:247:247::0:0:fcron pseudo-user:/nonexistent:/usr/sbin/nologin # free: 248 # free: 249 # free: 250 # free: 251 # free: 252 _adsuck:*:253:253::0:0:Adsuck ad blocking user:/nonexistent:/usr/sbin/nologin # free: 254 _i2pd:*:255:255::0:0:I2P daemon:/var/db/i2pd:/usr/sbin/nologin _tor:*:256:256::0:0:Tor anonymizing router:/var/db/tor:/usr/sbin/nologin _smtpd:*:257:257::0:0:OpenSMTPD:/var/empty:/usr/sbin/nologin _smtpq:*:258:258::0:0:OpenSMTPD queue user:/var/empty:/usr/sbin/nologin # free: 259 meta1s:*:260:260::0:0:MeTA1 SMTPS:/nonexistent:/usr/sbin/nologin meta1q:*:261:261::0:0:MeTA1 QMGR:/nonexistent:/usr/sbin/nologin meta1c:*:262:262::0:0:MeTA1 SMTPC:/nonexistent:/usr/sbin/nologin meta1m:*:263:263::0:0:MeTA1 misc:/nonexistent:/usr/sbin/nologin meta1:*:264:264::0:0:MeTA1 other:/nonexistent:/usr/sbin/nologin # free: 265 # free: 266 # free: 267 # free: 268 # free: 269 # free: 270 # free: 271 # free: 272 # free: 273 # free: 274 hacluster:*:275:275::0:0:Heartbeat cluster user:/nonexistent:/usr/sbin/nologin frontbase:*:276:276::0:0:FrontBase Daemon:/usr/local/FrontBase/Databases:/bin/sh # free: 277 rtg:*:278:278::0:0:RTG daemon:/nonexistent:/usr/sbin/nologin mrtg:*:279:279::0:0:MRTG daemon:/nonexistent:/usr/sbin/nologin xymon:*:280:280::0:0:Xymon Monitor:/nonexistent:/usr/sbin/nologin prelude:*:281:281::0:0:Prelude user:/nonexistent:/usr/sbin/nologin spread:*:282:282::0:0:Spread user:/nonexistent:/usr/sbin/nologin devmon:*:283:283::0:0:devmon monitor:/nonexistent:/usr/sbin/nologin vnstat:*:284:284::0:0:vnStat Network Monitor:/nonexistent:/usr/sbin/nologin exaddos:*:285:285::0:0:exaddos daemon user:/nonexistent:/usr/sbin/nologin rancid:*:286:286::0:0:RANCID daemon user:/usr/local/var/rancid:/bin/sh # free: 287 ntopng:*:288:288::0:0:ntopng daemon user:/nonexistent:/usr/sbin/nologin # free: 289 # free: 290 # free: 291 # free: 292 # free: 293 # free: 294 # free: 295 # free: 296 # free: 297 # free: 298 # free: 299 backuppc:*:300:300::0:0:BackupPC pseudo-user:/nonexistent:/usr/sbin/nologin # free: 301 # free: 302 # free: 303 # free: 304 # free: 305 # free: 306 # free: 307 # free: 308 # free: 309 # free: 310 # free: 311 _sphinx:*:312:312::0:0:Sphinxsearch Owner:/nonexistent:/usr/sbin/nologin _fastdfs:*:313:313::0:0:FastDFS Owner:/nonexistent:/usr/sbin/nologin # free: 314 # free: 315 # free: 316 # free: 317 # free: 318 # free: 319 # free: 320 # free: 321 # free: 322 # free: 323 # free: 324 dkfilter:*:325:325::0:0:DK Filter Owner:/nonexistent:/usr/sbin/nologin smfs:*:326:326::0:0:SMFSAV Owner:/nonexistent:/usr/sbin/nologin # free: 327 # free: 328 # free: 329 orthanc:*:330:330::0:0:Orthanc Daemon:/nonexistent:/usr/sbin/nologin # free: 331 # free: 332 # free: 333 # free: 334 # free: 335 _pma:*:336:80::0:0:phpMyAdmin Owner:/nonexistent:/usr/sbin/nologin daapd:*:337:337::0:0:daapd User:/nonexistent:/usr/sbin/nologin murmur:*:338:338::0:0:& User:/nonexistent:/usr/sbin/nologin # free: 339 wildfire:*:340:340::0:0:Wildfire Daemon:/nonexistent:/usr/sbin/nologin stunnel:*:341:341::0:0:Stunnel Daemon:/nonexistent:/usr/sbin/nologin openfire:*:342:342::0:0:Openfire IM Daemon:/nonexistent:/usr/sbin/nologin # free: 343 # free: 344 # free: 345 # free: 346 # free: 347 # free: 348 # free: 349 _sabnzbd:*:350:350::0:0:sabnzb Daemon:/nonexistent:/usr/sbin/nologin sonarr:*:351:65534::0:0:Sonarr PVR:/nonexistent:/usr/sbin/nologin # free: 352 _iodined:*:353:353::0:0:Iodine Daemon:/nonexistent:/usr/sbin/nologin # free: 354 # free: 355 # free: 356 # free: 357 # free: 358 # free: 359 # free: 360 httptunnel:*:361:361::0:0:httptunnel Daemon:/nonexistent:/usr/sbin/nologin # free: 362 # free: 363 # free: 364 # free: 365 # free: 366 # free: 367 # free: 368 # free: 369 # free: 370 # free: 371 # free: 372 # free: 373 # free: 374 # free: 375 # free: 376 # free: 377 # free: 378 # free: 379 # free: 380 # free: 381 # free: 382 # free: 383 # free: 384 # free: 385 # free: 386 # free: 387 # free: 388 ldap:*:389:389::0:0:OpenLDAP Server:/nonexistent:/usr/sbin/nologin # free: 390 # free: 391 # free: 392 # free: 393 # free: 394 # free: 395 # free: 396 # free: 397 tiarra:*:398:398::0:0:Tiarra IRC Proxy:/nonexistent:/usr/sbin/nologin # free: 399 # free: 400 # free: 401 # free: 402 # free: 403 # free: 404 # free: 405 # free: 406 # free: 407 # free: 408 # free: 409 # free: 410 uhub:*:411:411::0:0:uHub ADC Daemon:/nonexistent:/usr/sbin/nologin # free: 412 # free: 413 # free: 414 # free: 415 # free: 416 # free: 417 # free: 418 # free: 419 oxidized:*:420:420::0:0:Oxidized Owner:/var/db/oxidized:/usr/sbin/nologin # free: 421 # free: 422 # free: 423 # free: 424 # free: 425 drweb:*:426:426::0:0:Dr.Web Mail Scanner:/nonexistent:/usr/sbin/nologin # free: 427 # free: 428 varnish:*:429:429::0:0:Varnish Cache User:/nonexistent:/usr/sbin/nologin varnishlog:*:430:429::0:0:Varnish Log User:/nonexistent:/usr/sbin/nologin # free: 431 # free: 432 # free: 433 # free: 434 # free: 435 # free: 436 # free: 437 # free: 438 # free: 439 # free: 440 # free: 441 quasselcore:*:442:442::0:0:Quassel IRC User:/nonexistent:/usr/sbin/nologin # free: 443 callweaver:*:444:444::0:0:Callweaver account:/var/lib/callweaver:/usr/sbin/nologin # free: 445 # free: 446 # free: 447 # free: 448 # free: 449 ecartis:*:450:450::0:0:Ecartis Listserver:/usr/local/ecartis:/usr/sbin/nologin # free: 451 # free: 452 # free: 453 # free: 454 # free: 455 # free: 456 # free: 457 # free: 458 # free: 459 # free: 460 # free: 461 # free: 462 # free: 463 # free: 464 courier:*:465:465::0:0:Courier Mail Server:/nonexistent:/usr/sbin/nologin condor:*:466:466::0:0:& user:/home/condor:/usr/sbin/nologin netmon:*:467:467::0:0:Network monitor account:/var/netmon:/usr/sbin/nologin slurm:*:468:468::0:0:SLURM Daemon:/nonexistent:/usr/sbin/nologin consul:*:469:469::0:0:Consul Daemon:/var/tmp/consul:/usr/sbin/nologin serf:*:470:470::0:0:Serf Daemon:/nonexistent:/usr/sbin/nologin vault:*:471:471::0:0:Vault Daemon:/nonexistent:/usr/sbin/nologin nomad:*:472:472::0:0:Nomad Daemon:/var/tmp/nomad:/usr/sbin/nologin # free: 473 # free: 474 # free: 475 # free: 476 # free: 477 prometheus:*:478:478::0:0:Prometheus Daemon:/var/tmp/prometheus:/usr/sbin/nologin # free: 479 # free: 480 # free: 481 # free: 482 # free: 483 # free: 484 # free: 485 # free: 486 # free: 487 # free: 488 # free: 489 # free: 490 # free: 491 # free: 492 # free: 493 # free: 494 # free: 495 # free: 496 # free: 497 # free: 498 # free: 499 # free: 500 # free: 501 # free: 502 # free: 503 # free: 504 _bbstored:*:505:505::0:0:Box Backup Store Daemon:/nonexistent:/usr/sbin/nologin radmind:*:506:506::0:0:radmind User:/var/radmind:/usr/sbin/nologin skkserv:*:507:507::0:0:skkserv User:/nonexistent:/usr/sbin/nologin # free: 508 # free: 509 # free: 510 # free: 511 pwhois:*:512:512::0:0:pwhoisd User:/nonexistent:/usr/sbin/nologin # free: 513 # free: 514 # free: 515 # free: 516 # free: 517 # free: 518 # free: 519 # free: 520 davmail:*:521:521::0:0:Davmail Exchange Gateway:/nonexistent:/usr/sbin/nologin nullmail:*:522:522::0:0:Nullmailer Mail System:/var/spool/nullmailer:/bin/sh freevo:*:523:523::0:0:Freevo User:/var/db/freevo:/bin/sh # free: 524 dkimproxy:*:525:525::0:0:DKIM Proxy Owner:/nonexistent:/usr/sbin/nologin # free: 526 # free: 527 # free: 528 # free: 529 # free: 530 # free: 531 # free: 532 # free: 533 pgbouncer:*:534:534::0:0:Pgbouncer Daemon:/nonexistent:/usr/sbin/nologin redis:*:535:535::0:0:Redis Daemon:/nonexistent:/usr/sbin/nologin # free: 536 # free: 537 # free: 538 # free: 539 # free: 540 # free: 541 _flowd:*:542:542::0:0:flowd privilege separation user:/var/empty:/usr/sbin/nologin ejabberd:*:543:543::0:0:ejabberd pseudo user:/var/spool/ejabberd:/bin/sh # free: 544 # free: 545 # free: 546 # free: 547 # free: 548 # free: 549 # free: 550 # free: 551 kresd:*:552:552::0:0:Knot DNS Resolver:/nonexistent:/usr/sbin/nologin knot:*:553:553::0:0:Knot DNS Server:/nonexistent:/usr/sbin/nologin qtss:*:554:554::0:0:Darwin Streaming Server:/nonexistent:/usr/sbin/nologin ircdru:*:555:555::0:0:Russian hybrid IRC server:/nonexistent:/bin/sh messagebus:*:556:556::0:0:D-BUS Daemon User:/nonexistent:/usr/sbin/nologin # free: 557 avahi:*:558:558::0:0:Avahi Daemon User:/nonexistent:/usr/sbin/nologin tacacs:*:559:559::0:0:TACACS+ Daemon User:/nonexistent:/usr/sbin/nologin haldaemon:*:560:560::0:0:HAL Daemon User:/nonexistent:/usr/sbin/nologin distcc:*:561:561::0:0:Distcc user:/nonexistent:/usr/sbin/nologin polkit:*:562:562::0:0:PolicyKit User:/nonexistent:/usr/sbin/nologin pulse:*:563:563::0:0:PulseAudio System User:/nonexistent:/usr/sbin/nologin # free: 564 polkitd:*:565:565::0:0:Polkit Daemon User:/var/empty:/usr/sbin/nologin # free: 566 # free: 567 # free: 568 # free: 569 # free: 570 # free: 571 # free: 572 # free: 573 # free: 574 nexus:*:575:575::0:0:Nexus Repository Manager OSS:/nonexistent:/usr/sbin/nologin # free: 576 # free: 577 # free: 578 # free: 579 # free: 580 # free: 581 # free: 582 # free: 583 # free: 584 # free: 585 # free: 586 assp:*:587:587::0:0:ASSP Anti-Spam Proxy:/var/db/assp:/usr/sbin/nologin avahi-autoipd:*:588:588::0:0:Avahi Autoipd Daemon user:/nonexistent:/usr/sbin/nologin # free: 589 # free: 590 # free: 591 # free: 592 # free: 593 # free: 594 # free: 595 # free: 596 # free: 597 # free: 598 # free: 599 _xsi:*:600:600::0:0:XMLSysInfo User:/nonexistent:/usr/sbin/nologin _tss:*:601:601:daemon:0:0:TrouSerS user:/var/empty:/usr/sbin/nologin _pkcs11:*:602:602:daemon:0:0:opencryptoki user:/var/empty:/usr/sbin/nologin # free: 603 # free: 604 # free: 605 # free: 606 # free: 607 # free: 608 # free: 609 freeswitch:*:610:610::0:0:Freeswitch user:/nonexistent:/usr/sbin/nologin # free: 611 # free: 612 # free: 613 # free: 614 ntpa:*:615:615::0:0:NTPa user:/nonexistent:/usr/sbin/nologin taskd:*:616:616::0:0:taskd user:/nonexistent:/usr/sbin/nologin # free: 617 # free: 618 # free: 619 # free: 620 # free: 621 # free: 622 # free: 623 # free: 624 # free: 625 # free: 626 # free: 627 # free: 628 # free: 629 # free: 630 # free: 631 # free: 632 # free: 633 # free: 634 # free: 635 _pla:*:636:80::0:0:phpLDAPAdmin Owner:/nonexistent:/usr/sbin/nologin # free: 637 # free: 638 caldavd:*:639:639::0:0:Caldavd user:/var/db/caldavd:/usr/sbin/nologin # free: 640 monkeysphere:*:641:641::0:0:Monkeysphere User:/var/monkeysphere:/usr/local/bin/bash # free: 642 # free: 643 # free: 644 # free: 645 # free: 646 # free: 647 # free: 648 # free: 649 # free: 650 # free: 651 # free: 652 # free: 653 # free: 654 # free: 655 # free: 656 # free: 657 # free: 658 # free: 659 # free: 660 # free: 661 # free: 662 # free: 663 # free: 664 # free: 665 aox:*:666:666::0:0:Archiveopteryx user:/nonexistent:/usr/sbin/nologin riak:*:667:667::0:0:Riak user:/usr/local/lib/riak:/bin/sh riakcs:*:668:667::0:0:Riak CS user:/usr/local/lib/riak-cs:/bin/sh stanchion:*:669:667::0:0:Stanchion user:/usr/local/lib/stanchion:/bin/sh # free: 670 # free: 671 # free: 672 # free: 673 # free: 674 # free: 675 # free: 676 # free: 677 # free: 678 # free: 679 # free: 680 # free: 681 # free: 682 # free: 683 # free: 684 # free: 685 # free: 686 # free: 687 # free: 688 # free: 689 # free: 690 # free: 691 # free: 692 # free: 693 # free: 694 # free: 695 # free: 696 # free: 697 # free: 698 # free: 699 bnetd:*:700:700::0:0:Bnetd user:/nonexistent:/usr/sbin/nologin fastnetmon:*:701:701::0:0:FastNetMon user:/nonexistent:/usr/sbin/nologin _sndio:*:702:702::0:0:sndio privsep:/var/empty:/usr/sbin/nologin # free: 703 # free: 704 # free: 705 # free: 706 # free: 707 # free: 708 # free: 709 # free: 710 # free: 711 # free: 712 # free: 713 # free: 714 # free: 715 # free: 716 bopm:*:717:717::0:0:Blitzed Open Proxy Monitor:/nonexistent:/bin/sh _dnscrypt-wrapper:*:718:65534::0:0:dnscrypt-wrapper user:/var/empty:/usr/sbin/nologin # free: 719 # free: 720 # free: 721 # free: 722 # free: 723 # free: 724 # free: 725 # free: 726 # free: 727 # free: 728 # free: 729 # free: 730 # free: 731 # free: 732 # free: 733 # free: 734 # free: 735 # free: 736 # free: 737 # free: 738 # free: 739 # free: 740 # free: 741 # free: 742 # free: 743 # free: 744 # free: 745 # free: 746 # free: 747 # free: 748 # free: 749 # free: 750 # free: 751 # free: 752 # free: 753 # free: 754 # free: 755 # free: 756 # free: 757 # free: 758 # free: 759 # free: 760 # free: 761 # free: 762 # free: 763 # free: 764 # free: 765 # free: 766 # free: 767 # free: 768 # free: 769 postgres:*:770:770::0:0:PostgreSQL Daemon:/var/db/postgres:/bin/sh # free: 771 # free: 772 # free: 773 # free: 774 # free: 775 # free: 776 openxpki:*:777:777::0:0:OpenXPKI Owner:/nonexistent:/usr/sbin/nologin # free: 778 bitcoin:*:779:779::0:0:bitcoin Daemon:/var/db/bitcoin:/usr/sbin/nologin zetacoin:*:780:780::0:0:ZetaCoin Daemon:/nonexistent:/usr/sbin/nologin # free: 781 # free: 782 # free: 783 # free: 784 # free: 785 # free: 786 # free: 787 # free: 788 # free: 789 # free: 790 # free: 791 # free: 792 # free: 793 # free: 794 # free: 795 # free: 796 # free: 797 # free: 798 # free: 799 # free: 800 # free: 801 # free: 802 # free: 803 # free: 804 # free: 805 # free: 806 # free: 807 # free: 808 # free: 809 # free: 810 # free: 811 foreman_proxy:*:812:812::0:0:Foreman Smart Proxy:/usr/local/share/foreman-proxy:/usr/sbin/nologin # free: 813 puppet:*:814:814::0:0:Puppet Daemon:/nonexistent:/usr/sbin/nologin uchiwa:*:815:815::0:0:Uchiwa Dashboard:/nonexistent:/usr/sbin/nologin # free: 816 btsync:*:817:817::0:0:BitTorrent Sync Daemon:/nonexistent:/usr/sbin/nologin jenkins:*:818:818::0:0:Jenkins CI:/usr/local/jenkins:/bin/sh rundeck:*:819:819::0:0:Rundeck:/usr/local/rundeck:/bin/sh openacs:*:820:820::0:0:OpenACS Daemon User:/nonexistent:/usr/sbin/nologin dotlrn:*:821:821::0:0:.LRN Daemon User:/nonexistent:/usr/sbin/nologin titus:*:822:65533::0:0:Titus Daemon User:/nonexistent:/usr/sbin/nologin titus-keys:*:823:65533::0:0:Titus Keyserver User:/nonexistent:/usr/sbin/nologin # free: 824 polw:*:825:825::0:0:Policyd-weight Cache Owner:/nonexistent:/sbin/nologin statsd:*:826:826::0:0:Statsd Daemon:/nonexistent:/sbin/nologin # free: 827 # free: 828 # free: 829 # free: 830 # free: 831 # free: 832 # free: 833 # free: 834 # free: 835 # free: 836 # free: 837 # free: 838 # free: 839 netdisco:*:840:840::0:0:netdisco daemon:/nonexistent:/usr/sbin/nologin tcpcryptd:*:841:841::0:0:tcpcrypt daemon:/nonexistent:/usr/sbin/nologin munin:*:842:842::0:0:Munin:/var/munin:/usr/sbin/nologin # free: 843 subsonic:*:844:844::0:0:Subsonic standalone-server:/nonexistent:/usr/sbin/nologin # free: 845 sogod:*:846:846::0:0:SOGo groupware:/nonexistent:/usr/sbin/nologin domoticz:*:847:847::0:0:domoticz user:/nonexistent:/usr/sbin/nologin graylog:*:848:848::0:0:Graylog user:/nonexistent:/usr/sbin/nologin # free: 849 # free: 850 # free: 851 # free: 852 # free: 853 # free: 854 # free: 855 # free: 856 # free: 857 # free: 858 # free: 859 # free: 860 # free: 861 # free: 862 # free: 863 # free: 864 # free: 865 # free: 866 # free: 867 # free: 868 # free: 869 # free: 870 # free: 871 # free: 872 # free: 873 # free: 874 # free: 875 # free: 876 # free: 877 # free: 878 # free: 879 # free: 880 # free: 881 # free: 882 # free: 883 # free: 884 # free: 885 # free: 886 # free: 887 # free: 888 # free: 889 # free: 890 # free: 891 # free: 892 # free: 893 # free: 894 # free: 895 istat:*:896:896::0:0:istatserver user:/nonexistent:/usr/sbin/nologin znc:*:897:897::0:0:ZNC User:/nonexistent:/usr/sbin/nologin ufdb:*:898:898::0:0:ufdb user:/nonexistent:/usr/sbin/nologin guacamole:*:899:899::0:0:Guacamole user:/nonexistent:/usr/sbin/nologin seafile:*:900:900::0:0:Seafile user:/nonexistent:/usr/bin/nologin fossy:*:901:901::0:0:FOSSology user:/usr/local/share/fossology:/usr/local/bin/bash scanlogd:*:902:902::0:0:scanlogd user:/nonexistent:/usr/sbin/nologin _ocserv:*:903:903::0:0:ocserv user:/nonexistent:/usr/sbin/nologin grafana:*:904:904::0:0:Grafana2:/nonexistent:/usr/bin/nologin artifactory:*:905:905::0:0:artifactory user:/nonexistent:/usr/sbin/nologin opentsdb:*:906:906::0:0:OpenTSDB Daemon:/var/empty:/usr/sbin/nologin influxd:*:907:907::0:0:InfluxDB Daemon:/var/empty:/usr/sbin/nologin riemann:*:908:908::0:0:Riemann User:/var/empty:/usr/sbin/nologin proxy65:*:909:909::0:0:Proxy65 Daemon:/nonexistent:/usr/sbin/nologin bacula:*:910:910::0:0:Bacula Daemon:/var/db/bacula:/usr/sbin/nologin iserv:*:911:911::0:0:Iserv Daemon:/nonexistent:/usr/sbin/nologin _sj3:*:912:912::0:0:SJ3 Daemon:/nonexistent:/usr/sbin/nologin _relayd:*:913:913::0:0:Relay Daemon:/var/empty:/usr/sbin/nologin bitlbee:*:914:914::0:0:Bitlbee pseudo-user:/var/db/bitlbee:/usr/sbin/nologin logcheck:*:915:915::0:0:Logcheck system account:/var/lib/logcheck:/usr/local/bin/bash # free: 916 _prayer:*:917:917::0:0:Prayer Account:/nonexistent:/usr/sbin/nologin nefu:*:918:918::0:0:Nefu daemon:/var/db/nefu:/usr/sbin/nologin couchdb:*:919:919::0:0:CouchDB Account:/var/empty:/usr/sbin/nologin vboxusers:*:920:920::0:0:Virtualbox user:/nonexistent:/usr/sbin/nologin transmission:*:921:921::0:0:Transmission Daemon User:/usr/local/etc/transmission/home:/usr/sbin/nologin mongodb:*:922:922::0:0:MongoDB pseudo-user:/var/db/mongodb:/usr/sbin/nologin liquidsoap:*:923:923::0:0:Liquidsoap User:/nonexistent:/usr/sbin/nologin postpals:*:924:924::0:0:postpals user:/nonexistent:/usr/sbin/nologin mfs:*:925:925::0:0:MooseFS User:/nonexistent:/usr/sbin/nologin minbif:*:926:926::0:0:Minbif Daemon User:/nonexistent:/usr/sbin/nologin kumofs:*:927:927::0:0:kumofs daemon:/nonexistent:/usr/sbin/nologin nslcd:*:928:928::0:0:nslcd daemon:/nonexistent:/usr/sbin/nologin activemq:*:929:929::0:0:ActiveMQ Daemon:/nonexistent:/usr/sbin/nologin ifgraph:*:930:930::0:0:ifGraph:/nonexistent:/usr/sbin/nologin asterisk:*:931:931::0:0:Asterisk User:/nonexistent:/usr/sbin/nologin sancp:*:932:932::0:0:SANCP Daemon:/var/log/sancp:/usr/sbin/nologin dlna:*:933:933::0:0:DLNA Daemon:/nonexistent:/usr/sbin/nologin torrus:*:934:934::0:0:torrus daemon:/nonexistent:/usr/sbin/nologin erlyvideo:*:935:935::0:0:erlyvideo user:/nonexistent:/usr/sbin/nologin crtmpserver:*:936:936::0:0:crtmpserver user:/nonexistent:/usr/sbin/nologin get_iplayer:*:937:937::0:0:get_iplayer user:/nonexistent:/usr/sbin/nologin vdr:*:938:938::0:0:vdr user:/nonexistent:/usr/sbin/nologin noip:*:939:939::0:0:noip user:/nonexistent:/usr/sbin/nologin _tcpproxy:*:940:940::0:0:tcpproxy user:/nonexistent:/usr/sbin/nologin cego:*:941:941::0:0:cego user:/usr/local/cego:/usr/sbin/nologin teamspeak:*:942:942::0:0:TeamSpeak user:/nonexistent:/usr/sbin/nologin dnetfold:*:943:943::0:0:& user:/nonexistent:/usr/sbin/nologin bbs:*:944:944::0:0:& user:/nonexistent:/usr/sbin/nologin dbxml:*:945:945::0:0:& user:/nonexistent:/usr/sbin/nologin mediatomb:*:946:946::0:0:Mediatomb UPnP AV MediaServer:/nonexistent:/usr/sbin/nologin mapred:*:947:955::0:0:Hadoop MapReduce user:/nonexistent:/usr/sbin/nologin dnrd:*:948:948::0:0:& user:/nonexistent:/usr/sbin/nologin _lldpd:*:949:949::0:0:lldpd user:/nonexistent:/usr/sbin/nologin couchpotato:*:950:65534::0:0:couchpotato user:/nonexistent:/usr/sbin/nologin openerpd:*:951:951::0:0:Openerpd user:/nonexistent:/usr/sbin/nologin bitten-slave:*:952:952:daemon:0:0:Bitten slave user:/var/lib/bitten-slave:/usr/sbin/nologin _neubot:*:953:953::0:0:neubot daemon:/nonexistent:/usr/sbin/nologin oops:*:954:65534::0:0:oops user:/nonexistent:/usr/sbin/nologin hdfs:*:955:955::0:0:Hadoop HDFS user:/nonexistent:/usr/sbin/nologin pandora:*:956:956::0:0:Pandora FMS user:/usr/local/etc/pandora/home:/usr/sbin/nologin razorback:*:957:957::0:0:Razorback user:/var/run/razorback:/usr/sbin/nologin gnunet:*:958:958::0:0:GNUnet daemon:/var/lib/gnunet:/usr/sbin/nologin c_icap:*:959:959::0:0:c-icap daemon:/var/empty:/usr/sbin/nologin trytond:*:960:960::0:0:trytond daemon:/var/empty:/usr/sbin/nologin gearmand:*:961:961::0:0:gearmand daemon:/var/empty:/usr/sbin/nologin zookeeper:*:962:962::0:0:zookeeper user:/nonexistent:/usr/sbin/nologin fluentd:*:963:963::0:0:fluentd user:/nonexistent:/usr/sbin/nologin git_daemon:*:964:964::0:0:git daemon:/nonexistent:/usr/sbin/nologin elasticsearch:*:965:965::0:0:elasticsearch user:/nonexistent:/usr/sbin/nologin ossec:*:966:966::0:0:OSSEC user:/usr/local/ossec-hids:/usr/sbin/nologin ossecm:*:967:966::0:0:OSSEC mail user:/usr/local/ossec-hids:/usr/sbin/nologin ossecr:*:968:966::0:0:OSSEC rem user:/usr/local/ossec-hids:/usr/sbin/nologin kippo:*:969:969::0:0:kippo user:/nonexistent:/usr/sbin/nologin colord:*:970:970::0:0:colord color management daemon:/nonexistent:/usr/sbin/nologin shibd:*:971:971::0:0:Shibboleth SAML daemon:/nonexistent:/usr/sbin/nologin plex:*:972:972::0:0:Plex Media Server:/nonexistent:/usr/sbin/nologin boinc:*:973:973::0:0:BOINC user:/var/db/boinc:/bin/sh radicale:*:974:974::0:0:Radicale daemon:/nonexistent:/usr/sbin/nologin unifi:*:975:975::0:0:Unifi Wireless Controller:/nonexistent:/usr/sbin/nologin minetest:*:976:976::0:0:& server:/nonexistent:/usr/sbin/nologin tests:*:977:65534::0:0:Unprivileged user for tests:/nonexistent:/usr/sbin/nologin _dnscrypt-proxy:*:978:65534::0:0:dnscrypt-proxy user:/var/empty:/usr/sbin/nologin ums:*:979:979::0:0:Universal Media Server:/nonexistent:/usr/sbin/nologin hbase:*:980:980::0:0:HBase user:/nonexistent:/usr/sbin/nologin uvncrep:*:981:981::0:0:UltraVNC Repeater daemon:/nonexistent:/usr/sbin/nologin bro:*:982:982::0:0:Bro Network Security Monitor:/nonexistent:/usr/sbin/nologin syncthing:*:983:983::0:0:Syncthing Daemon:/var/tmp/syncthing:/usr/sbin/nologin tvheadend:*:984:984::0:0:TV Headend:/usr/local/etc/tvheadend:/bin/sh puppetdb:*:985:985::0:0:PuppetDB Daemon pseudo-user:/nonexistent:/usr/sbin/nologin kamailio:*:986:986::0:0:kamailio daemon:/nonexistent:/usr/sbin/nologin spark:*:987:987::0:0:Apache Spark user:/nonexistent:/usr/sbin/nologin toxdht:*:988:65534::0:0:Tox DHT bootstrap user:/nonexistent:/usr/sbin/nologin emby:*:989:989::0:0:Emby:/nonexistent:/usr/sbin/nologin oozie:*:990:990::0:0:Apache Oozie user:/nonexistent:/usr/sbin/nologin sguil:*:991:991::0:0:Sguil:/nonexistent:/usr/sbin/nologin hive:*:992:992::0:0:Apache Hive user:/nonexistent:/usr/sbin/nologin kannel:*:993:993::0:0:Kannel User:/nonexistent:/usr/sbin/nologin rcynic:*:994:994::0:0:RPKI validation system:/nonexistent:/usr/sbin/nologin rpkirtr:*:995:995::0:0:RPKI router server:/nonexistent:/usr/sbin/nologin tarantool:*:996:996::0:0:Tarantool Daemon:/nonexistent:/usr/sbin/nologin bareos:*:997:997::0:0:Bareos Daemon:/var/db/bareos:/usr/sbin/nologin _rmilter:*:998:998::0:0:Rmilter daemon:/nonexistent:/usr/sbin/nologin ebnetd:*:999:999::0:0:EBNETD:/nonexistent:/usr/sbin/nologin # DO NOT USE: 1000-65533 nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/usr/sbin/nologin Index: head/net/py-matrix-synapse/Makefile =================================================================== --- head/net/py-matrix-synapse/Makefile (revision 431779) +++ head/net/py-matrix-synapse/Makefile (revision 431780) @@ -1,54 +1,76 @@ # Created by: Brendan Molloy # $FreeBSD$ PORTNAME= matrix-synapse DISTVERSIONPREFIX= v -DISTVERSION= 0.18.4 +DISTVERSION= 0.18.7 +PORTREVISION= 0 CATEGORIES= net python PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} -MAINTAINER= brendan+freebsd@bbqsrc.net +MAINTAINER= feld@FreeBSD.org COMMENT= Matrix protocol reference homeserver LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}frozendict>=0.5:devel/py-frozendict \ - ${PYTHON_PKGNAMEPREFIX}unpaddedbase64>=1.0.1:devel/py-unpaddedbase64 \ + ${PYTHON_PKGNAMEPREFIX}unpaddedbase64>=1.1.0:devel/py-unpaddedbase64 \ ${PYTHON_PKGNAMEPREFIX}canonicaljson>=1.0.0:devel/py-canonicaljson \ ${PYTHON_PKGNAMEPREFIX}signedjson>=1.0.0:security/py-signedjson \ ${PYTHON_PKGNAMEPREFIX}pynacl>=1.0.1:security/py-pynacl \ ${PYTHON_PKGNAMEPREFIX}service_identity>=16.0:security/py-service_identity \ ${PYTHON_PKGNAMEPREFIX}twisted>=16.6.0:devel/py-twisted \ ${PYTHON_PKGNAMEPREFIX}openssl>=16.0.0:security/py-openssl \ ${PYTHON_PKGNAMEPREFIX}yaml>=3.11:devel/py-yaml \ ${PYTHON_PKGNAMEPREFIX}pyasn1>=0.1.9:devel/py-pyasn1 \ ${PYTHON_PKGNAMEPREFIX}daemonize>=2.4.2:devel/py-daemonize \ ${PYTHON_PKGNAMEPREFIX}bcrypt>=0.4:security/py-bcrypt \ ${PYTHON_PKGNAMEPREFIX}pillow>=3.1.1:graphics/py-pillow \ ${PYTHON_PKGNAMEPREFIX}pydenticon>=0.2:devel/py-pydenticon \ ${PYTHON_PKGNAMEPREFIX}ujson>=1.35:devel/py-ujson \ ${PYTHON_PKGNAMEPREFIX}blist>=1.3.6:devel/py-blist \ ${PYTHON_PKGNAMEPREFIX}pysaml2>=4.0.2:security/py-pysaml2 \ ${PYTHON_PKGNAMEPREFIX}pymacaroons-pynacl>=0.9.3:security/py-pymacaroons-pynacl \ ${PYTHON_PKGNAMEPREFIX}simplejson>=3.10.0:devel/py-simplejson \ ${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3 \ - ${PYTHON_PKGNAMEPREFIX}matrix-angular-sdk>=0.6.6:devel/py-matrix-angular-sdk + ${PYTHON_PKGNAMEPREFIX}matrix-angular-sdk>=0.6.6:devel/py-matrix-angular-sdk \ + ${PYTHON_PKGNAMEPREFIX}msgpack-python>=0.3.0:devel/py-msgpack-python \ + ${LOCALBASE}/share/certs/ca-root-nss.crt:security/ca_root_nss TEST_DEPENDS= ${PYTHON_PKGNAMEPREFIX}virtualenv>=15.0:devel/py-virtualenv \ ${PYTHON_PKGNAMEPREFIX}tox>=2.3.1:devel/py-tox USES= python USE_GITHUB= yes USE_PYTHON= autoplist distutils GH_ACCOUNT= matrix-org GH_PROJECT= synapse +USE_RC_SUBR= synapse + +USERS= synapse + +DBDIR?= /var/db/${PORTNAME} +LOGDIR?= /var/log/${PORTNAME} +PIDDIR?= /var/run/${PORTNAME} + +SUB_FILES= pkg-message homeserver.yaml log.config +SUB_LIST+= PYTHON_CMD=${PYTHON_CMD} DBDIR=${DBDIR} LOGDIR=${LOGDIR} PIDDIR=${PIDDIR} USERS=${USERS} + +PLIST_FILES+= "@sample %%ETCDIR%%/homeserver.yaml.sample" +PLIST_FILES+= "@sample %%ETCDIR%%/log.config.sample" + NO_ARCH= yes do-test: # -epy27 added to skip running python packaging and other dist tests @(cd ${WRKSRC} && ${PYTHON_CMD} ${PYDISTUTILS_SETUP} ${TEST_TARGET} \ -a "-epy27") + +post-install: + ${MKDIR} ${STAGEDIR}${ETCDIR} + ${INSTALL_DATA} ${WRKDIR}/homeserver.yaml ${STAGEDIR}${ETCDIR}/homeserver.yaml.sample + ${INSTALL_DATA} ${WRKDIR}/log.config ${STAGEDIR}${ETCDIR}/log.config.sample .include Index: head/net/py-matrix-synapse/distinfo =================================================================== --- head/net/py-matrix-synapse/distinfo (revision 431779) +++ head/net/py-matrix-synapse/distinfo (revision 431780) @@ -1,3 +1,3 @@ -TIMESTAMP = 1480037052 -SHA256 (matrix-org-synapse-v0.18.4_GH0.tar.gz) = e0dc5517227e9591fa22f1723371f790999927131df3f5c7a7883578fefddff1 -SIZE (matrix-org-synapse-v0.18.4_GH0.tar.gz) = 731642 +TIMESTAMP = 1484684523 +SHA256 (matrix-org-synapse-v0.18.7_GH0.tar.gz) = 87bba87b0b70955387e5c621603ade7a2f2b1fec2788edbabd754fd10cf1078f +SIZE (matrix-org-synapse-v0.18.7_GH0.tar.gz) = 748100 Index: head/net/py-matrix-synapse/files/homeserver.yaml.in =================================================================== --- head/net/py-matrix-synapse/files/homeserver.yaml.in (nonexistent) +++ head/net/py-matrix-synapse/files/homeserver.yaml.in (revision 431780) @@ -0,0 +1,471 @@ +# vim:ft=yaml +# PEM encoded X509 certificate for TLS. +# You can replace the self-signed certificate that synapse +# autogenerates on launch with your own SSL certificate + key pair +# if you like. Any required intermediary certificates can be +# appended after the primary certificate in hierarchical order. +tls_certificate_path: "%%ETCDIR%%/example.com.tls.crt" + +# PEM encoded private key for TLS +tls_private_key_path: "%%ETCDIR%%/example.com.tls.key" + +# PEM dh parameters for ephemeral keys +tls_dh_params_path: "%%ETCDIR%%/example.com.tls.dh" + +# Don't bind to the https port +no_tls: False + +# List of allowed TLS fingerprints for this server to publish along +# with the signing keys for this server. Other matrix servers that +# make HTTPS requests to this server will check that the TLS +# certificates returned by this server match one of the fingerprints. +# +# Synapse automatically adds its the fingerprint of its own certificate +# to the list. So if federation traffic is handle directly by synapse +# then no modification to the list is required. +# +# If synapse is run behind a load balancer that handles the TLS then it +# will be necessary to add the fingerprints of the certificates used by +# the loadbalancers to this list if they are different to the one +# synapse is using. +# +# Homeservers are permitted to cache the list of TLS fingerprints +# returned in the key responses up to the "valid_until_ts" returned in +# key. It may be necessary to publish the fingerprints of a new +# certificate and wait until the "valid_until_ts" of the previous key +# responses have passed before deploying it. +tls_fingerprints: [] +# tls_fingerprints: [{"sha256": ""}] + + +## Server ## + +# The domain name of the server, with optional explicit port. +# This is used by remote servers to connect to this server, +# e.g. matrix.org, localhost:8080, etc. +# This is also the last part of your UserID. +server_name: "example.com" + +# When running as a daemon, the file to store the pid in +pid_file: %%PIDDIR%%/homeserver.pid + +# Whether to serve a web client from the HTTP/HTTPS root resource. +web_client: True + +# The public-facing base URL for the client API (not including _matrix/...) +# public_baseurl: https://example.com:8448/ + +# Set the soft limit on the number of file descriptors synapse can use +# Zero is used to indicate synapse should set the soft limit to the +# hard limit. +soft_file_limit: 0 + +# The GC threshold parameters to pass to `gc.set_threshold`, if defined +# gc_thresholds: [700, 10, 10] + +# List of ports that Synapse should listen on, their purpose and their +# configuration. +listeners: + # Main HTTPS listener + # For when matrix traffic is sent directly to synapse. + - + # The port to listen for HTTPS requests on. + port: 8448 + + # Local interface to listen on. + # The empty string will cause synapse to listen on all interfaces. + bind_address: '' + + # This is a 'http' listener, allows us to specify 'resources'. + type: http + + tls: true + + # Use the X-Forwarded-For (XFF) header as the client IP and not the + # actual client IP. + x_forwarded: false + + # List of HTTP resources to serve on this listener. + resources: + - + # List of resources to host on this listener. + names: + - client # The client-server APIs, both v1 and v2 + - webclient # The bundled webclient. + + # Should synapse compress HTTP responses to clients that support it? + # This should be disabled if running synapse behind a load balancer + # that can do automatic compression. + compress: true + + - names: [federation] # Federation APIs + compress: false + + # Unsecure HTTP listener, + # For when matrix traffic passes through loadbalancer that unwraps TLS. + - port: 8008 + tls: false + bind_address: '' + type: http + + x_forwarded: false + + resources: + - names: [client, webclient] + compress: true + - names: [federation] + compress: false + + # Turn on the twisted ssh manhole service on localhost on the given + # port. + # - port: 9000 + # bind_address: 127.0.0.1 + # type: manhole + + +# Database configuration +database: + # The database engine name + name: "sqlite3" + # Arguments to pass to the engine + args: + # Path to the database + database: "%%DBDIR%%/homeserver.db" + +# Number of events to cache in memory. +event_cache_size: "10K" + + + +# Logging verbosity level. +verbose: 0 + +# File to write logging to +log_file: "%%LOGDIR%%/homeserver.log" + +# A yaml python logging config file +log_config: "%%ETCDIR%%/log.config" + +# Stop twisted from discarding the stack traces of exceptions in +# deferreds by waiting a reactor tick before running a deferred's +# callbacks. +# full_twisted_stacktraces: true + + +## Ratelimiting ## + +# Number of messages a client can send per second +rc_messages_per_second: 0.2 + +# Number of message a client can send before being throttled +rc_message_burst_count: 10.0 + +# The federation window size in milliseconds +federation_rc_window_size: 1000 + +# The number of federation requests from a single server in a window +# before the server will delay processing the request. +federation_rc_sleep_limit: 10 + +# The duration in milliseconds to delay processing events from +# remote servers by if they go over the sleep limit. +federation_rc_sleep_delay: 500 + +# The maximum number of concurrent federation requests allowed +# from a single server +federation_rc_reject_limit: 50 + +# The number of federation requests to concurrently process from a +# single server +federation_rc_concurrent: 3 + + + +# Directory where uploaded images and attachments are stored. +media_store_path: "%%DBDIR%%/media_store" + +# Directory where in-progress uploads are stored. +uploads_path: "%%DBDIR%%/uploads" + +# The largest allowed upload size in bytes +max_upload_size: "10M" + +# Maximum number of pixels that will be thumbnailed +max_image_pixels: "32M" + +# Whether to generate new thumbnails on the fly to precisely match +# the resolution requested by the client. If true then whenever +# a new resolution is requested by the client the server will +# generate a new thumbnail. If false the server will pick a thumbnail +# from a precalculated list. +dynamic_thumbnails: false + +# List of thumbnail to precalculate when an image is uploaded. +thumbnail_sizes: +- width: 32 + height: 32 + method: crop +- width: 96 + height: 96 + method: crop +- width: 320 + height: 240 + method: scale +- width: 640 + height: 480 + method: scale +- width: 800 + height: 600 + method: scale + +# Is the preview URL API enabled? If enabled, you *must* specify +# an explicit url_preview_ip_range_blacklist of IPs that the spider is +# denied from accessing. +url_preview_enabled: False + +# List of IP address CIDR ranges that the URL preview spider is denied +# from accessing. There are no defaults: you must explicitly +# specify a list for URL previewing to work. You should specify any +# internal services in your network that you do not want synapse to try +# to connect to, otherwise anyone in any Matrix room could cause your +# synapse to issue arbitrary GET requests to your internal services, +# causing serious security issues. +# +# url_preview_ip_range_blacklist: +# - '127.0.0.0/8' +# - '10.0.0.0/8' +# - '172.16.0.0/12' +# - '192.168.0.0/16' +# - '100.64.0.0/10' +# - '169.254.0.0/16' +# +# List of IP address CIDR ranges that the URL preview spider is allowed +# to access even if they are specified in url_preview_ip_range_blacklist. +# This is useful for specifying exceptions to wide-ranging blacklisted +# target IP ranges - e.g. for enabling URL previews for a specific private +# website only visible in your network. +# +# url_preview_ip_range_whitelist: +# - '192.168.1.1' + +# Optional list of URL matches that the URL preview spider is +# denied from accessing. You should use url_preview_ip_range_blacklist +# in preference to this, otherwise someone could define a public DNS +# entry that points to a private IP address and circumvent the blacklist. +# This is more useful if you know there is an entire shape of URL that +# you know that will never want synapse to try to spider. +# +# Each list entry is a dictionary of url component attributes as returned +# by urlparse.urlsplit as applied to the absolute form of the URL. See +# https://docs.python.org/2/library/urlparse.html#urlparse.urlsplit +# The values of the dictionary are treated as an filename match pattern +# applied to that component of URLs, unless they start with a ^ in which +# case they are treated as a regular expression match. If all the +# specified component matches for a given list item succeed, the URL is +# blacklisted. +# +# url_preview_url_blacklist: +# # blacklist any URL with a username in its URI +# - username: '*' +# +# # blacklist all *.google.com URLs +# - netloc: 'google.com' +# - netloc: '*.google.com' +# +# # blacklist all plain HTTP URLs +# - scheme: 'http' +# +# # blacklist http(s)://www.acme.com/foo +# - netloc: 'www.acme.com' +# path: '/foo' +# +# # blacklist any URL with a literal IPv4 address +# - netloc: '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$' + +# The largest allowed URL preview spidering size in bytes +max_spider_size: "10M" + + + + +## Captcha ## +# See docs/CAPTCHA_SETUP for full details of configuring this. + +# This Home Server's ReCAPTCHA public key. +recaptcha_public_key: "YOUR_PUBLIC_KEY" + +# This Home Server's ReCAPTCHA private key. +recaptcha_private_key: "YOUR_PRIVATE_KEY" + +# Enables ReCaptcha checks when registering, preventing signup +# unless a captcha is answered. Requires a valid ReCaptcha +# public/private key. +enable_registration_captcha: False + +# A secret key used to bypass the captcha test entirely. +#captcha_bypass_secret: "YOUR_SECRET_HERE" + +# The API endpoint to use for verifying m.login.recaptcha responses. +recaptcha_siteverify_api: "https://www.google.com/recaptcha/api/siteverify" + + +## Turn ## + +# The public URIs of the TURN server to give to clients +turn_uris: [] + +# The shared secret used to compute passwords for the TURN server +turn_shared_secret: "YOUR_SHARED_SECRET" + +# How long generated TURN credentials last +turn_user_lifetime: "1h" + + +## Registration ## + +# Enable registration for new users. +enable_registration: False + +# If set, allows registration by anyone who also has the shared +# secret, even if registration is otherwise disabled. +registration_shared_secret: "CHANGEME_50CHAR_RANDOM" + +# Set the number of bcrypt rounds used to generate password hash. +# Larger numbers increase the work factor needed to generate the hash. +# The default number of rounds is 12. +bcrypt_rounds: 12 + +# Allows users to register as guests without a password/email/etc, and +# participate in rooms hosted on this server which have been made +# accessible to anonymous users. +allow_guest_access: False + +# The list of identity servers trusted to verify third party +# identifiers by this server. +trusted_third_party_id_servers: + - matrix.org + - vector.im + + +## Metrics ### + +# Enable collection and rendering of performance metrics +enable_metrics: False +report_stats: False + + +## API Configuration ## + +# A list of event types that will be included in the room_invite_state +room_invite_state_types: + - "m.room.join_rules" + - "m.room.canonical_alias" + - "m.room.avatar" + - "m.room.name" + + +# A list of application service config file to use +app_service_config_files: [] + + +macaroon_secret_key: "CHANGEME_50CHAR_RANDOM" + +# Used to enable access token expiration. +expire_access_token: False + +## Signing Keys ## + +# Path to the signing key to sign messages with +signing_key_path: "%%ETCDIR%%/example.com.signing.key" + +# The keys that the server used to sign messages with but won't use +# to sign new messages. E.g. it has lost its private key +old_signing_keys: {} +# "ed25519:auto": +# # Base64 encoded public key +# key: "The public part of your old signing key." +# # Millisecond POSIX timestamp when the key expired. +# expired_ts: 123456789123 + +# How long key response published by this server is valid for. +# Used to set the valid_until_ts in /key/v2 APIs. +# Determines how quickly servers will query to check which keys +# are still valid. +key_refresh_interval: "1d" # 1 Day. + +# The trusted servers to download signing keys from. +perspectives: + servers: + "matrix.org": + verify_keys: + "ed25519:auto": + key: "Noi6WqcDj0QmPxCNQqgezwTlBKrfqehY1u2FyWP9uYw" + + + +# Enable SAML2 for registration and login. Uses pysaml2 +# config_path: Path to the sp_conf.py configuration file +# idp_redirect_url: Identity provider URL which will redirect +# the user back to /login/saml2 with proper info. +# See pysaml2 docs for format of config. +#saml2_config: +# enabled: true +# config_path: "%%ETCDIR%%/sp_conf.py" +# idp_redirect_url: "http://example.com/idp" + + + +# Enable CAS for registration and login. +#cas_config: +# enabled: true +# server_url: "https://cas-server.com" +# service_url: "https://homesever.domain.com:8448" +# #required_attributes: +# # name: value + + +# The JWT needs to contain a globally unique "sub" (subject) claim. +# +# jwt_config: +# enabled: true +# secret: "a secret" +# algorithm: "HS256" + + + +# Enable password for login. +password_config: + enabled: true + # Uncomment and change to a secret random string for extra security. + # DO NOT CHANGE THIS AFTER INITIAL SETUP! + #pepper: "" + + + +# Enable sending emails for notification events +#email: +# enable_notifs: false +# smtp_host: "localhost" +# smtp_port: 25 +# notif_from: "Your Friendly %(app)s Home Server " +# app_name: Matrix +# template_dir: res/templates +# notif_template_html: notif_mail.html +# notif_template_text: notif_mail.txt +# notif_for_new_users: True + + +# password_providers: +# - module: "ldap_auth_provider.LdapAuthProvider" +# config: +# enabled: true +# uri: "ldap://ldap.example.com:389" +# start_tls: true +# base: "ou=users,dc=example,dc=com" +# attributes: +# uid: "cn" +# mail: "email" +# name: "givenName" +# #bind_dn: +# #bind_password: +# #filter: "(objectClass=posixAccount)" Property changes on: head/net/py-matrix-synapse/files/homeserver.yaml.in ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/net/py-matrix-synapse/files/log.config.in =================================================================== --- head/net/py-matrix-synapse/files/log.config.in (nonexistent) +++ head/net/py-matrix-synapse/files/log.config.in (revision 431780) @@ -0,0 +1,35 @@ + +version: 1 + +formatters: + precise: + format: '%(asctime)s - %(name)s - %(lineno)d - %(levelname)s - %(request)s- %(message)s' + +filters: + context: + (): synapse.util.logcontext.LoggingContextFilter + request: "" + +handlers: + file: + class: logging.handlers.RotatingFileHandler + formatter: precise + filename: %%LOGDIR%%/homeserver.log + maxBytes: 104857600 + backupCount: 10 + filters: [context] + level: INFO + console: + class: logging.StreamHandler + formatter: precise + +loggers: + synapse: + level: INFO + + synapse.storage.SQL: + level: INFO + +root: + level: INFO + handlers: [file, console] Property changes on: head/net/py-matrix-synapse/files/log.config.in ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/net/py-matrix-synapse/files/patch-synapse_python__dependencies.py =================================================================== --- head/net/py-matrix-synapse/files/patch-synapse_python__dependencies.py (nonexistent) +++ head/net/py-matrix-synapse/files/patch-synapse_python__dependencies.py (revision 431780) @@ -0,0 +1,11 @@ +--- synapse/python_dependencies.py.orig 2017-01-17 17:50:56 UTC ++++ synapse/python_dependencies.py +@@ -22,7 +22,7 @@ REQUIREMENTS = { + "unpaddedbase64>=1.1.0": ["unpaddedbase64>=1.1.0"], + "canonicaljson>=1.0.0": ["canonicaljson>=1.0.0"], + "signedjson>=1.0.0": ["signedjson>=1.0.0"], +- "pynacl==0.3.0": ["nacl==0.3.0", "nacl.bindings"], ++ "pynacl>=0.3.0": ["nacl>=0.3.0", "nacl.bindings"], + "service_identity>=1.0.0": ["service_identity>=1.0.0"], + "Twisted>=15.1.0": ["twisted>=15.1.0"], + "pyopenssl>=0.14": ["OpenSSL>=0.14"], Property changes on: head/net/py-matrix-synapse/files/patch-synapse_python__dependencies.py ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/net/py-matrix-synapse/files/pkg-message.in =================================================================== --- head/net/py-matrix-synapse/files/pkg-message.in (nonexistent) +++ head/net/py-matrix-synapse/files/pkg-message.in (revision 431780) @@ -0,0 +1,22 @@ +Configuring Synapse: + +You may use the sample config located at %%ETCDIR%% to get started. It +already is configured to find the configuration in that location and +places the database in %%DBDIR%% and the logs in %%LOGDIR%%, but there +are some crucial values you will need to populate with unique data: +registration_shared_secret and macaroon_secret_key. Both of these +by default are 50 character random strings. These are by default set to +CHANGEME_50CHAR_RANDOM in the sample homeserver.yaml. + +If you wish to have Synapse handle this for you including generation of +self-signed TLS certificates and dhparams you can use the following +command: + +%%PYTHON_CMD%% -B -m synapse.app.homeserver -c %%ETCDIR%%/homeserver.yaml --generate-config --server-name=example.com + +Please note that you will still need to manually configure paths to log +directory, database, and media storage with this method. + +It is also important that you deploy a TLS certificate that your +clients accept as valid or some functionality will fail to work +correctly (eg, media file retrieval). Property changes on: head/net/py-matrix-synapse/files/pkg-message.in ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/net/py-matrix-synapse/files/synapse.in =================================================================== --- head/net/py-matrix-synapse/files/synapse.in (nonexistent) +++ head/net/py-matrix-synapse/files/synapse.in (revision 431780) @@ -0,0 +1,56 @@ +#!/bin/sh +# +# Created by: Mark Felder +# $FreeBSD$ +# + +# PROVIDE: synapse +# REQUIRE: LOGIN postgresql +# KEYWORD: shutdown + +# +# Add the following line to /etc/rc.conf to enable `synapse': +# +# synapse_enable="YES" + +. /etc/rc.subr +name=synapse + +rcvar=synapse_enable +load_rc_config ${name} + +: ${synapse_enable:=NO} +: ${synapse_user:=%%USERS%%} +: ${synapse_conf:=%%ETCDIR%%/homeserver.yaml} +: ${synapse_dbdir:=%%DBDIR%%} +: ${synapse_logdir:=%%LOGDIR%%} +: ${synapse_pidfile:=%%PIDDIR%%/homeserver.pid} + +pidfile="${synapse_pidfile}" +procname=%%PYTHON_CMD%% +command=%%PYTHON_CMD%% +command_args="-m synapse.app.homeserver --daemonize -c ${synapse_conf}" +start_precmd=start_precmd + +start_precmd() +{ + if [ ! -d ${synapse_pidfile%/*} ] ; then + install -d -o %%USERS%% -g wheel ${synapse_pidfile%/*}; + fi + + if [ ! -d ${synapse_dbdir} ] ; then + install -d -o %%USERS%% -g wheel ${synapse_dbdir}; + fi + + if [ ! -d ${synapse_logdir} ] ; then + install -d -o %%USERS%% -g wheel ${synapse_logdir}; + fi + + if $(grep -q CHANGEME ${synapse_conf}) ; then + echo "Error: Default secret values in config." + echo "Please replace the CHANGEME values in ${synapse_conf}" + exit 1 + fi +} + +run_rc_command "$1" Property changes on: head/net/py-matrix-synapse/files/synapse.in ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property